+
+ for (timedbans::iterator i = expired.begin(); i != expired.end(); i++)
+ {
+ std::string chan = i->channel;
+ std::string mask = i->mask;
+ Channel* cr = ServerInstance->FindChan(chan);
+ if (cr)
+ {
+ CUList empty;
+ std::string expiry = "*** Timed ban on " + chan + " expired.";
+ cr->WriteAllExcept(ServerInstance->FakeClient, true, '@', empty, "NOTICE %s :%s", cr->name.c_str(), expiry.c_str());
+ ServerInstance->PI->SendChannelNotice(cr, '@', expiry);
+
+ Modes::ChangeList setban;
+ setban.push_remove(ServerInstance->Modes->FindMode('b', MODETYPE_CHANNEL), mask);
+ ServerInstance->Modes->Process(ServerInstance->FakeClient, cr, NULL, setban);
+ }
+ }