added support for independent "zero-bots" (bots without an own source file)
[NeonServV5.git] / src / cmd_global_bind.c
index 9b654364fb3f9124d0f650257fc187628926c413..4b5cc89c8d2cdb405f1166373df5bd1ad8b4ec91 100644 (file)
 CMD_BIND(global_cmd_bind) {
     MYSQL_RES *res;
     MYSQL_ROW row;
-    printf_mysql_query("SELECT `function` FROM `bot_binds` WHERE `botclass` = '%d' AND `command` = '%s'", client->botid, escape_string(argv[0]));
+    if(client->botid == 0)
+        printf_mysql_query("SELECT `function` FROM `bot_binds` WHERE `botclass` = '%d' AND `botid` = '%d' AND `command` = '%s'", client->botid, client->clientid, escape_string(argv[0]));
+    else
+        printf_mysql_query("SELECT `function` FROM `bot_binds` WHERE `botclass` = '%d' AND `command` = '%s'", client->botid, escape_string(argv[0]));
     res = mysql_use();
     if ((row = mysql_fetch_row(res)) != NULL) {
         reply(getTextBot(), user, "NS_BIND_ALREADY", argv[0], row[0]);
@@ -42,10 +45,10 @@ CMD_BIND(global_cmd_bind) {
         reply(getTextBot(), user, "NS_BIND_UNKNOWN", argv[1]);
         return;
     }
-    bind_cmd_to_function(client->botid, argv[0], function);
-    printf_mysql_query("INSERT INTO `bot_binds` (`botclass`, `command`, `function`, `parameters`) VALUES ('%d', '%s', '%s', '%s')", client->botid, escape_string(argv[0]), escape_string(function->name), params);
+    bind_botwise_cmd_to_function(client->botid, client->clientid, argv[0], function);
+    printf_mysql_query("INSERT INTO `bot_binds` (`botclass`, `botid`, `command`, `function`, `parameters`) VALUES ('%d', '%d', '%s', '%s', '%s')", client->botid, (client->botid == 0 ? client->clientid : 0), escape_string(argv[0]), escape_string(argv[1]), params);
     if(*params)
-        bind_set_parameters(client->botid, argv[0], params);
+        bind_botwise_set_parameters(client->botid, client->clientid, argv[0], params);
     reply(getTextBot(), user, "NS_BIND_DONE", argv[0], function->name);
     logEvent(event);
 }