X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/c6fa55060c42f9cb2e788ddd3d0e774b945113a0..4b4fc78cfba459be6bd20cbaafff3f0606ae4116:/modules/m_topic.c diff --git a/modules/m_topic.c b/modules/m_topic.c index cddf5f9..6b77805 100644 --- a/modules/m_topic.c +++ b/modules/m_topic.c @@ -116,12 +116,17 @@ m_topic(struct Client *client_p, struct Client *source_p, int parc, const char * return 0; } - if(MyClient(source_p) && (chptr->mode.mode & MODE_TOPICLIMIT) && !is_chanop(msptr)) + if(MyClient(source_p) && (chptr->mode.mode & MODE_TOPICLIMIT) && !is_any_op(msptr) && !can_send(chptr, source_p, msptr)) { if(IsOverride(source_p)) - sendto_realops_snomask(SNO_GENERAL, L_NETWIDE, + { + sendto_wallops_flags(UMODE_WALLOP, &me, "%s is overriding TOPIC on [%s]", get_oper_name(source_p), chptr->chname); + sendto_server(NULL, chptr, NOCAPS, NOCAPS, + ":%s WALLOPS :%s is overriding TOPIC on [%s]", + me.name, get_oper_name(source_p), chptr->chname); + } else { sendto_one(source_p, form_str(ERR_CHANOPRIVSNEEDED),