From: ThiefMaster Date: Fri, 8 Jan 2010 21:08:50 +0000 (+0100) Subject: Send helpserv notifications only to one helper client; preferably the one in the... X-Git-Url: http://git.pk910.de/?a=commitdiff_plain;h=de90bfdf1c76d36e9b329e7e4958eadada49fb20;p=srvx.git Send helpserv notifications only to one helper client; preferably the one in the channel. --- diff --git a/src/mod-helpserv.c b/src/mod-helpserv.c index ed4db97..0219e7f 100644 --- a/src/mod-helpserv.c +++ b/src/mod-helpserv.c @@ -630,7 +630,10 @@ static HELPSERV_FUNC(cmd_help); /* For messages going to helpers */ # define helpserv_notice(target, ARGS...) send_message((target), (from_opserv ? opserv : hs->helpserv), ARGS) # define helpserv_notify(helper, ARGS...) do { struct userNode *_target; for (_target = (helper)->handle->users; _target; _target = _target->next_authed) { \ - send_message(_target, (helper)->hs->helpserv, ARGS); \ + if(!_target->next_authed || GetUserMode(helper->hs->helpchan, _target)) {\ + send_message(_target, (helper)->hs->helpserv, ARGS); \ + break; \ + } \ } } while (0) # define helpserv_page(TYPE, ARGS...) do { \ int msg_type=0; struct chanNode *target=helpserv_get_page_type(hs, (TYPE), &msg_type); \ @@ -642,7 +645,10 @@ static HELPSERV_FUNC(cmd_help); /* For messages going to helpers */ # define helpserv_notice(target, ...) send_message((target), (from_opserv ? opserv : hs->helpserv), __VA_ARGS__) # define helpserv_notify(helper, ...) do { struct userNode *_target; for (_target = (helper)->handle->users; _target; _target = _target->next_authed) { \ - send_message(_target, (helper)->hs->helpserv, __VA_ARGS__); \ + if(!_target->next_authed || GetUserMode(helper->hs->helpchan, _target)) {\ + send_message(_target, (helper)->hs->helpserv, __VA_ARGS__); \ + break; \ + } \ } } while (0) # define helpserv_page(TYPE, ...) do { \ int msg_type=0; struct chanNode *target=helpserv_get_page_type(hs, (TYPE), &msg_type); \