diff options
author | Test_User <hax@andrewyu.org> | 2023-08-08 03:25:57 -0400 |
---|---|---|
committer | Test_User <hax@andrewyu.org> | 2023-08-08 03:25:57 -0400 |
commit | c660db6c36ce50e2aa1c3ec99cb62d9aaf3c0102 (patch) | |
tree | 5a3ea9c5697b149d1f4fec1f50b51913aeff928e /general_network.c | |
parent | fdf8e0a8f2561bd53dbfa65b5716ea916d5871b7 (diff) | |
download | c_coupserv-c660db6c36ce50e2aa1c3ec99cb62d9aaf3c0102.tar.gz c_coupserv-c660db6c36ce50e2aa1c3ec99cb62d9aaf3c0102.zip |
User lists for channels and such
Diffstat (limited to 'general_network.c')
-rw-r--r-- | general_network.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/general_network.c b/general_network.c index 63d3d7d..9da36ce 100644 --- a/general_network.c +++ b/general_network.c @@ -27,11 +27,60 @@ // OTHER DEALINGS IN THE SOFTWARE. #include <string.h> +#include <limits.h> #include "network.h" #include "tls.h" #include "config.h" +char channel_mode_types[UCHAR_MAX] = { + ['v'] = MODE_TYPE_USERS, + ['h'] = MODE_TYPE_USERS, + ['o'] = MODE_TYPE_USERS, + ['a'] = MODE_TYPE_USERS, + ['q'] = MODE_TYPE_USERS, + ['b'] = MODE_TYPE_MULTIPLE, + ['e'] = MODE_TYPE_MULTIPLE, + ['I'] = MODE_TYPE_MULTIPLE, + ['c'] = MODE_TYPE_NOARGS, + ['d'] = MODE_TYPE_REPLACE, + ['f'] = MODE_TYPE_REPLACE, + ['g'] = MODE_TYPE_MULTIPLE, + ['i'] = MODE_TYPE_NOARGS, + ['j'] = MODE_TYPE_REPLACE, + ['k'] = MODE_TYPE_REPLACE, + ['l'] = MODE_TYPE_REPLACE, + ['m'] = MODE_TYPE_NOARGS, + ['n'] = MODE_TYPE_NOARGS, + ['p'] = MODE_TYPE_NOARGS, + ['r'] = MODE_TYPE_NOARGS, + ['s'] = MODE_TYPE_NOARGS, + ['t'] = MODE_TYPE_NOARGS, + ['u'] = MODE_TYPE_NOARGS, + ['w'] = MODE_TYPE_MULTIPLE, + ['z'] = MODE_TYPE_NOARGS, + ['A'] = MODE_TYPE_NOARGS, + ['B'] = MODE_TYPE_NOARGS, + ['C'] = MODE_TYPE_NOARGS, + ['D'] = MODE_TYPE_NOARGS, + ['E'] = MODE_TYPE_REPLACE, + ['F'] = MODE_TYPE_REPLACE, + ['G'] = MODE_TYPE_NOARGS, + ['H'] = MODE_TYPE_REPLACE, + ['J'] = MODE_TYPE_REPLACE, + ['K'] = MODE_TYPE_NOARGS, + ['L'] = MODE_TYPE_REPLACE, + ['M'] = MODE_TYPE_NOARGS, + ['N'] = MODE_TYPE_NOARGS, + ['O'] = MODE_TYPE_NOARGS, + ['P'] = MODE_TYPE_NOARGS, + ['Q'] = MODE_TYPE_NOARGS, + ['R'] = MODE_TYPE_NOARGS, + ['S'] = MODE_TYPE_NOARGS, + ['T'] = MODE_TYPE_NOARGS, + ['X'] = MODE_TYPE_MULTIPLE, +}; + int PRIVMSG(struct string source, struct string target, struct string message) { if (!(target.len == 9 && memcmp(target.data, "1HC000001", 9) == 0)) { // if not sending to our one local user if (source.len != 0) { |