]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/mod-snoop.c
Added new event hooks system and started migrating events to new system
[irc/evilnet/x3.git] / src / mod-snoop.c
index 15b57201071e188205cef274750cefe81f508346..4eb39694e12e7a28158bc0da1b966aa573e7db6a 100644 (file)
@@ -286,15 +286,16 @@ snoop_channel_mode(struct userNode *who, struct chanNode *channel, char **modes,
 static void
 snoop_conf_read(void) {
     dict_t node;
-    char *str;
+    char *str, *modes;
 
     node = conf_get_data("modules/snoop", RECDB_OBJECT);
     if (!node)
         return;
     str = database_get_data(node, "channel", RECDB_QSTRING);
+    modes = database_get_data(node, "channel_modes", RECDB_QSTRING);
     if (!str)
         return;
-    snoop_cfg.channel = AddChannel(str, now, "+sntim", NULL, NULL);
+    snoop_cfg.channel = AddChannel(str, now, (modes ? modes : "+sntim"), NULL, NULL);
     if (!snoop_cfg.channel)
         return;
     str = database_get_data(node, "show_bursts", RECDB_QSTRING);
@@ -315,10 +316,10 @@ snoop_init(void) {
     reg_exit_func(snoop_cleanup, NULL);
     conf_register_reload(snoop_conf_read);
     reg_nick_change_func(snoop_nick_change, NULL);
-    reg_join_func(snoop_join, NULL);
+    reg_join_func_pos(snoop_join, NULL, EH_ADD_HEAD);
     reg_part_func(snoop_part, NULL);
     reg_kick_func(snoop_kick, NULL);
-    reg_new_user_func(snoop_new_user, NULL);
+    reg_new_user_func_pos(snoop_new_user, NULL, EH_ADD_HEAD);
     reg_del_user_func(snoop_del_user, NULL);
     reg_auth_func(snoop_auth, NULL);
     reg_channel_mode_func(snoop_channel_mode, NULL);