X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/d925c36c4e3a9bcf1c03956194ea26213e77ba3f..8097430a810ac1535fe5304f74991b16ff58b064:/extensions/m_okick.c diff --git a/extensions/m_okick.c b/extensions/m_okick.c index 2a47a2d..c09c42a 100644 --- a/extensions/m_okick.c +++ b/extensions/m_okick.c @@ -68,6 +68,7 @@ mo_okick(struct Client *client_p, struct Client *source_p, int parc, const char char *name; char *p = NULL; char *user; + char *text = rb_strdup(""); static char buf[BUFSIZE]; if(*parv[2] == '\0') @@ -136,8 +137,11 @@ mo_okick(struct Client *client_p, struct Client *source_p, int parc, const char sendto_server(&me, chptr, CAP_TS6, NOCAPS, ":%s KICK %s %s :%s", me.id, chptr->chname, who->id, comment); remove_user_from_channel(msptr); + + rb_sprintf(text, "K%s", who->id); + /* we don't need to track NOREJOIN stuff unless it's our client being kicked */ - if(MyClient(source_p) && chptr->mode.mode & MODE_NOREJOIN) - channel_metadata_time_add(chptr, text, rb_current_time()); + if(MyClient(who) && chptr->mode.mode & MODE_NOREJOIN) + channel_metadata_time_add(chptr, text, rb_current_time(), "KICKNOREJOIN"); return 0; }