Bug fixes and cleanups
[srvx.git] / src / opserv.c
index 8c2a356d91cee7a3b5e8203c217f65b93be08014..22f6d8697049cd96113107691ce29a7a2a6e0528 100644 (file)
@@ -160,6 +160,7 @@ static const struct message_entry msgtab[] = {
     { "OSMSG_RAW_PARSE_ERROR", "Error parsing raw line (not dumping to uplink)." },
     { "OSMSG_COLLIDED_NICK", "Now temporarily holding nick $b%s$b." },
     { "OSMSG_RESERVED_NICK", "Now reserving nick $b%s$b." },
+    { "OSMSG_NICK_UNRESERVED", "Nick $b%s$b is no longer reserve." },
     { "OSMSG_NOT_RESERVED", "Nick $b%s$b is not reserved." },
     { "OSMSG_ILLEGAL_REASON", "This channel is illegal." },
     { "OSMSG_ILLEGAL_KILL_REASON", "Joined an illegal modeless channel - do not repeat." },
@@ -240,7 +241,7 @@ static const struct message_entry msgtab[] = {
     { "OSMSG_CHANINFO_TOPIC_UNKNOWN", "Topic: (none / not gathered)" },
     { "OSMSG_CHANINFO_BAN_COUNT", "Bans (%d):" },
     { "OSMSG_CHANINFO_BAN", "%%s by %%s (%a %b %d %H:%M:%S %Y)" },
-    { "OSMSG_CHANINFO_MANY_USERS", "%d users (\"/msg $s %s %s users\" for the list)" },
+    { "OSMSG_CHANINFO_MANY_USERS", "%d users (\"/msg $S %s %s users\" for the list)" },
     { "OSMSG_CHANINFO_USER_COUNT", "Users (%d):" },
     { "OSMSG_CSEARCH_CHANNEL_INFO", "%s [%d users] %s %s" },
     { NULL, NULL }
@@ -442,7 +443,7 @@ static MODCMD_FUNC(cmd_chaninfo)
        for (n = 0; n < channel->banlist.used; n++) {
            ban = channel->banlist.list[n];
            strftime(buffer, sizeof(buffer), fmt, localtime(&ban->set));
-           reply(buffer, ban->ban, ban->who);
+           send_message_type(4, user, cmd->parent->bot, buffer, ban->ban, ban->who);
        }
     }
     if ((argc < 2) && (channel->members.used >= 50)) {
@@ -1039,7 +1040,7 @@ static MODCMD_FUNC(cmd_kickbanall)
         change->args[1].mode = MODE_BAN;
         change->args[1].hostmask = "*!*@*";
     } else {
-        change = mod_chanmode_alloc(2);
+        change = mod_chanmode_alloc(1);
         change->args[0].mode = MODE_BAN;
         change->args[0].hostmask = "*!*@*";
     }
@@ -1875,7 +1876,7 @@ opserv_join_check(struct modeNode *mNode)
                 change.modes_set |= MODE_MODERATED;
             if (change.modes_set || change.argc)
                 mod_chanmode_announce(opserv, channel, &change);
-            send_channel_notice(channel, opserv, "OSMSG_FLOOD_MODERATE");
+            send_target_message(0, channel->name, opserv, "OSMSG_FLOOD_MODERATE");
             opserv_alert("Warning: Possible join flood in %s (currently %d users; channel moderated).", channel->name, channel->members.used);
         } else {
             opserv_alert("Warning: Possible join flood in %s (currently %d users).", channel->name, channel->members.used);
@@ -2358,9 +2359,9 @@ opserv_define_func(const char *name, modcmd_func_t *func, int min_level, int req
     case 2: iflags = MODCMD_REQUIRE_CHANNEL; break;
     }
     if (flags) {
-        return modcmd_register(opserv_module, name, func, min_argc, iflags, "level", buf, "flags", flags, NULL);
+        return modcmd_register(opserv_module, name, func, min_argc, iflags, "level", buf, "flags", flags, "flags", "+oper", NULL);
     } else {
-        return modcmd_register(opserv_module, name, func, min_argc, iflags, "level", buf, NULL);
+        return modcmd_register(opserv_module, name, func, min_argc, iflags, "level", buf, "flags", "+oper", NULL);
     }
 }