void OnUserKicked(const MessageSource &source, User *target, const Anope::string &channel, ChannelStatus &status, const Anope::string &kickmsg) override { ServiceBot *bi = ServiceBot::Find(target->GetUID()); if (bi) /* Bots get rejoined */ bi->Join(channel, &status); }
void SendTopic(const MessageSource &source, Channel *c) override { ServiceBot *bi = source.GetBot(); bool needjoin = c->FindUser(bi) == NULL; if (needjoin) { ChannelStatus status; status.AddMode('o'); bi->Join(c, &status); } IRCDProto::SendTopic(source, c); if (needjoin) bi->Part(c); }