completed cmd_adduser and added CMDFLAG_REGISTERED_CHAN flag
[NeonServV5.git] / modcmd.c
index bde88d19991210699d67513d9aadb46d038afb3f..9273f0265b999b010435b3bc64da26c8824266dd 100644 (file)
--- a/modcmd.c
+++ b/modcmd.c
@@ -198,6 +198,22 @@ static void handle_command(struct ClientSocket *client, struct UserNode *user, s
                 reply(tmp_text_client, user, "MODCMD_CHAN_REQUIRED");
                 break;
             }
+            if((cbind->func->flags & CMDFLAG_REGISTERED_CHAN)) {
+                load_channel_settings(chan);
+                if(!(chan->flags & CHANFLAG_CHAN_REGISTERED)) {
+                    reply(tmp_text_client, user, "MODCMD_CHAN_REQUIRED");
+                    break;
+                }
+                check_mysql();
+                MYSQL_RES *res;
+                MYSQL_ROW row;
+                printf_mysql_query("SELECT `botid` FROM `bot_channels` LEFT JOIN `bots` ON `bot_channels`.`botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chan->channel_id, client->botid);
+                res = mysql_use();
+                if ((row = mysql_fetch_row(res)) == NULL) {
+                    reply(tmp_text_client, user, "MODCMD_CHAN_REQUIRED");
+                    break;
+                }
+            }
             if((cbind->func->flags & CMDFLAG_CHECK_AUTH) && !(user->flags & USERFLAG_ISAUTHED)) {
                 //check auth...
                 struct command_check_user_cache *data = malloc(sizeof(*data));