diff options
-rw-r--r-- | include/channels.h | 27 | ||||
-rw-r--r-- | include/modules.h | 4 |
2 files changed, 27 insertions, 4 deletions
diff --git a/include/channels.h b/include/channels.h index 70e5c2233..e382b73e1 100644 --- a/include/channels.h +++ b/include/channels.h @@ -395,7 +395,7 @@ class chanrec : public Extensible /** Write to a channel, from a server, using va_args for text * @param ServName Server name to prefix the line with - * @param text A printf-style format string which builds the output line without prefi + * @param text A printf-style format string which builds the output line without prefix * @param ... Zero or more POD type */ void WriteChannelWithServ(const char* ServName, const char* text, ...); @@ -406,19 +406,30 @@ class chanrec : public Extensible */ void WriteChannelWithServ(const char* ServName, const std::string &text); - /** Write to all users on a channel except a specific user, using va_args for text + /** Write to all users on a channel except a specific user, using va_args for text. + * Internally, this calls WriteAllExcept(). * @param user User whos details to prefix the line with, and to omit from receipt of the message * @param serversource If this parameter is true, use the local server name as the source of the text, otherwise, * use the nick!user@host of the user. * @param status The status of the users to write to, e.g. '@' or '%'. Use a value of 0 to write to everyone - * @param text A printf-style format string which builds the output line without prefi + * @param text A printf-style format string which builds the output line without prefix * @param ... Zero or more POD type */ void WriteAllExceptSender(userrec* user, bool serversource, char status, char* text, ...); + /** Write to all users on a channel except a list of users, using va_args for text + * @param user User whos details to prefix the line with, and to omit from receipt of the message + * @param serversource If this parameter is true, use the local server name as the source of the text, otherwise, + * use the nick!user@host of the user. + * @param status The status of the users to write to, e.g. '@' or '%'. Use a value of 0 to write to everyone + * @param except_list A list of users NOT to send the text to + * @param text A printf-style format string which builds the output line without prefix + * @param ... Zero or more POD type + */ void WriteAllExcept(userrec* user, bool serversource, char status, CUList &except_list, char* text, ...); - /** Write to all users on a channel except a specific user, using std::string for text + /** Write to all users on a channel except a specific user, using std::string for text. + * Internally, this calls WriteAllExcept(). * @param user User whos details to prefix the line with, and to omit from receipt of the message * @param serversource If this parameter is true, use the local server name as the source of the text, otherwise, * use the nick!user@host of the user. @@ -427,6 +438,14 @@ class chanrec : public Extensible */ void WriteAllExceptSender(userrec* user, bool serversource, char status, const std::string& text); + /** Write to all users on a channel except a list of users, using std::string for text + * @param user User whos details to prefix the line with, and to omit from receipt of the message + * @param serversource If this parameter is true, use the local server name as the source of the text, otherwise, + * use the nick!user@host of the user. + * @param status The status of the users to write to, e.g. '@' or '%'. Use a value of 0 to write to everyone + * @param except_list A list of users NOT to send the text to + * @param text A std::string containing the output line without prefix + */ void WriteAllExcept(userrec* user, bool serversource, char status, CUList &except_list, const std::string& text); /** Returns the maximum number of bans allowed to be set on this channel diff --git a/include/modules.h b/include/modules.h index 57fbc03b6..deb7dcf22 100644 --- a/include/modules.h +++ b/include/modules.h @@ -611,6 +611,8 @@ class Module : public Extensible * @param target_type The type of target (TYPE_USER or TYPE_CHANNEL) * @param text Changeable text being sent by the user * @param status The status being used, e.g. PRIVMSG @#chan has status== '@', 0 to send to everyone. + * @param exempt_list A list of users not to send to. For channel messages, this will usually contain just the sender. + * It will be ignored for private messages. * @return 1 to deny the NOTICE, 0 to allow it */ virtual int OnUserPreMessage(userrec* user,void* dest,int target_type, std::string &text,char status, CUList &exempt_list); @@ -630,6 +632,8 @@ class Module : public Extensible * @param target_type The type of target (TYPE_USER or TYPE_CHANNEL) * @param text Changeable text being sent by the user * @param status The status being used, e.g. PRIVMSG @#chan has status== '@', 0 to send to everyone. + * @param exempt_list A list of users not to send to. For channel notices, this will usually contain just the sender. + * It will be ignored for private notices. * @return 1 to deny the NOTICE, 0 to allow it */ virtual int OnUserPreNotice(userrec* user,void* dest,int target_type, std::string &text,char status, CUList &exempt_list); |