CMD_BIND(global_cmd_unbind) {
MYSQL_RES *res;
MYSQL_ROW row;
- struct cmd_binding *cbind = find_cmd_binding(client->botid, argv[0]);
- printf_mysql_query("SELECT `function` FROM `bot_binds` WHERE `botclass` = '%d' AND `command` = '%s'", client->botid, escape_string(argv[0]));
+ struct cmd_binding *cbind = find_botwise_cmd_binding(client->botid, client->clientid, argv[0]);
+ if(client->botid == 0)
+ printf_mysql_query("SELECT `id`, `function` FROM `bot_binds` WHERE `botclass` = '0' AND `botid` = '%d' AND `command` = '%s'", client->clientid, escape_string(argv[0]));
+ else
+ printf_mysql_query("SELECT `id`, `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 && (!cbind || !(cbind->flags & CMDFLAG_TEMPONARY_BIND))) {
reply(getTextBot(), user, "NS_UNBIND_NOT_FOUND", argv[0]);
return;
}
- struct cmd_function *function = find_cmd_function(client->botid, row[0]);
+ struct cmd_function *function = find_cmd_function(client->botid, row[1]);
if(function && (function->flags & CMDFLAG_REQUIRED)) {
- printf_mysql_query("SELECT `id` FROM `bot_binds` WHERE `botclass` = '%d' AND `function` = '%s'", client->botid, escape_string(function->name));
+ if(client->botid == 0)
+ printf_mysql_query("SELECT `id` FROM `bot_binds` WHERE `botclass` = '0' AND `botid` = '%d' AND `function` = '%s'", client->clientid, escape_string(function->name));
+ else
+ printf_mysql_query("SELECT `id` FROM `bot_binds` WHERE `botclass` = '%d' AND `function` = '%s'", client->botid, escape_string(function->name));
res = mysql_use();
if (mysql_num_rows(res) <= 1) {
reply(getTextBot(), user, "NS_UNBIND_REQUIRED", function->name);
return;
}
}
- unbind_cmd(client->botid, argv[0]);
- if((!cbind || !(cbind->flags & CMDFLAG_TEMPONARY_BIND)))
+ unbind_botwise_cmd(client->botid, client->clientid, argv[0]);
+ if(!cbind || !(cbind->flags & CMDFLAG_TEMPONARY_BIND))
printf_mysql_query("DELETE FROM `bot_binds` WHERE `id` = '%s'", row[0]);
reply(getTextBot(), user, "NS_UNBIND_DONE", argv[0]);
logEvent(event);