|
@@ -719,15 +719,21 @@ got_deop(struct chanset_t *chan, memberlist *m, memberlist *mv, char *isserver)
|
|
|
/* need: op */
|
|
/* need: op */
|
|
|
if (!m)
|
|
if (!m)
|
|
|
putlog(LOG_MODES, chan->dname, "TS resync deopped me on %s :(", chan->dname);
|
|
putlog(LOG_MODES, chan->dname, "TS resync deopped me on %s :(", chan->dname);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // Revenge kick clients that deop our bots
|
|
|
|
|
+ if (chan->revenge && m && mv->user->bot) {
|
|
|
|
|
+ if (role < 5 && !chan_sentkick(m) && me_op(chan)) {
|
|
|
|
|
+ m->flags |= SENTKICK;
|
|
|
|
|
+ dprintf(DP_MODE_NEXT, "KICK %s %s :%s%s\r\n", chan->name, m->nick, kickprefix, response(RES_REVENGE));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (m->user) {
|
|
|
|
|
+ char tmp[128] = "";
|
|
|
|
|
+ simple_snprintf(tmp, sizeof(tmp), "Deopped bot %s on %s", m->nick, chan->dname);
|
|
|
|
|
+ deflag_user(m->user, DEFLAG_EVENT_REVENGE_DEOP, tmp, chan);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
-#ifdef revenge
|
|
|
|
|
- if (m) {
|
|
|
|
|
- char s[UHOSTLEN] = "";
|
|
|
|
|
-
|
|
|
|
|
- simple_snprintf(s, sizeof(s), "%s!%s", mv->nick, mv->userhost);
|
|
|
|
|
-// maybe_revenge(chan, s1, s, REVENGE_DEOP);
|
|
|
|
|
- }
|
|
|
|
|
-#endif
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
static void
|