X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/18757dc0abae6c3e92027135b110b3cc8c0a6d80..537128ea365c31c2a11778c476d51a6f4402df78:/src/helpfile.c diff --git a/src/helpfile.c b/src/helpfile.c index 37a51e1..8e862bc 100644 --- a/src/helpfile.c +++ b/src/helpfile.c @@ -308,10 +308,18 @@ table_send(struct userNode *from, const char *to, unsigned int size, irc_send_fu if (irc_send) {} /* use that function */ - else if (hi) + else if(IsChannelName(to)) { + irc_send = irc_privmsg; + } + else if (message_dest->no_notice) { + irc_send = irc_privmsg; + } + else if (hi) { irc_send = HANDLE_FLAGGED(hi, USE_PRIVMSG) ? irc_privmsg : irc_notice; - else - irc_send = IsChannelName(to) ? irc_privmsg : irc_notice; + } + else { + irc_send = irc_notice; + } /* Limit size to how much we can show at once */ if (size > sizeof(line)) @@ -381,9 +389,13 @@ table_send(struct userNode *from, const char *to, unsigned int size, irc_send_fu /* Send the table. */ for (jj=0, pos=0, reps=0; iino_notice) + irc_send = irc_privmsg; + else + irc_send = irc_notice; break; case 2: irc_send = irc_wallchops; @@ -582,6 +600,15 @@ vsend_message(const char *dest, struct userNode *src, struct handle_info *handle case 'H': value = handle ? handle->handle : "Account"; break; + case '!': /* Command Char for chanserv */ + if(!trigger) + trigger = calloc(sizeof(*trigger), 2); + if(chanserv && (service = service_find(chanserv->nick))) + trigger[0] = service->trigger; + else + trigger[0] = '!'; + value = trigger; + break; #define SEND_LINE(TRUNCED) do { \ line[pos] = 0; \ if (pos > 0) { \