From de5f0224c8b119f1be15457262bd6e66f160657f Mon Sep 17 00:00:00 2001 From: pk910 Date: Tue, 24 Jul 2012 12:44:08 +0200 Subject: [PATCH] removed getTextBot() function and added textbot parameter to the CMD_BIND header: muti-thread compatibility --- src/modcmd.c | 56 +++--- src/modcmd.h | 5 +- src/module_commands.c | 16 +- src/modules.c | 2 +- src/modules/NeonFun.mod/cmd_neonfun_4stone.c | 6 +- src/modules/NeonFun.mod/cmd_neonfun_4view.c | 10 +- src/modules/NeonFun.mod/cmd_neonfun_4wins.c | 14 +- src/modules/NeonFun.mod/cmd_neonfun_uno.c | 6 +- src/modules/NeonFun.mod/cmd_neonfun_unoplay.c | 2 +- src/modules/NeonFun.mod/cmd_neonfun_unotake.c | 2 +- .../NeonHelp.mod/cmd_neonhelp_delete.c | 8 +- src/modules/NeonHelp.mod/cmd_neonhelp_next.c | 10 +- .../NeonHelp.mod/cmd_neonhelp_requests.c | 6 +- src/modules/NeonHelp.mod/cmd_neonhelp_stats.c | 6 +- .../NeonServ.mod/cmd_neonserv_access.c | 12 +- .../NeonServ.mod/cmd_neonserv_addban.c | 2 +- .../NeonServ.mod/cmd_neonserv_addrank.c | 4 +- .../NeonServ.mod/cmd_neonserv_addtimeban.c | 4 +- .../NeonServ.mod/cmd_neonserv_adduser.c | 14 +- .../NeonServ.mod/cmd_neonserv_assignrank.c | 12 +- src/modules/NeonServ.mod/cmd_neonserv_ban.c | 6 +- src/modules/NeonServ.mod/cmd_neonserv_bans.c | 6 +- .../NeonServ.mod/cmd_neonserv_chanservsync.c | 10 +- src/modules/NeonServ.mod/cmd_neonserv_clvl.c | 12 +- .../NeonServ.mod/cmd_neonserv_csuspend.c | 10 +- .../NeonServ.mod/cmd_neonserv_cunsuspend.c | 10 +- .../NeonServ.mod/cmd_neonserv_dehalfop.c | 2 +- .../NeonServ.mod/cmd_neonserv_dehalfopall.c | 4 +- .../NeonServ.mod/cmd_neonserv_delban.c | 4 +- src/modules/NeonServ.mod/cmd_neonserv_delme.c | 8 +- .../NeonServ.mod/cmd_neonserv_delrank.c | 4 +- .../NeonServ.mod/cmd_neonserv_deluser.c | 8 +- src/modules/NeonServ.mod/cmd_neonserv_deop.c | 2 +- .../NeonServ.mod/cmd_neonserv_deopall.c | 4 +- .../NeonServ.mod/cmd_neonserv_devoice.c | 6 +- .../NeonServ.mod/cmd_neonserv_devoiceall.c | 2 +- src/modules/NeonServ.mod/cmd_neonserv_down.c | 4 +- .../NeonServ.mod/cmd_neonserv_events.c | 6 +- .../NeonServ.mod/cmd_neonserv_giveowner.c | 14 +- .../NeonServ.mod/cmd_neonserv_halfop.c | 2 +- .../NeonServ.mod/cmd_neonserv_halfopall.c | 2 +- src/modules/NeonServ.mod/cmd_neonserv_help.c | 6 +- src/modules/NeonServ.mod/cmd_neonserv_info.c | 8 +- .../NeonServ.mod/cmd_neonserv_invite.c | 10 +- .../NeonServ.mod/cmd_neonserv_inviteme.c | 4 +- src/modules/NeonServ.mod/cmd_neonserv_kick.c | 6 +- .../NeonServ.mod/cmd_neonserv_kickban.c | 6 +- .../NeonServ.mod/cmd_neonserv_listrank.c | 8 +- .../NeonServ.mod/cmd_neonserv_mdeluser.c | 6 +- src/modules/NeonServ.mod/cmd_neonserv_mode.c | 2 +- .../NeonServ.mod/cmd_neonserv_myaccess.c | 12 +- .../NeonServ.mod/cmd_neonserv_nicklist.c | 6 +- .../NeonServ.mod/cmd_neonserv_noregister.c | 28 +-- src/modules/NeonServ.mod/cmd_neonserv_op.c | 2 +- src/modules/NeonServ.mod/cmd_neonserv_opall.c | 4 +- src/modules/NeonServ.mod/cmd_neonserv_oplog.c | 6 +- src/modules/NeonServ.mod/cmd_neonserv_peek.c | 2 +- .../NeonServ.mod/cmd_neonserv_recover.c | 12 +- .../NeonServ.mod/cmd_neonserv_rename.c | 2 +- .../NeonServ.mod/cmd_neonserv_resync.c | 2 +- .../NeonServ.mod/cmd_neonserv_search.c | 12 +- src/modules/NeonServ.mod/cmd_neonserv_set.c | 82 ++++---- .../NeonServ.mod/cmd_neonserv_setrank.c | 52 ++--- .../NeonServ.mod/cmd_neonserv_suspend.c | 8 +- src/modules/NeonServ.mod/cmd_neonserv_topic.c | 12 +- src/modules/NeonServ.mod/cmd_neonserv_trace.c | 10 +- src/modules/NeonServ.mod/cmd_neonserv_trim.c | 16 +- src/modules/NeonServ.mod/cmd_neonserv_unban.c | 2 +- .../NeonServ.mod/cmd_neonserv_unbanall.c | 4 +- .../NeonServ.mod/cmd_neonserv_unbanme.c | 4 +- .../NeonServ.mod/cmd_neonserv_unsuspend.c | 8 +- .../NeonServ.mod/cmd_neonserv_unvisited.c | 4 +- src/modules/NeonServ.mod/cmd_neonserv_up.c | 12 +- src/modules/NeonServ.mod/cmd_neonserv_users.c | 2 +- src/modules/NeonServ.mod/cmd_neonserv_uset.c | 58 +++--- src/modules/NeonServ.mod/cmd_neonserv_voice.c | 2 +- .../NeonServ.mod/cmd_neonserv_voiceall.c | 2 +- .../NeonServ.mod/cmd_neonserv_wipeinfo.c | 8 +- .../NeonSpam.mod/cmd_neonspam_addbad.c | 2 +- .../NeonSpam.mod/cmd_neonspam_badwords.c | 4 +- .../NeonSpam.mod/cmd_neonspam_delbad.c | 4 +- src/modules/NeonSpam.mod/cmd_neonspam_set.c | 108 +++++----- src/modules/funcmd.mod/cmd_funcmds.c | 4 +- src/modules/global.mod/cmd_global_addbot.c | 6 +- src/modules/global.mod/cmd_global_bind.c | 6 +- src/modules/global.mod/cmd_global_bots.c | 2 +- src/modules/global.mod/cmd_global_command.c | 10 +- src/modules/global.mod/cmd_global_commands.c | 2 +- src/modules/global.mod/cmd_global_delbot.c | 4 +- src/modules/global.mod/cmd_global_extscript.c | 4 +- src/modules/global.mod/cmd_global_god.c | 10 +- src/modules/global.mod/cmd_global_meminfo.c | 6 +- src/modules/global.mod/cmd_global_modcmd.c | 50 ++--- src/modules/global.mod/cmd_global_motd.c | 2 +- src/modules/global.mod/cmd_global_move.c | 14 +- src/modules/global.mod/cmd_global_netinfo.c | 4 +- src/modules/global.mod/cmd_global_reconnect.c | 4 +- src/modules/global.mod/cmd_global_register.c | 26 +-- .../global.mod/cmd_global_reloadlang.c | 4 +- src/modules/global.mod/cmd_global_setaccess.c | 14 +- src/modules/global.mod/cmd_global_setbot.c | 188 +++++++++--------- src/modules/global.mod/cmd_global_staff.c | 8 +- src/modules/global.mod/cmd_global_unbind.c | 6 +- .../global.mod/cmd_global_unregister.c | 10 +- src/modules/global.mod/cmd_global_version.c | 20 +- src/modules/module.h | 2 +- 106 files changed, 635 insertions(+), 642 deletions(-) diff --git a/src/modcmd.c b/src/modcmd.c index 764cced..2edabf1 100644 --- a/src/modcmd.c +++ b/src/modcmd.c @@ -57,7 +57,6 @@ static struct cmd_binding **cmd_binds; static struct cmd_function *cmd_functions = NULL; static struct trigger_callback *trigger_callbacks = NULL; static struct cmd_bot_alias *bot_aliases = NULL; -static struct ClientSocket *tmp_text_client; static int total_triggered = 0; int statistics_commands = 0; @@ -124,13 +123,12 @@ static char* get_channel_trigger(int botid, int clientid, struct ChanNode *chan) return trigger->trigger; } -static void handle_command_async(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct ChanNode *sent_chan, struct cmd_binding *cbind, char **argv, int argc); +static void handle_command_async(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct ChanNode *sent_chan, struct cmd_binding *cbind, char **argv, int argc); static USERAUTH_CALLBACK(command_checked_auth) { struct command_check_user_cache *cache = data; - tmp_text_client = cache->textclient; if(user) - handle_command_async(cache->client, user, cache->chan, cache->sent_chan, cache->cbind, cache->argv, cache->argc); + handle_command_async(cache->client, cache->textclient, user, cache->chan, cache->sent_chan, cache->cbind, cache->argv, cache->argc); free(cache->message); if(cache->args_buffer) free(cache->args_buffer); @@ -143,7 +141,7 @@ static CMD_BIND(modcmd_linker) { //just empty } -static struct cmd_binding *modcmd_linker_command(struct ClientSocket *client, struct UserNode *user, struct cmd_binding *cbind, int bind_index, char **args_ptr) { +static struct cmd_binding *modcmd_linker_command(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct cmd_binding *cbind, int bind_index, char **args_ptr) { //links subcommands char command[MAXLEN]; struct cmd_binding *parent_bind = cbind; @@ -162,7 +160,7 @@ static struct cmd_binding *modcmd_linker_command(struct ClientSocket *client, st } *args_ptr = args; if(cbind && cbind->func->func == modcmd_linker) { - return modcmd_linker_command(client, user, cbind, bind_index, args_ptr); + return modcmd_linker_command(client, textclient, user, cbind, bind_index, args_ptr); } return cbind; } else { @@ -176,7 +174,7 @@ static struct cmd_binding *modcmd_linker_command(struct ClientSocket *client, st subcompos += sprintf(subcommands + subcompos, (subcompos ? ", %s" : "%s"), cbind->cmd + commandlen); } } - reply(tmp_text_client, user, "MODCMD_SUBCOMMANDS", parent_bind->cmd, (subcompos ? subcommands : "none")); + reply(textclient, user, "MODCMD_SUBCOMMANDS", parent_bind->cmd, (subcompos ? subcommands : "none")); return NULL; } } @@ -207,9 +205,9 @@ static void handle_command(struct ClientSocket *client, struct UserNode *user, s if(cbind->botid == client->botid && (cbind->botid || cbind->clientid == client->clientid) && stricmp(cbind->cmd, message) == 0) { found_cmd = 1; //get a text bot - tmp_text_client = get_botwise_prefered_bot(client->botid, (client->botid == 0 ? client->clientid : 0)); + struct ClientSocket *textclient = get_botwise_prefered_bot(client->botid, (client->botid == 0 ? client->clientid : 0)); if(cbind->func->func == modcmd_linker) { - cbind = modcmd_linker_command(client, user, cbind, bind_index, &args); + cbind = modcmd_linker_command(client, textclient, user, cbind, bind_index, &args); if(cbind == NULL) break; } if(statistics_enabled) @@ -343,11 +341,11 @@ static void handle_command(struct ClientSocket *client, struct UserNode *user, s } } if(argc < cbind->func->paramcount) { - reply(tmp_text_client, user, "MODCMD_LESS_PARAM_COUNT"); + reply(textclient, user, "MODCMD_LESS_PARAM_COUNT"); break; } if((BIND_FLAGS(cbind) & CMDFLAG_REQUIRE_CHAN) && !chan) { - reply(tmp_text_client, user, "MODCMD_CHAN_REQUIRED"); + reply(textclient, user, "MODCMD_CHAN_REQUIRED"); break; } if(((BIND_FLAGS(cbind) & CMDFLAG_CHECK_AUTH) || (chan && chan != sent_chan && !isUserOnChan(user, chan))) && !(user->flags & USERFLAG_ISAUTHED)) { @@ -368,11 +366,11 @@ static void handle_command(struct ClientSocket *client, struct UserNode *user, s data->message = message; data->args_buffer = args_buffer; data->cbind = cbind; - data->textclient = tmp_text_client; + data->textclient = textclient; get_userauth(user, 0, command_checked_auth, data); return; } else - handle_command_async(client, user, chan, sent_chan, cbind, argv, argc); + handle_command_async(client, textclient, user, chan, sent_chan, cbind, argv, argc); break; } } @@ -383,14 +381,14 @@ static void handle_command(struct ClientSocket *client, struct UserNode *user, s free(args_buffer); } -static void handle_command_async(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct ChanNode *sent_chan, struct cmd_binding *cbind, char **argv, int argc) { +static void handle_command_async(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct ChanNode *sent_chan, struct cmd_binding *cbind, char **argv, int argc) { MYSQL_RES *res; MYSQL_ROW row; int uaccess; char requested_uaccess = 0; int eventflags = (BIND_FLAGS(cbind) & (CMDFLAG_LOG | CMDFLAG_OPLOG)); if((BIND_FLAGS(cbind) & CMDFLAG_REQUIRE_AUTH) && !(user->flags & USERFLAG_ISAUTHED)) { - reply(tmp_text_client, user, "MODCMD_AUTH_REQUIRED"); + reply(textclient, user, "MODCMD_AUTH_REQUIRED"); return; } if(chan && sent_chan != chan && (BIND_FLAGS(cbind) & CMDFLAG_NO_CROSSCHAN) && !isUserOnChan(user, chan)) { @@ -413,7 +411,7 @@ static void handle_command_async(struct ClientSocket *client, struct UserNode *u if(isGodMode(user)) { eventflags |= CMDFLAG_OPLOG; } else { - reply(tmp_text_client, user, "MODCMD_CROSSCHAN", chan->name); + reply(textclient, user, "MODCMD_CROSSCHAN", chan->name); return; } } @@ -426,7 +424,7 @@ static void handle_command_async(struct ClientSocket *client, struct UserNode *u if ((row = mysql_fetch_row(res)) != NULL) { int saccess = getChannelAccess(user, sent_chan); if(row[0] && saccess < atoi(row[0]) && !isGodMode(user)) { //NOTE: HARDCODED DEFAULT: pubcmd = 0 - reply(tmp_text_client, user, "MODCMD_PUBCMD", sent_chan->name); + reply(textclient, user, "MODCMD_PUBCMD", sent_chan->name); return; } } @@ -441,9 +439,9 @@ static void handle_command_async(struct ClientSocket *client, struct UserNode *u } if(user_global_access < global_access) { if(!user_global_access) - reply(tmp_text_client, user, "MODCMD_PRIVILEGED", cbind->cmd); + reply(textclient, user, "MODCMD_PRIVILEGED", cbind->cmd); else - reply(tmp_text_client, user, "MODCMD_ACCESS_DENIED"); + reply(textclient, user, "MODCMD_ACCESS_DENIED"); return; } } @@ -499,7 +497,7 @@ static void handle_command_async(struct ClientSocket *client, struct UserNode *u eventflags |= CMDFLAG_OPLOG; } else if(uaccess < minaccess) { //ACCESS DENIED - reply(tmp_text_client, user, "MODCMD_ACCESS_DENIED"); + reply(textclient, user, "MODCMD_ACCESS_DENIED"); return; } if(!row[1] && !defaults) { @@ -511,7 +509,7 @@ static void handle_command_async(struct ClientSocket *client, struct UserNode *u eventflags |= CMDFLAG_OPLOG; } else { //PUBCMD - reply(tmp_text_client, user, "MODCMD_PUBCMD", chan->name); + reply(textclient, user, "MODCMD_PUBCMD", chan->name); return; } } @@ -525,7 +523,7 @@ static void handle_command_async(struct ClientSocket *client, struct UserNode *u if(isGodMode(user)) { eventflags |= CMDFLAG_OPLOG; } else { - reply(tmp_text_client, user, "MODCMD_ACCESS_DENIED"); + reply(textclient, user, "MODCMD_ACCESS_DENIED"); return; } } @@ -535,25 +533,25 @@ static void handle_command_async(struct ClientSocket *client, struct UserNode *u chan->flags |= CHANFLAG_REQUESTED_CHANINFO; } if(!(chan->flags & CHANFLAG_CHAN_REGISTERED)) { - reply(tmp_text_client, user, "MODCMD_CHAN_REQUIRED"); + reply(textclient, user, "MODCMD_CHAN_REQUIRED"); return; } printf_mysql_query("SELECT `botid`, `suspended` 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"); + reply(textclient, user, "MODCMD_CHAN_REQUIRED"); return; } else if(!strcmp(row[1], "1")) { - reply(tmp_text_client, user, "MODCMD_CHAN_SUSPENDED"); + reply(textclient, user, "MODCMD_CHAN_SUSPENDED"); return; } } if((BIND_FLAGS(cbind) & CMDFLAG_REQUIRE_GOD) && !isGodMode(user)) { - reply(tmp_text_client, user, "MODCMD_PRIVILEGED", cbind->cmd); + reply(textclient, user, "MODCMD_PRIVILEGED", cbind->cmd); return; } struct Event *event = createEvent(client, user, chan, cbind, argv, argc, eventflags); - cbind->func->func(client, user, chan, argv, argc, event); + cbind->func->func(client, textclient, user, chan, argv, argc, event); } static void got_chanmsg(struct UserNode *user, struct ChanNode *chan, char *message) { @@ -821,10 +819,6 @@ struct cmd_function *find_cmd_function(int botid, char *name) { return cmdfunc; } -struct ClientSocket *getTextBot() { - return tmp_text_client; -} - void init_modcmd() { cmd_binds = calloc(27, sizeof(*cmd_binds)); bind_chanmsg(got_chanmsg, 0); diff --git a/src/modcmd.h b/src/modcmd.h index 1321713..4ca57e1 100644 --- a/src/modcmd.h +++ b/src/modcmd.h @@ -42,8 +42,8 @@ struct UserNode; struct ChanNode; struct Event; -#define CMD_BIND(NAME) void NAME(UNUSED_ARG(struct ClientSocket *client), UNUSED_ARG(struct UserNode *user), UNUSED_ARG(struct ChanNode *chan), UNUSED_ARG(char **argv), UNUSED_ARG(char argc), UNUSED_ARG(struct Event *event)) -typedef void cmd_bind_t(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, char **argv, char argc, struct Event *event); +#define CMD_BIND(NAME) void NAME(UNUSED_ARG(struct ClientSocket *client), UNUSED_ARG(struct ClientSocket *textclient), UNUSED_ARG(struct UserNode *user), UNUSED_ARG(struct ChanNode *chan), UNUSED_ARG(char **argv), UNUSED_ARG(char argc), UNUSED_ARG(struct Event *event)) +typedef void cmd_bind_t(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, char **argv, char argc, struct Event *event); typedef void trigger_callback_t(int clientid, struct ChanNode *chan, char *trigger); struct cmd_function { @@ -122,7 +122,6 @@ void free_modcmd(); /* MODULAR ACCESSIBLE */ struct cmd_binding *find_botwise_cmd_binding(int botid, int clientid, char *cmd); /* MODULAR ACCESSIBLE */ void bind_botwise_unbound_required_functions(int botid, int clientid); /* MODULAR ACCESSIBLE */ struct cmd_function *find_cmd_function(int botid, char *name); -/* MODULAR ACCESSIBLE */ struct ClientSocket *getTextBot(); /* MODULAR ACCESSIBLE */ void register_command_alias(int botid, char *alias); /* MODULAR ACCESSIBLE */ struct cmd_binding *getAllBinds(struct cmd_binding *last); diff --git a/src/module_commands.c b/src/module_commands.c index 109bd00..0444f2a 100644 --- a/src/module_commands.c +++ b/src/module_commands.c @@ -49,23 +49,23 @@ void register_module_commands() { static CMD_BIND(module_cmd_load) { if(ext_load_module(argv[0])) - reply(getTextBot(), user, "MODULE_LOADED", argv[0]); + reply(textclient, user, "MODULE_LOADED", argv[0]); else - reply(getTextBot(), user, "MODULE_ERROR"); + reply(textclient, user, "MODULE_ERROR"); } static CMD_BIND(module_cmd_unload) { if(ext_unload_module(argv[0])) - reply(getTextBot(), user, "MODULE_UNLOADED", argv[0]); + reply(textclient, user, "MODULE_UNLOADED", argv[0]); else - reply(getTextBot(), user, "MODULE_ERROR"); + reply(textclient, user, "MODULE_ERROR"); } static CMD_BIND(module_cmd_reload) { if(ext_reload_module(argv[0])) - reply(getTextBot(), user, "MODULE_RELOADED", argv[0]); + reply(textclient, user, "MODULE_RELOADED", argv[0]); else - reply(getTextBot(), user, "MODULE_ERROR"); + reply(textclient, user, "MODULE_ERROR"); } static CMD_BIND(module_cmd_modules) { @@ -75,12 +75,12 @@ static CMD_BIND(module_cmd_modules) { struct ModuleInfo *modinfo; for(modinfo = ext_get_modules(NULL); modinfo; modinfo = ext_get_modules(modinfo)) { if(modpos + strlen(modinfo->name) > 450) { - reply(getTextBot(), user, "MODULE_LIST", modules); + reply(textclient, user, "MODULE_LIST", modules); modpos = 0; } modcount++; modpos += sprintf(modules + modpos, (modpos ? ", %s" : "%s"), modinfo->name); } if(!modcount || modpos) - reply(getTextBot(), user, "MODULE_LIST", (modpos ? modules : "none")); + reply(textclient, user, "MODULE_LIST", (modpos ? modules : "none")); } diff --git a/src/modules.c b/src/modules.c index 5ada206..db3a291 100644 --- a/src/modules.c +++ b/src/modules.c @@ -186,7 +186,7 @@ void *global_functions[] = { /* 120 */ (Function) find_botwise_cmd_binding, /* 121 */ (Function) bind_botwise_unbound_required_functions, /* 122 */ (Function) find_cmd_function, -/* 123 */ (Function) getTextBot, +/* 123 */ (Function) NULL, /* deprecated */ /* 124 */ (Function) register_command_alias, /* 125 */ (Function) getAllBinds, /* 126 */ (Function) createModeNode, diff --git a/src/modules/NeonFun.mod/cmd_neonfun_4stone.c b/src/modules/NeonFun.mod/cmd_neonfun_4stone.c index 96fa091..ee6151c 100644 --- a/src/modules/NeonFun.mod/cmd_neonfun_4stone.c +++ b/src/modules/NeonFun.mod/cmd_neonfun_4stone.c @@ -33,17 +33,17 @@ CMD_BIND(neonfun_cmd_4stone) { if(game) { //check if it's the player's turn if(game->player[game->active_player] != chanuser) { - reply(getTextBot(), user, "NF_4WINS_NOT_YOUR_TURN"); + reply(textclient, user, "NF_4WINS_NOT_YOUR_TURN"); return; } int x = atoi(argv[0])-1; if(x < 0 || x >= FOURWINS_MATRIX_WIDTH) { - reply(getTextBot(), user, "NF_4WINS_INVALID_COLUMN"); + reply(textclient, user, "NF_4WINS_INVALID_COLUMN"); return; } int y = fourwins_next_free_y(game, x); if(y < 0) { - reply(getTextBot(), user, "NF_4WINS_COLUMN_FULL"); + reply(textclient, user, "NF_4WINS_COLUMN_FULL"); return; } timeq_del(game->timer); diff --git a/src/modules/NeonFun.mod/cmd_neonfun_4view.c b/src/modules/NeonFun.mod/cmd_neonfun_4view.c index 22aef65..54b3cbe 100644 --- a/src/modules/NeonFun.mod/cmd_neonfun_4view.c +++ b/src/modules/NeonFun.mod/cmd_neonfun_4view.c @@ -22,7 +22,7 @@ CMD_BIND(neonfun_cmd_4view) { struct UserNode *gameuser; struct ChanUser *chanuser; if(!argc || !(gameuser = getUserByNick(argv[0])) || !(chanuser = getChanUser(gameuser, chan))) { - reply(getTextBot(), user, "NF_4WINS_APPEND_PLAYER"); + reply(textclient, user, "NF_4WINS_APPEND_PLAYER"); return; } struct fourwins_game *game, *fgame = NULL; @@ -30,12 +30,12 @@ CMD_BIND(neonfun_cmd_4view) { for(game = fourwins_active_games; game; game = game->next) { for(guest = game->guests; guest; guest = guest->next) { if(guest->chanuser->user == user) { - reply(getTextBot(), user, "NF_4WINS_VIEWING_ANOTHER_GAME"); + reply(textclient, user, "NF_4WINS_VIEWING_ANOTHER_GAME"); return; } } if(game->player[0]->user == user || game->player[1]->user == user) { - reply(getTextBot(), user, "NF_4WINS_VIEWING_ANOTHER_GAME"); + reply(textclient, user, "NF_4WINS_VIEWING_ANOTHER_GAME"); return; } if(chanuser == game->player[0] || chanuser == game->player[1]) { @@ -50,8 +50,8 @@ CMD_BIND(neonfun_cmd_4view) { guest->chanuser = chanuser; guest->next = game->guests; game->guests = guest; - reply(getTextBot(), user, "NF_4WINS_VIEWING_GAME"); + reply(textclient, user, "NF_4WINS_VIEWING_GAME"); } else { - reply(getTextBot(), user, "NF_4WINS_NO_GAME_FOUND"); + reply(textclient, user, "NF_4WINS_NO_GAME_FOUND"); } } diff --git a/src/modules/NeonFun.mod/cmd_neonfun_4wins.c b/src/modules/NeonFun.mod/cmd_neonfun_4wins.c index 2aafcb6..5a9c587 100644 --- a/src/modules/NeonFun.mod/cmd_neonfun_4wins.c +++ b/src/modules/NeonFun.mod/cmd_neonfun_4wins.c @@ -71,32 +71,32 @@ CMD_BIND(neonfun_cmd_4wins) { game->timer = timeq_add(120, module_id, fourwins_timeout, game); } else { if(!argc) { - reply(getTextBot(), user, "NF_4WINS_ENTER_OPPONENT"); + reply(textclient, user, "NF_4WINS_ENTER_OPPONENT"); return; } struct UserNode *opp_user = getUserByNick(argv[0]); if(!opp_user) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } if(opp_user == user) { - reply(getTextBot(), user, "NF_4WINS_SELF"); + reply(textclient, user, "NF_4WINS_SELF"); return; } struct ChanUser *opponent = getChanUser(opp_user, chan); if(!opponent) { - reply(getTextBot(), user, "NF_4WINS_OPPONENT_NOT_IN_CHAN", opp_user->nick); + reply(textclient, user, "NF_4WINS_OPPONENT_NOT_IN_CHAN", opp_user->nick); return; } game = calloc(1,sizeof(*game)); game->player[0] = chanuser; game->player[1] = opponent; - game->textbot = getTextBot(); + game->textbot = textclient; game->state = FOURWINS_STATE_WAITING; game->timer = timeq_add(120, module_id, fourwins_timeout, game); game->next = fourwins_active_games; fourwins_active_games = game; - reply(getTextBot(), user, "NF_4WINS_REQUESTED", opp_user->nick); - reply(getTextBot(), opp_user, "NF_4WINS_REQUEST", user->nick); + reply(textclient, user, "NF_4WINS_REQUESTED", opp_user->nick); + reply(textclient, opp_user, "NF_4WINS_REQUEST", user->nick); } } diff --git a/src/modules/NeonFun.mod/cmd_neonfun_uno.c b/src/modules/NeonFun.mod/cmd_neonfun_uno.c index b2ba1e6..ee78224 100644 --- a/src/modules/NeonFun.mod/cmd_neonfun_uno.c +++ b/src/modules/NeonFun.mod/cmd_neonfun_uno.c @@ -27,7 +27,7 @@ CMD_BIND(neonfun_cmd_uno) { if(game->state == UNO_STATE_WAITING) break; else { - reply(getTextBot(), user, "NF_UNO_ALREADY_RUNNING", chan->name); + reply(textclient, user, "NF_UNO_ALREADY_RUNNING", chan->name); return; } } @@ -37,7 +37,7 @@ CMD_BIND(neonfun_cmd_uno) { struct uno_player *player, *last_player = NULL; for(player = game->player; player; player = player->next) { if(player->chanuser == chanuser) { - reply(getTextBot(), user, "NF_UNO_ALREADY_JOINED"); + reply(textclient, user, "NF_UNO_ALREADY_JOINED"); return; } else last_player = player; @@ -56,7 +56,7 @@ CMD_BIND(neonfun_cmd_uno) { } else { game = malloc(sizeof(*game)); game->channel = chan; - game->textbot = getTextBot(); + game->textbot = textclient; game->state = UNO_STATE_WAITING; game->reverse_direction = 0; game->take_cards_pending = 0; diff --git a/src/modules/NeonFun.mod/cmd_neonfun_unoplay.c b/src/modules/NeonFun.mod/cmd_neonfun_unoplay.c index a6b3419..47b25b9 100644 --- a/src/modules/NeonFun.mod/cmd_neonfun_unoplay.c +++ b/src/modules/NeonFun.mod/cmd_neonfun_unoplay.c @@ -33,7 +33,7 @@ CMD_BIND(neonfun_cmd_unoplay) { if(game) { //check if it's the player's turn if(game->active_player->chanuser != chanuser) { - reply(getTextBot(), user, "NF_UNO_NOT_YOUR_TURN"); + reply(textclient, user, "NF_UNO_NOT_YOUR_TURN"); return; } game->active_player->timeout = 0; diff --git a/src/modules/NeonFun.mod/cmd_neonfun_unotake.c b/src/modules/NeonFun.mod/cmd_neonfun_unotake.c index 22fb21c..5b6e502 100644 --- a/src/modules/NeonFun.mod/cmd_neonfun_unotake.c +++ b/src/modules/NeonFun.mod/cmd_neonfun_unotake.c @@ -33,7 +33,7 @@ CMD_BIND(neonfun_cmd_unotake) { if(game) { //check if it's the player's turn if(game->active_player->chanuser != chanuser) { - reply(getTextBot(), user, "NF_UNO_NOT_YOUR_TURN"); + reply(textclient, user, "NF_UNO_NOT_YOUR_TURN"); return; } game->active_player->timeout = 0; diff --git a/src/modules/NeonHelp.mod/cmd_neonhelp_delete.c b/src/modules/NeonHelp.mod/cmd_neonhelp_delete.c index c20577e..5f26430 100644 --- a/src/modules/NeonHelp.mod/cmd_neonhelp_delete.c +++ b/src/modules/NeonHelp.mod/cmd_neonhelp_delete.c @@ -53,11 +53,11 @@ CMD_BIND(neonhelp_cmd_delete) { } } if(!caccess) { - reply(getTextBot(), user, "MODCMD_ACCESS_DENIED"); + reply(textclient, user, "MODCMD_ACCESS_DENIED"); return; } if(!(client->flags & SOCKET_HAVE_HELPNODE) || client->botclass_helpnode == NULL) { - reply(getTextBot(), user, "NH_NEXT_NONE"); + reply(textclient, user, "NH_NEXT_NONE"); return; } struct NeonHelpNode *helpnode, *next_helpnode = NULL, *prev_helpnode = NULL; @@ -69,7 +69,7 @@ CMD_BIND(neonhelp_cmd_delete) { prev_helpnode = helpnode; } if(!next_helpnode) { - reply(getTextBot(), user, "NH_NEXT_NOT_FOUND"); + reply(textclient, user, "NH_NEXT_NOT_FOUND"); return; } reply(client, next_helpnode->user, "NH_DELETED", next_helpnode->suppid); @@ -78,6 +78,6 @@ CMD_BIND(neonhelp_cmd_delete) { prev_helpnode->next = next_helpnode->next; else client->botclass_helpnode = next_helpnode->next; - reply(getTextBot(), user, "NH_DELETED_STAFF", next_helpnode->suppid, next_helpnode->user->nick); + reply(textclient, user, "NH_DELETED_STAFF", next_helpnode->suppid, next_helpnode->user->nick); free(next_helpnode); } diff --git a/src/modules/NeonHelp.mod/cmd_neonhelp_next.c b/src/modules/NeonHelp.mod/cmd_neonhelp_next.c index a149dc6..775861a 100644 --- a/src/modules/NeonHelp.mod/cmd_neonhelp_next.c +++ b/src/modules/NeonHelp.mod/cmd_neonhelp_next.c @@ -53,11 +53,11 @@ CMD_BIND(neonhelp_cmd_next) { } } if(!caccess) { - reply(getTextBot(), user, "MODCMD_ACCESS_DENIED"); + reply(textclient, user, "MODCMD_ACCESS_DENIED"); return; } if(!(client->flags & SOCKET_HAVE_HELPNODE) || client->botclass_helpnode == NULL) { - reply(getTextBot(), user, "NH_NEXT_NONE"); + reply(textclient, user, "NH_NEXT_NONE"); return; } struct NeonHelpNode *helpnode, *next_helpnode = NULL; @@ -78,18 +78,18 @@ CMD_BIND(neonhelp_cmd_next) { } } if(!next_helpnode) { - reply(getTextBot(), user, "NH_NEXT_NOT_FOUND"); + reply(textclient, user, "NH_NEXT_NOT_FOUND"); return; } printf_mysql_query("SELECT `text` FROM `helpserv_requests` WHERE `id` = '%d'", next_helpnode->suppid); res = mysql_use(); if (!(row2 = mysql_fetch_row(res))) return; - reply(getTextBot(), user, "NH_NEXT_HEADER", next_helpnode->suppid, next_helpnode->user->nick); + reply(textclient, user, "NH_NEXT_HEADER", next_helpnode->suppid, next_helpnode->user->nick); char *a, *b = row2[0]; do { a = strstr(b, "\n"); if(a) *a = '\0'; - reply(getTextBot(), user, " %s", b); + reply(textclient, user, " %s", b); if(a) { *a = '\n'; b = a+1; diff --git a/src/modules/NeonHelp.mod/cmd_neonhelp_requests.c b/src/modules/NeonHelp.mod/cmd_neonhelp_requests.c index 805826a..37d38e7 100644 --- a/src/modules/NeonHelp.mod/cmd_neonhelp_requests.c +++ b/src/modules/NeonHelp.mod/cmd_neonhelp_requests.c @@ -53,7 +53,7 @@ CMD_BIND(neonhelp_cmd_requests) { } } if(!caccess) { - reply(getTextBot(), user, "MODCMD_ACCESS_DENIED"); + reply(textclient, user, "MODCMD_ACCESS_DENIED"); return; } struct Table *table; @@ -100,9 +100,9 @@ CMD_BIND(neonhelp_cmd_requests) { char **table_lines = table_end(table); int i; for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } if(table->entrys == 1) - reply(getTextBot(), user, "NS_TABLE_NONE"); + reply(textclient, user, "NS_TABLE_NONE"); table_free(table); } diff --git a/src/modules/NeonHelp.mod/cmd_neonhelp_stats.c b/src/modules/NeonHelp.mod/cmd_neonhelp_stats.c index 6731801..7d832ed 100644 --- a/src/modules/NeonHelp.mod/cmd_neonhelp_stats.c +++ b/src/modules/NeonHelp.mod/cmd_neonhelp_stats.c @@ -53,7 +53,7 @@ CMD_BIND(neonhelp_cmd_stats) { } } if(!caccess) { - reply(getTextBot(), user, "MODCMD_ACCESS_DENIED"); + reply(textclient, user, "MODCMD_ACCESS_DENIED"); return; } if(argc > 0) { @@ -79,10 +79,10 @@ CMD_BIND(neonhelp_cmd_stats) { char **table_lines = table_end(table); int i; for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } if(table->entrys == 1) - reply(getTextBot(), user, "NS_TABLE_NONE"); + reply(textclient, user, "NS_TABLE_NONE"); table_free(table); } } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_access.c b/src/modules/NeonServ.mod/cmd_neonserv_access.c index 3cae12f..7eaaea1 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_access.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_access.c @@ -40,30 +40,30 @@ CMD_BIND(neonserv_cmd_access) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->nick = strdup(user->nick); get_userauth(user, module_id, neonserv_cmd_access_nick_lookup, cache); } else - neonserv_cmd_access_async1(client, getTextBot(), user, chan, user->nick, user->auth, user); + neonserv_cmd_access_async1(client, textclient, user, chan, user->nick, user->auth, user); } else if(argv[0][0] == '*') { //we've got an auth argv[0]++; - neonserv_cmd_access_async1(client, getTextBot(), user, chan, NULL, argv[0], NULL); + neonserv_cmd_access_async1(client, textclient, user, chan, NULL, argv[0], NULL); } else { struct UserNode *cuser = getUserByNick(argv[0]); if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_access_async1(client, getTextBot(), user, chan, argv[0], cuser->auth, cuser); + neonserv_cmd_access_async1(client, textclient, user, chan, argv[0], cuser->auth, cuser); } else { struct neonserv_cmd_access_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -71,7 +71,7 @@ CMD_BIND(neonserv_cmd_access) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->nick = strdup(argv[0]); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_addban.c b/src/modules/NeonServ.mod/cmd_neonserv_addban.c index 6741e7c..2a7b098 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_addban.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_addban.c @@ -39,7 +39,7 @@ CMD_BIND(neonserv_cmd_addban) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->mask = strdup(argv[0]); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_addrank.c b/src/modules/NeonServ.mod/cmd_neonserv_addrank.c index 7261378..227758b 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_addrank.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_addrank.c @@ -28,9 +28,9 @@ CMD_BIND(neonserv_cmd_addrank) { printf_mysql_query("SELECT `rank_name` FROM `support_ranks` WHERE `rank_name` = '%s'", escape_string(name)); res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { - reply(getTextBot(), user, "NS_ADDRANK_EXISTS", row[0]); + reply(textclient, user, "NS_ADDRANK_EXISTS", row[0]); return; } printf_mysql_query("INSERT INTO `support_ranks` (`rank_name`) VALUES ('%s')", escape_string(name)); - reply(getTextBot(), user, "NS_ADDRANK_DONE", name); + reply(textclient, user, "NS_ADDRANK_DONE", name); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_addtimeban.c b/src/modules/NeonServ.mod/cmd_neonserv_addtimeban.c index 189fb97..e2d0dc1 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_addtimeban.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_addtimeban.c @@ -37,7 +37,7 @@ struct neonserv_cmd_addtimeban_cache { CMD_BIND(neonserv_cmd_addtimeban) { int duration = strToTime(user, argv[1]); if(duration < 5) { - reply(getTextBot(), user, "NS_TIMEBAN_DURATION_TOO_SHORT", 5); + reply(textclient, user, "NS_TIMEBAN_DURATION_TOO_SHORT", 5); return; } struct neonserv_cmd_addtimeban_cache *cache = malloc(sizeof(*cache)); @@ -46,7 +46,7 @@ CMD_BIND(neonserv_cmd_addtimeban) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->mask = strdup(argv[0]); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_adduser.c b/src/modules/NeonServ.mod/cmd_neonserv_adduser.c index e63ef69..cc1e252 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_adduser.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_adduser.c @@ -40,14 +40,14 @@ CMD_BIND(neonserv_cmd_adduser) { MYSQL_ROW row; caccess = atoi(argv[1]); if(caccess <= 0 || caccess > 500) { - reply(getTextBot(), user, "NS_INVALID_ACCESS", caccess); + reply(textclient, user, "NS_INVALID_ACCESS", caccess); return; } if(caccess >= getChannelAccess(user, chan)) { if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_ACCESS_OUTRANKED"); + reply(textclient, user, "NS_ACCESS_OUTRANKED"); return; } } @@ -58,7 +58,7 @@ CMD_BIND(neonserv_cmd_adduser) { printf_mysql_query("SELECT `user_user` FROM `users` WHERE `user_user` = '%s'", escape_string(argv[0])); res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { - neonserv_cmd_adduser_async1(client, getTextBot(), user, chan, event, argv[0], row[0], caccess); + neonserv_cmd_adduser_async1(client, textclient, user, chan, event, argv[0], row[0], caccess); } else { //we need to create a new user... //but first lookup the auth to check if it really exists @@ -68,7 +68,7 @@ CMD_BIND(neonserv_cmd_adduser) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; @@ -81,13 +81,13 @@ CMD_BIND(neonserv_cmd_adduser) { if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_adduser_async1(client, getTextBot(), user, chan, event, argv[0], cuser->auth, caccess); + neonserv_cmd_adduser_async1(client, textclient, user, chan, event, argv[0], cuser->auth, caccess); } else { struct neonserv_cmd_adduser_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -95,7 +95,7 @@ CMD_BIND(neonserv_cmd_adduser) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; diff --git a/src/modules/NeonServ.mod/cmd_neonserv_assignrank.c b/src/modules/NeonServ.mod/cmd_neonserv_assignrank.c index caa056f..1662706 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_assignrank.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_assignrank.c @@ -42,7 +42,7 @@ CMD_BIND(neonserv_cmd_assignrank) { printf_mysql_query("SELECT `rank_id`, `rank_name` FROM `support_ranks` WHERE `rank_name` = '%s'", escape_string(name)); res = mysql_use(); if ((row = mysql_fetch_row(res)) == NULL) { - reply(getTextBot(), user, "NS_DELRANK_NOT_FOUND", name); + reply(textclient, user, "NS_DELRANK_NOT_FOUND", name); return; } rank_id = atoi(row[0]); @@ -53,7 +53,7 @@ CMD_BIND(neonserv_cmd_assignrank) { printf_mysql_query("SELECT `user_user` FROM `users` WHERE `user_user` = '%s'", escape_string(argv[0])); res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { - neonserv_cmd_assignrank_async1(client, getTextBot(), user, event, argv[0], row[0], rank_id); + neonserv_cmd_assignrank_async1(client, textclient, user, event, argv[0], row[0], rank_id); } else { //we need to create a new user... //but first lookup the auth to check if it really exists @@ -63,7 +63,7 @@ CMD_BIND(neonserv_cmd_assignrank) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->rank_id = rank_id; @@ -75,13 +75,13 @@ CMD_BIND(neonserv_cmd_assignrank) { if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_assignrank_async1(client, getTextBot(), user, event, argv[0], cuser->auth, rank_id); + neonserv_cmd_assignrank_async1(client, textclient, user, event, argv[0], cuser->auth, rank_id); } else { struct neonserv_cmd_assignrank_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -89,7 +89,7 @@ CMD_BIND(neonserv_cmd_assignrank) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->rank_id = rank_id; diff --git a/src/modules/NeonServ.mod/cmd_neonserv_ban.c b/src/modules/NeonServ.mod/cmd_neonserv_ban.c index 95c12b2..d74b4c6 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_ban.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_ban.c @@ -37,7 +37,7 @@ CMD_BIND(neonserv_cmd_ban) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->masks = strdup(merge_argv_char(argv, 0, argc, ',')); @@ -114,9 +114,9 @@ static void neonserv_cmd_ban_async1(struct ClientSocket *client, struct ClientSo } freeModeBuffer(modeBuf); if(done_masks == provided_masks) - reply(getTextBot(), user, "NS_BAN_DONE", done_masks, chan->name, total_match); + reply(textclient, user, "NS_BAN_DONE", done_masks, chan->name, total_match); else - reply(getTextBot(), user, "NS_BAN_FAIL", client->user->nick); + reply(textclient, user, "NS_BAN_FAIL", client->user->nick); if(done_masks) logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_bans.c b/src/modules/NeonServ.mod/cmd_neonserv_bans.c index 0eadc9b..2cad8d0 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_bans.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_bans.c @@ -66,10 +66,10 @@ CMD_BIND(neonserv_cmd_bans) { table_change(table, 0, content); char **table_lines = table_end(table); for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } if(!cindex) - reply(getTextBot(), user, "NS_TABLE_NONE"); - reply(getTextBot(), user, "NS_TABLE_COUNT", cindex); + reply(textclient, user, "NS_TABLE_NONE"); + reply(textclient, user, "NS_TABLE_COUNT", cindex); table_free(table); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_chanservsync.c b/src/modules/NeonServ.mod/cmd_neonserv_chanservsync.c index e75465d..af8ef35 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_chanservsync.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_chanservsync.c @@ -50,7 +50,7 @@ const char* neonserv_cmd_chanservsync_supported[] = {"ChanServ", NULL}; CMD_BIND(neonserv_cmd_chanservsync) { if(neonserv_cmd_chanservsync_used && time(0) - neonserv_cmd_chanservsync_used->last_response < CHANSERVSYNC_END_TIMEOUT) { - reply(getTextBot(), user, "NS_CHANSERVSYNC_INUSE"); + reply(textclient, user, "NS_CHANSERVSYNC_INUSE"); return; } if(neonserv_cmd_chanservsync_used) { @@ -88,9 +88,9 @@ CMD_BIND(neonserv_cmd_chanservsync) { supp++; } if(!f) { - reply(getTextBot(), user, "NS_CHANSERVSYNC_UNSUPPORTED", botnick, client->user->nick); + reply(textclient, user, "NS_CHANSERVSYNC_UNSUPPORTED", botnick, client->user->nick); } - reply(getTextBot(), user, "NS_CHANSERVSYNC_KEY", client->user->nick, botnick, botnick, synckey); + reply(textclient, user, "NS_CHANSERVSYNC_KEY", client->user->nick, botnick, botnick, synckey); return; } struct neonserv_cmd_chanservsync_cache *cache = malloc(sizeof(*cache)); @@ -99,7 +99,7 @@ CMD_BIND(neonserv_cmd_chanservsync) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->botnick = strdup(botnick); @@ -107,7 +107,7 @@ CMD_BIND(neonserv_cmd_chanservsync) { neonserv_cmd_chanservsync_used = cache; putsock(client, "PRIVMSG %s :users %s", botnick, chan->name); bind_privnotice(neonserv_cmd_chanservsync_notice_listener, module_id); - reply(getTextBot(), user, "NS_CHANSERVSYNC_SYNCHRONIZING", chan->name, botnick); + reply(textclient, user, "NS_CHANSERVSYNC_SYNCHRONIZING", chan->name, botnick); logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_clvl.c b/src/modules/NeonServ.mod/cmd_neonserv_clvl.c index c896936..6b97e8f 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_clvl.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_clvl.c @@ -37,33 +37,33 @@ CMD_BIND(neonserv_cmd_clvl) { int caccess; caccess = atoi(argv[1]); if(caccess <= 0 || caccess > 500) { - reply(getTextBot(), user, "NS_INVALID_ACCESS", caccess); + reply(textclient, user, "NS_INVALID_ACCESS", caccess); return; } if(caccess >= getChannelAccess(user, chan)) { if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_ACCESS_OUTRANKED"); + reply(textclient, user, "NS_ACCESS_OUTRANKED"); return; } } if(argv[0][0] == '*') { //we've got an auth argv[0]++; - neonserv_cmd_clvl_async1(client, getTextBot(), user, chan, event, argv[0], argv[0], caccess); + neonserv_cmd_clvl_async1(client, textclient, user, chan, event, argv[0], argv[0], caccess); } else { struct UserNode *cuser = getUserByNick(argv[0]); if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_clvl_async1(client, getTextBot(), user, chan, event, argv[0], cuser->auth, caccess); + neonserv_cmd_clvl_async1(client, textclient, user, chan, event, argv[0], cuser->auth, caccess); } else { struct neonserv_cmd_clvl_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -71,7 +71,7 @@ CMD_BIND(neonserv_cmd_clvl) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; diff --git a/src/modules/NeonServ.mod/cmd_neonserv_csuspend.c b/src/modules/NeonServ.mod/cmd_neonserv_csuspend.c index 1dad37d..cc90a2b 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_csuspend.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_csuspend.c @@ -25,7 +25,7 @@ CMD_BIND(neonserv_cmd_csuspend) { MYSQL_ROW row; char *channel = argv[0]; if(!is_valid_chan(channel)) { - reply(getTextBot(), user, "NS_INVALID_CHANNEL_NAME", argv[0]); + reply(textclient, user, "NS_INVALID_CHANNEL_NAME", argv[0]); return; } int chanid; @@ -34,17 +34,17 @@ CMD_BIND(neonserv_cmd_csuspend) { if ((row = mysql_fetch_row(res)) != NULL) { chanid = atoi(row[0]); } else { - reply(getTextBot(), user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); + reply(textclient, user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); return; } printf_mysql_query("SELECT `botid`, `bot_channels`.`id`, `suspended` FROM `bot_channels` LEFT JOIN `bots` ON `bot_channels`.`botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chanid, client->botid); res = mysql_use(); if ((row = mysql_fetch_row(res)) == NULL) { - reply(getTextBot(), user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); + reply(textclient, user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); return; } if(!strcmp(row[2], "1")) { - reply(getTextBot(), user, "NS_CSUSPEND_ALREADY", channel); + reply(textclient, user, "NS_CSUSPEND_ALREADY", channel); return; } int botid = atoi(row[0]); @@ -63,6 +63,6 @@ CMD_BIND(neonserv_cmd_csuspend) { module_global_cmd_unregister_neonbackup(channel); } printf_mysql_query("UPDATE `bot_channels` SET `suspended` = '1' WHERE `id` = '%s'", row[1]); - reply(getTextBot(), user, "NS_CSUSPEND_DONE", channel); + reply(textclient, user, "NS_CSUSPEND_DONE", channel); logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_cunsuspend.c b/src/modules/NeonServ.mod/cmd_neonserv_cunsuspend.c index b9c6a36..6d02b6a 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_cunsuspend.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_cunsuspend.c @@ -25,7 +25,7 @@ CMD_BIND(neonserv_cmd_cunsuspend) { MYSQL_ROW row; char *channel = argv[0]; if(!is_valid_chan(channel)) { - reply(getTextBot(), user, "NS_INVALID_CHANNEL_NAME", argv[0]); + reply(textclient, user, "NS_INVALID_CHANNEL_NAME", argv[0]); return; } int chanid; @@ -34,17 +34,17 @@ CMD_BIND(neonserv_cmd_cunsuspend) { if ((row = mysql_fetch_row(res)) != NULL) { chanid = atoi(row[0]); } else { - reply(getTextBot(), user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); + reply(textclient, user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); return; } printf_mysql_query("SELECT `botid`, `bot_channels`.`id`, `suspended` FROM `bot_channels` LEFT JOIN `bots` ON `bot_channels`.`botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chanid, client->botid); res = mysql_use(); if ((row = mysql_fetch_row(res)) == NULL) { - reply(getTextBot(), user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); + reply(textclient, user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); return; } if(!strcmp(row[2], "0")) { - reply(getTextBot(), user, "NS_CUNSUSPEND_NOT", channel); + reply(textclient, user, "NS_CUNSUSPEND_NOT", channel); return; } int botid = atoi(row[0]); @@ -63,6 +63,6 @@ CMD_BIND(neonserv_cmd_cunsuspend) { module_global_cmd_register_neonbackup(channel); } printf_mysql_query("UPDATE `bot_channels` SET `suspended` = '0' WHERE `id` = '%s'", row[1]); - reply(getTextBot(), user, "NS_CUNSUSPEND_DONE", channel); + reply(textclient, user, "NS_CUNSUSPEND_DONE", channel); logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_dehalfop.c b/src/modules/NeonServ.mod/cmd_neonserv_dehalfop.c index 1523c74..3a07522 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_dehalfop.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_dehalfop.c @@ -38,7 +38,7 @@ CMD_BIND(neonserv_cmd_dehalfop) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->argv = calloc(argc, sizeof(char*)); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_dehalfopall.c b/src/modules/NeonServ.mod/cmd_neonserv_dehalfopall.c index a06d9a7..5edf24b 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_dehalfopall.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_dehalfopall.c @@ -38,7 +38,7 @@ CMD_BIND(neonserv_cmd_dehalfopall) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->argv = calloc(argc, sizeof(char*)); @@ -79,7 +79,7 @@ static void neonserv_cmd_dehalfopall_async1(struct ClientSocket *client, struct done_users++; } freeModeBuffer(modeBuf); - reply(getTextBot(), user, "NS_DEHALFOPALL_DONE", done_users, chan->name); + reply(textclient, user, "NS_DEHALFOPALL_DONE", done_users, chan->name); if(done_users) logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_delban.c b/src/modules/NeonServ.mod/cmd_neonserv_delban.c index a4ea0d1..cda1575 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_delban.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_delban.c @@ -44,8 +44,8 @@ CMD_BIND(neonserv_cmd_delban) { } if(matching_bans) { putsock(client, "MODE %s -b %s", chan->name, mask); - reply(getTextBot(), user, "NS_DELBAN_DONE", mask, chan->name); + reply(textclient, user, "NS_DELBAN_DONE", mask, chan->name); logEvent(event); } else - reply(getTextBot(), user, "NS_DELBAN_FAIL", mask); + reply(textclient, user, "NS_DELBAN_FAIL", mask); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_delme.c b/src/modules/NeonServ.mod/cmd_neonserv_delme.c index 3b2c84d..b788383 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_delme.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_delme.c @@ -34,7 +34,7 @@ CMD_BIND(neonserv_cmd_delme) { res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { if(atoi(row[0]) == 500) { - reply(getTextBot(), user, "NS_DELME_OWNER", chan->name); + reply(textclient, user, "NS_DELME_OWNER", chan->name); return; } //check key @@ -47,16 +47,16 @@ CMD_BIND(neonserv_cmd_delme) { seed = (seed * 0xEECE66DL ^ ((*tmp << 24) | (*tmp << 16) | (*tmp << 8) | *tmp)); sprintf(unregkey, "%08x", seed); if(argc < 1 || strcmp(argv[0], unregkey)) { - reply(getTextBot(), user, "NS_DELME_KEY", unregkey); + reply(textclient, user, "NS_DELME_KEY", unregkey); return; } else { //delete printf_mysql_query("DELETE FROM `chanusers` WHERE `chanuser_id` = '%s'", row[1]); - reply(getTextBot(), user, "NS_DELME_DONE", atoi(row[0]), chan->name); + reply(textclient, user, "NS_DELME_DONE", atoi(row[0]), chan->name); logEvent(event); return; } } } - reply(getTextBot(), user, "NS_NOT_ON_USERLIST_YOU", chan->name); + reply(textclient, user, "NS_NOT_ON_USERLIST_YOU", chan->name); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_delrank.c b/src/modules/NeonServ.mod/cmd_neonserv_delrank.c index 62e7af6..fa6d767 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_delrank.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_delrank.c @@ -28,10 +28,10 @@ CMD_BIND(neonserv_cmd_delrank) { printf_mysql_query("SELECT `rank_id`, `rank_name` FROM `support_ranks` WHERE `rank_name` = '%s'", escape_string(name)); res = mysql_use(); if ((row = mysql_fetch_row(res)) == NULL) { - reply(getTextBot(), user, "NS_DELRANK_NOT_FOUND", name); + reply(textclient, user, "NS_DELRANK_NOT_FOUND", name); return; } printf_mysql_query("UPDATE `users` SET `user_rank` = '0', `user_access` = '0' WHERE `user_rank` = '%s'", row[0]); printf_mysql_query("DELETE FROM `support_ranks` WHERE `rank_id` = '%s'", row[0]); - reply(getTextBot(), user, "NS_DELRANK_DELETED", row[1]); + reply(textclient, user, "NS_DELRANK_DELETED", row[1]); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_deluser.c b/src/modules/NeonServ.mod/cmd_neonserv_deluser.c index 59d389c..e2bb833 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_deluser.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_deluser.c @@ -35,19 +35,19 @@ CMD_BIND(neonserv_cmd_deluser) { if(argv[0][0] == '*') { //we've got an auth argv[0]++; - neonserv_cmd_deluser_async1(client, getTextBot(), user, chan, event, argv[0], argv[0]); + neonserv_cmd_deluser_async1(client, textclient, user, chan, event, argv[0], argv[0]); } else { struct UserNode *cuser = getUserByNick(argv[0]); if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_deluser_async1(client, getTextBot(), user, chan, event, argv[0], cuser->auth); + neonserv_cmd_deluser_async1(client, textclient, user, chan, event, argv[0], cuser->auth); } else { struct neonserv_cmd_deluser_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -55,7 +55,7 @@ CMD_BIND(neonserv_cmd_deluser) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; diff --git a/src/modules/NeonServ.mod/cmd_neonserv_deop.c b/src/modules/NeonServ.mod/cmd_neonserv_deop.c index 023b0bb..2207561 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_deop.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_deop.c @@ -38,7 +38,7 @@ CMD_BIND(neonserv_cmd_deop) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->argv = calloc(argc, sizeof(char*)); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_deopall.c b/src/modules/NeonServ.mod/cmd_neonserv_deopall.c index 65aa44f..997d9ee 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_deopall.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_deopall.c @@ -38,7 +38,7 @@ CMD_BIND(neonserv_cmd_deopall) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->argv = calloc(argc, sizeof(char*)); @@ -79,7 +79,7 @@ static void neonserv_cmd_deopall_async1(struct ClientSocket *client, struct Clie done_users++; } freeModeBuffer(modeBuf); - reply(getTextBot(), user, "NS_DEOPALL_DONE", done_users, chan->name); + reply(textclient, user, "NS_DEOPALL_DONE", done_users, chan->name); if(done_users) logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_devoice.c b/src/modules/NeonServ.mod/cmd_neonserv_devoice.c index 0c456ba..30bde40 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_devoice.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_devoice.c @@ -33,7 +33,7 @@ CMD_BIND(neonserv_cmd_devoice) { chanuser = getChanUser(cuser, chan); if(!chanuser) continue; if(isUserProtected(chan, cuser, user)) { - reply(getTextBot(), user, "NS_USER_PROTECTED", cuser->nick); + reply(textclient, user, "NS_USER_PROTECTED", cuser->nick); continue; } done_users++; @@ -42,9 +42,9 @@ CMD_BIND(neonserv_cmd_devoice) { } freeModeBuffer(modeBuf); if(done_users == argc) - reply(getTextBot(), user, "NS_DEVOICE_DONE", chan->name); + reply(textclient, user, "NS_DEVOICE_DONE", chan->name); else - reply(getTextBot(), user, "NS_DEVOICE_FAIL", client->user->nick); + reply(textclient, user, "NS_DEVOICE_FAIL", client->user->nick); if(done_users) logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_devoiceall.c b/src/modules/NeonServ.mod/cmd_neonserv_devoiceall.c index 02058b2..f89627e 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_devoiceall.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_devoiceall.c @@ -39,7 +39,7 @@ CMD_BIND(neonserv_cmd_devoiceall) { done_users++; } freeModeBuffer(modeBuf); - reply(getTextBot(), user, "NS_DEVOICEALL_DONE", done_users, chan->name); + reply(textclient, user, "NS_DEVOICEALL_DONE", done_users, chan->name); if(done_users) logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_down.c b/src/modules/NeonServ.mod/cmd_neonserv_down.c index f5eb38a..deb581c 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_down.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_down.c @@ -24,7 +24,7 @@ CMD_BIND(neonserv_cmd_down) { struct ChanUser *chanuser = getChanUser(user, chan); if(!chanuser) { - reply(getTextBot(), user, "NS_NOT_ON_CHANNEL_YOU", chan->name); + reply(textclient, user, "NS_NOT_ON_CHANNEL_YOU", chan->name); return; } if((chanuser->flags & CHANUSERFLAG_OPPED)) { @@ -34,5 +34,5 @@ CMD_BIND(neonserv_cmd_down) { putsock(client, "MODE %s -v %s", chan->name, user->nick); logEvent(event); } else - reply(getTextBot(), user, "NS_DOWN_ALREADY", chan->name); + reply(textclient, user, "NS_DOWN_ALREADY", chan->name); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_events.c b/src/modules/NeonServ.mod/cmd_neonserv_events.c index e446336..9bd8351 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_events.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_events.c @@ -40,7 +40,7 @@ CMD_BIND(neonserv_cmd_events) { struct tm *timeinfo; time_t event_time; if(skip < 0) skip = 0; - reply(getTextBot(), user, "NS_EVENTS_HEADER"); + reply(textclient, user, "NS_EVENTS_HEADER"); while ((row = mysql_fetch_row(res)) != NULL) { if(skip) { skip--; @@ -51,7 +51,7 @@ CMD_BIND(neonserv_cmd_events) { event_time = (time_t) atol(row[0]); timeinfo = localtime(&event_time); strftime(timeBuf, 80, "%X %x", timeinfo); - reply(getTextBot(), user, "[%s] [%s:%s]: %s", timeBuf, row[2], row[1], row[3]); + reply(textclient, user, "[%s] [%s:%s]: %s", timeBuf, row[2], row[1], row[3]); } - reply(getTextBot(), user, "NS_TABLE_COUNT", count); + reply(textclient, user, "NS_TABLE_COUNT", count); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_giveowner.c b/src/modules/NeonServ.mod/cmd_neonserv_giveowner.c index 2da4c5d..39068b4 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_giveowner.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_giveowner.c @@ -44,25 +44,25 @@ CMD_BIND(neonserv_cmd_giveowner) { if ((row = mysql_fetch_row(res)) == NULL) return; if(strcmp(row[0], "0") && (atoi(row[0]) + GIVEOWNER_TIMEOUT) > time(0)) { char timeBuf[MAXLEN]; - reply(getTextBot(), user, "NS_GIVEOWNER_TIMEOUT", timeToStr(user, (GIVEOWNER_TIMEOUT - (time(0) - atoi(row[0]))), 2, timeBuf), chan->name); + reply(textclient, user, "NS_GIVEOWNER_TIMEOUT", timeToStr(user, (GIVEOWNER_TIMEOUT - (time(0) - atoi(row[0]))), 2, timeBuf), chan->name); return; } if(argv[0][0] == '*') { //we've got an auth argv[0]++; - neonserv_cmd_giveowner_async1(client, getTextBot(), user, chan, event, argv[0], argv[0], (argc != 1 ? argv[1] : NULL)); + neonserv_cmd_giveowner_async1(client, textclient, user, chan, event, argv[0], argv[0], (argc != 1 ? argv[1] : NULL)); } else { struct UserNode *cuser = getUserByNick(argv[0]); if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_giveowner_async1(client, getTextBot(), user, chan, event, argv[0], cuser->auth, (argc != 1 ? argv[1] : NULL)); + neonserv_cmd_giveowner_async1(client, textclient, user, chan, event, argv[0], cuser->auth, (argc != 1 ? argv[1] : NULL)); } else { struct neonserv_cmd_giveowner_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -70,7 +70,7 @@ CMD_BIND(neonserv_cmd_giveowner) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; @@ -115,11 +115,11 @@ static void neonserv_cmd_giveowner_async1(struct ClientSocket *client, struct Cl if(expire_time - time(0) <= 0) { printf_mysql_query("DELETE FROM `donotregister` WHERE `dnr_id` = '%s'", row[3]); } else { - reply(getTextBot(), user, "NS_DNR_SET_ANONYM", auth); + reply(textclient, user, "NS_DNR_SET_ANONYM", auth); return; } } else { - reply(getTextBot(), user, "NS_DNR_SET_ANONYM", auth); + reply(textclient, user, "NS_DNR_SET_ANONYM", auth); return; } } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_halfop.c b/src/modules/NeonServ.mod/cmd_neonserv_halfop.c index 7cd557c..4a4e0ef 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_halfop.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_halfop.c @@ -37,7 +37,7 @@ CMD_BIND(neonserv_cmd_halfop) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->nicks = strdup(merge_argv(argv, 0, argc)); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_halfopall.c b/src/modules/NeonServ.mod/cmd_neonserv_halfopall.c index 29f6d21..8b3c72e 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_halfopall.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_halfopall.c @@ -38,7 +38,7 @@ CMD_BIND(neonserv_cmd_halfopall) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; if(argc) { diff --git a/src/modules/NeonServ.mod/cmd_neonserv_help.c b/src/modules/NeonServ.mod/cmd_neonserv_help.c index fde0c99..903da7f 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_help.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_help.c @@ -44,7 +44,7 @@ CMD_BIND(neonserv_cmd_help) { res = mysql_use(); } if ((row = mysql_fetch_row(res)) == NULL) { - reply(getTextBot(), user, "NS_HELP_TOPIC"); + reply(textclient, user, "NS_HELP_TOPIC"); return; } } @@ -56,7 +56,7 @@ CMD_BIND(neonserv_cmd_help) { case '\n': if(sendBufPos) { sendBuf[sendBufPos] = '\0'; - reply(getTextBot(), user, "%s", sendBuf); + reply(textclient, user, "%s", sendBuf); sendBufPos = 0; } break; @@ -91,7 +91,7 @@ CMD_BIND(neonserv_cmd_help) { } if(sendBufPos) { sendBuf[sendBufPos] = '\0'; - reply(getTextBot(), user, "%s", sendBuf); + reply(textclient, user, "%s", sendBuf); sendBufPos = 0; } } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_info.c b/src/modules/NeonServ.mod/cmd_neonserv_info.c index a6b8127..4b3054d 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_info.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_info.c @@ -31,7 +31,7 @@ CMD_BIND(neonserv_cmd_info) { table = table_init(2, 9, 0); table_set_bold(table, 0, 1); char *content[2]; - reply(getTextBot(), user, "NS_INFO_HEADER", chan->name); + reply(textclient, user, "NS_INFO_HEADER", chan->name); content[0] = get_language_string(user, "NS_INFO_DEFAULTTOPIC"); content[1] = row[0]; table_add(table, content); @@ -83,14 +83,14 @@ CMD_BIND(neonserv_cmd_info) { char **table_lines = table_end(table); int i; for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } table_free(table); if(userisowner || isGodMode(user)) { printf_mysql_query("SELECT `owner_history_time`, a.`user_user`, b.`user_user` FROM `owner_history` LEFT JOIN `users` a ON `owner_history_from_uid` = a.`user_id` LEFT JOIN `users` b ON `owner_history_to_uid` = b.`user_id` WHERE `owner_history_cid` = '%d'", chan->channel_id); res = mysql_use(); if(mysql_num_rows(res)) { - reply(getTextBot(), user, "NS_INFO_OWNERLOG", chan->name); + reply(textclient, user, "NS_INFO_OWNERLOG", chan->name); time_t rawtime; struct tm *timeinfo; char timeBuf[80]; @@ -98,7 +98,7 @@ CMD_BIND(neonserv_cmd_info) { rawtime = (time_t) atol(row[0]); timeinfo = localtime(&rawtime); strftime(timeBuf, 80, "%c", timeinfo); - reply(getTextBot(), user, "NS_INFO_OWNERCHANGE", row[1], row[2], timeBuf); + reply(textclient, user, "NS_INFO_OWNERCHANGE", row[1], row[2], timeBuf); } } } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_invite.c b/src/modules/NeonServ.mod/cmd_neonserv_invite.c index 307cccd..e684a36 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_invite.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_invite.c @@ -47,19 +47,19 @@ static struct neonserv_cmd_invite_timeout *first_timeout = NULL, *last_timeout = CMD_BIND(neonserv_cmd_invite) { if(neonserv_cmd_invite_is_timeout(argv[0], chan->name)) { - reply(getTextBot(), user, "NS_INVITE_TIMEOUT", argv[0], chan->name); + reply(textclient, user, "NS_INVITE_TIMEOUT", argv[0], chan->name); return; } struct UserNode *cuser = getUserByNick(argv[0]); if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } else if(getChanUser(cuser, chan)) { - reply(getTextBot(), user, "NS_INVITE_ON_CHAN", cuser->nick, chan->name); + reply(textclient, user, "NS_INVITE_ON_CHAN", cuser->nick, chan->name); /* BUG This check does not work if the user is invisible (CHMODE +D/+d) to fix this we'd need to request the full userlist... @@ -68,7 +68,7 @@ CMD_BIND(neonserv_cmd_invite) { return; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_invite_async1(client, getTextBot(), user, chan, event, argv[0], cuser->auth); + neonserv_cmd_invite_async1(client, textclient, user, chan, event, argv[0], cuser->auth); } else { struct neonserv_cmd_invite_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -76,7 +76,7 @@ CMD_BIND(neonserv_cmd_invite) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; diff --git a/src/modules/NeonServ.mod/cmd_neonserv_inviteme.c b/src/modules/NeonServ.mod/cmd_neonserv_inviteme.c index b3feca7..a66d570 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_inviteme.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_inviteme.c @@ -23,7 +23,7 @@ CMD_BIND(neonserv_cmd_inviteme) { if(getChanUser(user, chan)) { - reply(getTextBot(), user, "NS_INVITEME_ON_CHAN", chan->name); + reply(textclient, user, "NS_INVITEME_ON_CHAN", chan->name); /* BUG This check does not work if the user is invisible (CHMODE +D/+d) to fix this we'd need to request the full userlist... @@ -32,5 +32,5 @@ CMD_BIND(neonserv_cmd_inviteme) { return; } putsock(client, "INVITE %s %s", user->nick, chan->name); - reply(getTextBot(), user, "NS_INVITEME_DONE", chan->name); + reply(textclient, user, "NS_INVITEME_DONE", chan->name); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_kick.c b/src/modules/NeonServ.mod/cmd_neonserv_kick.c index 0e6c2ba..15c7d12 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_kick.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_kick.c @@ -39,7 +39,7 @@ CMD_BIND(neonserv_cmd_kick) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->nicks = strdup(argv[0]); @@ -159,9 +159,9 @@ static void neonserv_cmd_kick_async1(struct ClientSocket *client, struct ClientS } } if(kicked_users == provided_nicks) - reply(getTextBot(), user, "NS_KICK_DONE", kicked_users, chan->name); + reply(textclient, user, "NS_KICK_DONE", kicked_users, chan->name); else - reply(getTextBot(), user, "NS_KICK_FAIL", client->user->nick); + reply(textclient, user, "NS_KICK_FAIL", client->user->nick); if(kicked_users) logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_kickban.c b/src/modules/NeonServ.mod/cmd_neonserv_kickban.c index 52fdcb4..b1b7383 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_kickban.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_kickban.c @@ -39,7 +39,7 @@ CMD_BIND(neonserv_cmd_kickban) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->nicks = strdup(argv[0]); @@ -161,9 +161,9 @@ static void neonserv_cmd_kickban_async1(struct ClientSocket *client, struct Clie } } if(kicked_users == provided_nicks) - reply(getTextBot(), user, "NS_KICKBAN_DONE", kicked_users, chan->name); + reply(textclient, user, "NS_KICKBAN_DONE", kicked_users, chan->name); else - reply(getTextBot(), user, "NS_KICKBAN_FAIL", client->user->nick); + reply(textclient, user, "NS_KICKBAN_FAIL", client->user->nick); if(kicked_users) logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_listrank.c b/src/modules/NeonServ.mod/cmd_neonserv_listrank.c index 7d8d2bd..4b3a605 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_listrank.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_listrank.c @@ -57,10 +57,10 @@ CMD_BIND(neonserv_cmd_listrank) { char **table_lines = table_end(table); int i; for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } if(!ranks) - reply(getTextBot(), user, "NS_TABLE_NONE"); + reply(textclient, user, "NS_TABLE_NONE"); table_free(table); printf_mysql_query("SELECT `user_user` FROM `users` WHERE `user_rank` = '0' AND `user_access` > 0"); res2 = mysql_use(); @@ -70,8 +70,8 @@ CMD_BIND(neonserv_cmd_listrank) { usersPos += sprintf(usersBuf+usersPos, (usersPos ? ", %s%s" : "%s%s"), (strcmp(row2[1], "0") ? "@" : ""), row2[0]); userCount++; } - reply(getTextBot(), user, "NS_LISTRANK_UNRANKED", userCount); + reply(textclient, user, "NS_LISTRANK_UNRANKED", userCount); if(userCount) { - reply(getTextBot(), user, " %s", usersBuf); + reply(textclient, user, " %s", usersBuf); } } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_mdeluser.c b/src/modules/NeonServ.mod/cmd_neonserv_mdeluser.c index 3bb3a6d..656fbec 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_mdeluser.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_mdeluser.c @@ -31,7 +31,7 @@ CMD_BIND(neonserv_cmd_mdeluser) { min_access = atoi(argv[0]); max_access = atoi(seperator); if(max_access < min_access) { - reply(getTextBot(), user, "NS_INVALID_ACCESS_RANGE", min_access, max_access); + reply(textclient, user, "NS_INVALID_ACCESS_RANGE", min_access, max_access); return; } } else { @@ -42,7 +42,7 @@ CMD_BIND(neonserv_cmd_mdeluser) { if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_NO_ACCESS"); + reply(textclient, user, "NS_NO_ACCESS"); return; } } @@ -57,7 +57,7 @@ CMD_BIND(neonserv_cmd_mdeluser) { printf_mysql_query("DELETE FROM `chanusers` WHERE `chanuser_id` = '%s'", row[1]); } } - reply(getTextBot(), user, "NS_MDELUSER_DONE", del_count, argv[1], min_access, max_access, chan->name); + reply(textclient, user, "NS_MDELUSER_DONE", del_count, argv[1], min_access, max_access, chan->name); if(del_count) logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_mode.c b/src/modules/NeonServ.mod/cmd_neonserv_mode.c index 2579287..f4ca2d8 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_mode.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_mode.c @@ -38,7 +38,7 @@ CMD_BIND(neonserv_cmd_mode) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->mode = strdup(merge_argv(argv, 0, argc)); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_myaccess.c b/src/modules/NeonServ.mod/cmd_neonserv_myaccess.c index f21b233..abbce35 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_myaccess.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_myaccess.c @@ -44,14 +44,14 @@ CMD_BIND(neonserv_cmd_myaccess) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->nick = strdup(argv[0]); cache->chanmatch = (chanmatch ? strdup(chanmatch) : NULL); get_userauth(user, module_id, neonserv_cmd_myaccess_nick_lookup, cache); } else - neonserv_cmd_myaccess_async1(client, getTextBot(), user, chan, user->nick, user->auth, chanmatch); + neonserv_cmd_myaccess_async1(client, textclient, user, chan, user->nick, user->auth, chanmatch); } else if(argv[0][0] == '*') { //we've got an auth @@ -59,7 +59,7 @@ CMD_BIND(neonserv_cmd_myaccess) { chanmatch = argv[1]; } argv[0]++; - neonserv_cmd_myaccess_async1(client, getTextBot(), user, chan, NULL, argv[0], chanmatch); + neonserv_cmd_myaccess_async1(client, textclient, user, chan, NULL, argv[0], chanmatch); } else { if(argc > 1 && argv[1][0] == '#') { chanmatch = argv[1]; @@ -68,13 +68,13 @@ CMD_BIND(neonserv_cmd_myaccess) { if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_myaccess_async1(client, getTextBot(), user, chan, argv[0], cuser->auth, chanmatch); + neonserv_cmd_myaccess_async1(client, textclient, user, chan, argv[0], cuser->auth, chanmatch); } else { struct neonserv_cmd_myaccess_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -82,7 +82,7 @@ CMD_BIND(neonserv_cmd_myaccess) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->nick = strdup(argv[0]); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_nicklist.c b/src/modules/NeonServ.mod/cmd_neonserv_nicklist.c index de0a834..56d780e 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_nicklist.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_nicklist.c @@ -40,7 +40,7 @@ CMD_BIND(neonserv_cmd_nicklist) { if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_ACCESS_DENIED"); + reply(textclient, user, "NS_ACCESS_DENIED"); return; } } @@ -52,7 +52,7 @@ CMD_BIND(neonserv_cmd_nicklist) { if(argc && !stricmp(argv[0], "nowho") && isGodMode(user)) { argv++; argc--; - neonserv_cmd_nicklist_async1(client, getTextBot(), user, chan, event, (argc ? argv[0] : NULL), syncusers); + neonserv_cmd_nicklist_async1(client, textclient, user, chan, event, (argc ? argv[0] : NULL), syncusers); return; } struct neonserv_cmd_nicklist_cache *cache = malloc(sizeof(*cache)); @@ -61,7 +61,7 @@ CMD_BIND(neonserv_cmd_nicklist) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; if(argc) { diff --git a/src/modules/NeonServ.mod/cmd_neonserv_noregister.c b/src/modules/NeonServ.mod/cmd_neonserv_noregister.c index e46f0c4..bb16d31 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_noregister.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_noregister.c @@ -26,7 +26,7 @@ static AUTHLOOKUP_CALLBACK(neonserv_cmd_noregister_auth_lookup); static USERAUTH_CALLBACK(neonserv_cmd_noregister_nick_lookup); static void neonserv_cmd_noregister_async1(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event,char *auth, int duration, char *reason); -static void neonserv_cmd_noregister_list(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, char **argv, int argc); +static void neonserv_cmd_noregister_list(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, char **argv, int argc); struct neonserv_cmd_noregister_cache { struct ClientSocket *client, *textclient; @@ -39,12 +39,12 @@ struct neonserv_cmd_noregister_cache { CMD_BIND(neonserv_cmd_noregister) { if(argc < 3) { - neonserv_cmd_noregister_list(client, user, chan, event, argv, argc); + neonserv_cmd_noregister_list(client, textclient, user, chan, event, argv, argc); return; } int duration = strToTime(user, argv[1]); if(duration == 0 && strcmp(argv[1], "0")) { - reply(getTextBot(), user, "NS_NOREGISTER_INVALID_DURATION", argv[1]); + reply(textclient, user, "NS_NOREGISTER_INVALID_DURATION", argv[1]); return; } char *reason = merge_argv(argv, 2, argc); @@ -54,17 +54,17 @@ CMD_BIND(neonserv_cmd_noregister) { printf_mysql_query("SELECT `botid` FROM `bot_channels` LEFT JOIN `channels` ON `bot_channels`.`chanid` = `channels`.`channel_id` WHERE `channel_name` = '%s'", escape_string(argv[0])); res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { - reply(getTextBot(), user, "NS_NOREGISTER_REGISTERED", argv[0]); + reply(textclient, user, "NS_NOREGISTER_REGISTERED", argv[0]); return; } - neonserv_cmd_noregister_async1(client, getTextBot(), user, chan, event, argv[0], duration, reason); + neonserv_cmd_noregister_async1(client, textclient, user, chan, event, argv[0], duration, reason); } else if(argv[0][0] == '*') { //we've got an auth argv[0]++; printf_mysql_query("SELECT `user_user` FROM `users` WHERE `user_user` = '%s'", escape_string(argv[0])); res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { - neonserv_cmd_noregister_async1(client, getTextBot(), user, chan, event, row[0], duration, reason); + neonserv_cmd_noregister_async1(client, textclient, user, chan, event, row[0], duration, reason); } else { //we need to create a new user... //but first lookup the auth to check if it really exists @@ -74,7 +74,7 @@ CMD_BIND(neonserv_cmd_noregister) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; @@ -88,13 +88,13 @@ CMD_BIND(neonserv_cmd_noregister) { if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_noregister_async1(client, getTextBot(), user, chan, event, cuser->auth, duration, reason); + neonserv_cmd_noregister_async1(client, textclient, user, chan, event, cuser->auth, duration, reason); } else { struct neonserv_cmd_noregister_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -102,7 +102,7 @@ CMD_BIND(neonserv_cmd_noregister) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; @@ -159,10 +159,10 @@ static void neonserv_cmd_noregister_async1(struct ClientSocket *client, struct C else userid = 0; printf_mysql_query("INSERT INTO `donotregister` (`dnr_target`, `dnr_timeout`, `dnr_user`, `dnr_reason`) VALUES ('%s', '%lu', '%d', '%s')", escape_string(auth), (duration ? (time(0)+duration) : 0), userid, escape_string(reason)); - reply(getTextBot(), user, "NS_NOREGISTER_DONE", auth); + reply(textclient, user, "NS_NOREGISTER_DONE", auth); } -static void neonserv_cmd_noregister_list(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, char **argv, int argc) { +static void neonserv_cmd_noregister_list(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, char **argv, int argc) { struct Table *table; int entrys = 0; MYSQL_RES *res; @@ -191,9 +191,9 @@ static void neonserv_cmd_noregister_list(struct ClientSocket *client, struct Use char **table_lines = table_end(table); int i; for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } if(!entrys) - reply(getTextBot(), user, "NS_TABLE_NONE"); + reply(textclient, user, "NS_TABLE_NONE"); table_free(table); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_op.c b/src/modules/NeonServ.mod/cmd_neonserv_op.c index 5601b74..e022c76 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_op.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_op.c @@ -37,7 +37,7 @@ CMD_BIND(neonserv_cmd_op) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->nicks = strdup(merge_argv(argv, 0, argc)); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_opall.c b/src/modules/NeonServ.mod/cmd_neonserv_opall.c index 3837052..2c52c8f 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_opall.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_opall.c @@ -33,7 +33,7 @@ struct neonserv_cmd_opall_cache { CMD_BIND(neonserv_cmd_opall) { if(!argc || strcmp(argv[0], "FORCE")) { - reply(getTextBot(), user, "NS_OPALL_SECURITY", chan->name); + reply(textclient, user, "NS_OPALL_SECURITY", chan->name); return; } struct neonserv_cmd_opall_cache *cache = malloc(sizeof(*cache)); @@ -42,7 +42,7 @@ CMD_BIND(neonserv_cmd_opall) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; if(argc > 1) { diff --git a/src/modules/NeonServ.mod/cmd_neonserv_oplog.c b/src/modules/NeonServ.mod/cmd_neonserv_oplog.c index e036e2b..4c46838 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_oplog.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_oplog.c @@ -40,7 +40,7 @@ CMD_BIND(neonserv_cmd_oplog) { struct tm *timeinfo; time_t event_time; if(skip < 0) skip = 0; - reply(getTextBot(), user, "NS_EVENTS_HEADER"); + reply(textclient, user, "NS_EVENTS_HEADER"); while ((row = mysql_fetch_row(res)) != NULL) { if(skip) { skip--; @@ -51,7 +51,7 @@ CMD_BIND(neonserv_cmd_oplog) { event_time = (time_t) atol(row[0]); timeinfo = localtime(&event_time); strftime(timeBuf, 80, "%X %x", timeinfo); - reply(getTextBot(), user, "[%s] [%s%s%s]: %s", timeBuf, row[1], (row[2] ? ":" : ""), (row[2] ? row[2] : ""), row[3]); + reply(textclient, user, "[%s] [%s%s%s]: %s", timeBuf, row[1], (row[2] ? ":" : ""), (row[2] ? row[2] : ""), row[3]); } - reply(getTextBot(), user, "NS_TABLE_COUNT", count); + reply(textclient, user, "NS_TABLE_COUNT", count); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_peek.c b/src/modules/NeonServ.mod/cmd_neonserv_peek.c index ff57f46..7bd56e8 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_peek.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_peek.c @@ -35,7 +35,7 @@ CMD_BIND(neonserv_cmd_peek) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; get_userlist_if_invisible(chan, module_id, neonserv_cmd_peek_userlist_lookup, cache); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_recover.c b/src/modules/NeonServ.mod/cmd_neonserv_recover.c index 7e8999f..de4dbc5 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_recover.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_recover.c @@ -25,7 +25,7 @@ CMD_BIND(neonserv_cmd_recover) { MYSQL_ROW row, row2; char *channel = argv[0]; if(!is_valid_chan(channel)) { - reply(getTextBot(), user, "NS_INVALID_CHANNEL_NAME", argv[0]); + reply(textclient, user, "NS_INVALID_CHANNEL_NAME", argv[0]); return; } int chanid; @@ -34,13 +34,13 @@ CMD_BIND(neonserv_cmd_recover) { if ((row = mysql_fetch_row(res)) != NULL) { chanid = atoi(row[0]); } else { - reply(getTextBot(), user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); + reply(textclient, user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); return; } printf_mysql_query("SELECT `botid`, `bot_channels`.`id` FROM `bot_channels` LEFT JOIN `bots` ON `bot_channels`.`botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chanid, client->botid); res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { - reply(getTextBot(), user, "NS_REGISTER_ALREADY", argv[0], client->user->nick); + reply(textclient, user, "NS_REGISTER_ALREADY", argv[0], client->user->nick); return; } printf_mysql_query("SELECT `id`, `max_channels`, `defaulttrigger` FROM `bots` WHERE `botclass` = '%d' ORDER BY `register_priority` DESC", client->botid); @@ -58,7 +58,7 @@ CMD_BIND(neonserv_cmd_recover) { } } if(!botid) { - reply(getTextBot(), user, "NS_REGISTER_FULL"); + reply(textclient, user, "NS_REGISTER_FULL"); return; } struct ClientSocket *bot; @@ -69,8 +69,8 @@ CMD_BIND(neonserv_cmd_recover) { if(bot) { putsock(bot, "JOIN %s", channel); } else - reply(getTextBot(), user, "NS_REGISTER_DISCONNECTED"); + reply(textclient, user, "NS_REGISTER_DISCONNECTED"); printf_mysql_query("INSERT INTO `bot_channels` (`botid`, `chanid`, `trigger`) VALUES ('%d', '%d', '%s')", botid, chanid, bottrigger); - reply(getTextBot(), user, "NS_RECOVER_DONE", channel); + reply(textclient, user, "NS_RECOVER_DONE", channel); logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_rename.c b/src/modules/NeonServ.mod/cmd_neonserv_rename.c index ad7b028..910f4d1 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_rename.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_rename.c @@ -39,7 +39,7 @@ CMD_BIND(neonserv_cmd_rename) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->oldauth = strdup(argv[0]); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_resync.c b/src/modules/NeonServ.mod/cmd_neonserv_resync.c index 7a227f0..77a9df2 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_resync.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_resync.c @@ -55,7 +55,7 @@ CMD_BIND(neonserv_cmd_resync) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->usermask = (usermask ? strdup(usermask) : NULL); cache->min_access = min_access; diff --git a/src/modules/NeonServ.mod/cmd_neonserv_search.c b/src/modules/NeonServ.mod/cmd_neonserv_search.c index 12c1b75..c67e042 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_search.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_search.c @@ -55,7 +55,7 @@ CMD_BIND(neonserv_cmd_search) { } for(i = 1; i < argc; i += 2) { if(argc <= i+1) { - reply(getTextBot(), user, "MODCMD_LESS_PARAM_COUNT"); + reply(textclient, user, "MODCMD_LESS_PARAM_COUNT"); return; } if(!stricmp(argv[i], "name")) criteria.name = argv[i+1]; @@ -122,13 +122,13 @@ CMD_BIND(neonserv_cmd_search) { int matches = 0; if((criteria.flags & (CMD_SEARCH_FLAG_IS_ZOMBIE | CMD_SEARCH_FLAG_NOT_ZOMBIE))) { if(neonserv_cmd_search_zombie) { - reply(getTextBot(), user, "NS_SEARCH_ZOMBIE_SCAN_IN_PROGRESS"); + reply(textclient, user, "NS_SEARCH_ZOMBIE_SCAN_IN_PROGRESS"); return; } neonserv_cmd_search_zombie = 1; } - reply(getTextBot(), user, "NS_SEARCH_HEADER"); + reply(textclient, user, "NS_SEARCH_HEADER"); MYSQL_RES *res, *res2; MYSQL_ROW row, row2; printf_mysql_query("SELECT `channel_name`, `user_user`, `channel_registered`, `channel_nodelete`, `suspended`, `channel_id` FROM `bot_channels` LEFT JOIN `bots` ON `bots`.`id` = `botid` LEFT JOIN `channels` ON `chanid` = `channel_id` LEFT JOIN `users` ON `channel_registrator` = `user_id` WHERE `botclass` = '%d' AND `active` = '1'", client->botid); @@ -199,7 +199,7 @@ CMD_BIND(neonserv_cmd_search) { matches++; //output if(show_chans) { - reply(getTextBot(), user, "%s", row[0]); + reply(textclient, user, "%s", row[0]); } } if((criteria.flags & (CMD_SEARCH_FLAG_IS_ZOMBIE | CMD_SEARCH_FLAG_NOT_ZOMBIE))) { @@ -211,11 +211,11 @@ CMD_BIND(neonserv_cmd_search) { } else if((criteria.flags & CMD_SEARCH_FLAG_IS_ZOMBIE)) { matches++; if(show_chans) { - reply(getTextBot(), user, "%s", channel->name); + reply(textclient, user, "%s", channel->name); } } } } neonserv_cmd_search_zombie = 0; - reply(getTextBot(), user, "NS_TABLE_COUNT", matches); + reply(textclient, user, "NS_TABLE_COUNT", matches); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_set.c b/src/modules/NeonServ.mod/cmd_neonserv_set.c index 2243c0d..48fb722 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_set.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_set.c @@ -17,13 +17,13 @@ #include "cmd_neonserv.h" -typedef char* neonserv_cmd_set_function(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); -static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int setting, char *argument); -static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); -static char* neonserv_cmd_set_modes(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); -static char* neonserv_cmd_set_dynlimit(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); -static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); -static char* neonserv_cmd_set_backupbot(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +typedef char* neonserv_cmd_set_function(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +static void neonserv_cmd_set_setting(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int setting, char *argument); +static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +static char* neonserv_cmd_set_modes(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +static char* neonserv_cmd_set_dynlimit(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +static char* neonserv_cmd_set_backupbot(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); #define NS_VALID_FUNCTION 0x01 #define NS_VALID_STRING 0x02 @@ -95,7 +95,7 @@ CMD_BIND(neonserv_cmd_set) { if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_DEFAULTS_OWNER", chan->name); + reply(textclient, user, "NS_SET_DEFAULTS_OWNER", chan->name); return; } } @@ -120,10 +120,10 @@ CMD_BIND(neonserv_cmd_set) { query[querypos-2] = '\0'; } printf_mysql_query("UPDATE `channels` SET %s WHERE `channel_id` = '%d'", query, chan->channel_id); - reply(getTextBot(), user, "NS_SET_DEFAULTS_DONE", chan->name); + reply(textclient, user, "NS_SET_DEFAULTS_DONE", chan->name); logEvent(event); } else { - reply(getTextBot(), user, "NS_SET_DEFAULTS_CODE", chan->name, defaultskey); + reply(textclient, user, "NS_SET_DEFAULTS_CODE", chan->name, defaultskey); } } else if(argc && strcmp(argv[0], "help")) { //find the correct command @@ -144,9 +144,9 @@ CMD_BIND(neonserv_cmd_set) { } if(channel_settings[i].valid & NS_VALID_FUNCTION) { neonserv_cmd_set_function *func = channel_settings[i].parameter; - func(client, user, chan, event, channel_settings[i].setting, args); + func(client, textclient, user, chan, event, channel_settings[i].setting, args); } else { - neonserv_cmd_set_setting(client, user, chan, event, i, args); + neonserv_cmd_set_setting(client, textclient, user, chan, event, i, args); } j = 1; break; @@ -155,7 +155,7 @@ CMD_BIND(neonserv_cmd_set) { } if(j == 0) { //unknown setting - reply(getTextBot(), user, "NS_SET_UNKNOWN_SETTING", argv[0]); + reply(textclient, user, "NS_SET_UNKNOWN_SETTING", argv[0]); } } else { char query[MAX_QUERY_LEN], *value, *org_value, *tmp, nameBuf[64]; @@ -198,7 +198,7 @@ CMD_BIND(neonserv_cmd_set) { row = mysql_fetch_row(res); i = 0; j = 0; - reply(getTextBot(), user, "NS_SET_HEADER", chan->name); + reply(textclient, user, "NS_SET_HEADER", chan->name); while(channel_settings[i].setting) { if((channel_settings[i].valid & NS_VALID_IF_HALFOP) && !with_halfops) { i++; @@ -213,7 +213,7 @@ CMD_BIND(neonserv_cmd_set) { org_value = (row[j] ? row[j] : defaults[j]); } else if(channel_settings[i].valid & NS_VALID_FUNCTION) { neonserv_cmd_set_function *func = channel_settings[i].parameter; - org_value = func(client, user, chan, event, NULL, NULL); + org_value = func(client, textclient, user, chan, event, NULL, NULL); } else org_value = "0"; value = org_value; @@ -246,13 +246,13 @@ CMD_BIND(neonserv_cmd_set) { } char **table_lines = table_end(table); for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } table_free(table); } } -static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int setting, char *args) { +static void neonserv_cmd_set_setting(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int setting, char *args) { char *value; char nameBuf[64]; //get current value @@ -280,7 +280,7 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod int caccess = atoi(args); int max = ((valid & NS_VALID_NO501) ? 500 : 501); if(caccess < 0 || caccess > max) { - reply(getTextBot(), user, "NS_INVALID_ACCESS", caccess); + reply(textclient, user, "NS_INVALID_ACCESS", caccess); return; } int uaccess = getChannelAccess(user, chan); @@ -289,7 +289,7 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_CANNOT_SET"); + reply(textclient, user, "NS_SET_CANNOT_SET"); return; } } @@ -297,7 +297,7 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_BADLEVEL"); + reply(textclient, user, "NS_SET_BADLEVEL"); return; } } @@ -308,13 +308,13 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod int options = atoi((char *) channel_settings[setting].parameter); int coption = atoi(args); if(coption < 0 || coption >= options) { - reply(getTextBot(), user, "NS_SET_INVALID_OPTION", coption); + reply(textclient, user, "NS_SET_INVALID_OPTION", coption); int i; int nameBufPos = 0; if(valid & NS_HAS_OPT) { for(i = 0; i < options; i++) { sprintf(nameBuf, "NS_SET_OPTION_%s_%d", channel_settings[setting].setting, i); - reply(getTextBot(), user, "\002%d\002 - %s", i, get_language_string(user, nameBuf)); + reply(textclient, user, "\002%d\002 - %s", i, get_language_string(user, nameBuf)); } } else { for(i = 0; i < options; i++) { @@ -322,7 +322,7 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod } if(nameBufPos) { nameBuf[nameBufPos-2] = '\0'; - reply(getTextBot(), user, nameBuf); + reply(textclient, user, nameBuf); } } return; @@ -338,7 +338,7 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod } else if(!strcmp(args, "1") || !stricmp(args, "on") || !stricmp(args, get_language_string(user, "NS_SET_ON"))) { args = "1"; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", args); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", args); return; } } @@ -351,18 +351,18 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod sprintf(nameBuf, "NS_SET_OPTION_%s_%s", channel_settings[setting].setting, value); char *tmp = get_language_string(user, nameBuf); if(tmp) - reply(getTextBot(), user, "\002%s\002 %s - %s", channel_settings[setting].setting, value, tmp); + reply(textclient, user, "\002%s\002 %s - %s", channel_settings[setting].setting, value, tmp); else - reply(getTextBot(), user, "\002%s\002 %s", channel_settings[setting].setting, value); + reply(textclient, user, "\002%s\002 %s", channel_settings[setting].setting, value); } else - reply(getTextBot(), user, "\002%s\002 %s", channel_settings[setting].setting, value); + reply(textclient, user, "\002%s\002 %s", channel_settings[setting].setting, value); if(channel_settings[setting].valid & NS_HAS_HELP) { sprintf(nameBuf, "NS_SET_HELP_%s", channel_settings[setting].setting); - reply(getTextBot(), user, " %s", get_language_string(user, nameBuf)); + reply(textclient, user, " %s", get_language_string(user, nameBuf)); } } -static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { +static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { char *trigger; //get current trigger MYSQL_RES *res; @@ -377,7 +377,7 @@ static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct UserNo if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_TRIGGER_OWNER", chan->name); + reply(textclient, user, "NS_SET_TRIGGER_OWNER", chan->name); return NULL; } } @@ -389,12 +389,12 @@ static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct UserNo logEvent(event); } if(setting) { - reply(getTextBot(), user, "\002%s\002 %s", setting, trigger); + reply(textclient, user, "\002%s\002 %s", setting, trigger); } return trigger; } -static char* neonserv_cmd_set_modes(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { +static char* neonserv_cmd_set_modes(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { char *value; char valueBuf[MAXLEN]; //get current value @@ -420,12 +420,12 @@ static char* neonserv_cmd_set_modes(struct ClientSocket *client, struct UserNode freeModeNode(modenode); } if(setting) { - reply(getTextBot(), user, "\002%s\002 %s", setting, value); + reply(textclient, user, "\002%s\002 %s", setting, value); } return value; } -static char* neonserv_cmd_set_dynlimit(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { +static char* neonserv_cmd_set_dynlimit(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { char *value; char tmp[64]; //get current value @@ -453,12 +453,12 @@ static char* neonserv_cmd_set_dynlimit(struct ClientSocket *client, struct UserN logEvent(event); } if(setting) { - reply(getTextBot(), user, "\002%s\002 %s", setting, value); + reply(textclient, user, "\002%s\002 %s", setting, value); } return value; } -static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { +static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { char *value; //get current value MYSQL_RES *res; @@ -479,7 +479,7 @@ static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct UserN } else if(!strcmp(argument, "1") || !strcmp(argument, "on") || !strcmp(argument, get_language_string(user, "NS_SET_ON"))) { argument = "1"; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", argument); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", argument); return NULL; } printf_mysql_query("UPDATE `channels` SET `channel_nodelete` = '%s' WHERE `channel_id` = '%d'", escape_string(argument), chan->channel_id); @@ -488,12 +488,12 @@ static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct UserN logEvent(event); } if(setting) { - reply(getTextBot(), user, "\002%s\002 %s", setting, value); + reply(textclient, user, "\002%s\002 %s", setting, value); } return value; } -static char* neonserv_cmd_set_backupbot(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { +static char* neonserv_cmd_set_backupbot(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { int backupbot; //get current trigger MYSQL_RES *res; @@ -516,13 +516,13 @@ static char* neonserv_cmd_set_backupbot(struct ClientSocket *client, struct User backupbot = 1; } } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", argument); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", argument); return NULL; } logEvent(event); } if(setting) { - reply(getTextBot(), user, "\002%s\002 %s", setting, (backupbot ? "1" : "0")); + reply(textclient, user, "\002%s\002 %s", setting, (backupbot ? "1" : "0")); } return (backupbot ? "1" : "0"); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_setrank.c b/src/modules/NeonServ.mod/cmd_neonserv_setrank.c index f02ffbe..ac2661a 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_setrank.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_setrank.c @@ -23,10 +23,10 @@ * argv[2-*] value */ -static void neonserv_cmd_setrank_name(struct UserNode *user, int rank_id, char *current, char *value); -static void neonserv_cmd_setrank_info(struct UserNode *user, int rank_id, char *current, char *value); -static void neonserv_cmd_setrank_access(struct UserNode *user, int rank_id, char *current, char *value); -static void neonserv_cmd_setrank_order(struct UserNode *user, int rank_id, char *current, char *value); +static void neonserv_cmd_setrank_name(struct ClientSocket *textclient, struct UserNode *user, int rank_id, char *current, char *value); +static void neonserv_cmd_setrank_info(struct ClientSocket *textclient, struct UserNode *user, int rank_id, char *current, char *value); +static void neonserv_cmd_setrank_access(struct ClientSocket *textclient, struct UserNode *user, int rank_id, char *current, char *value); +static void neonserv_cmd_setrank_order(struct ClientSocket *textclient, struct UserNode *user, int rank_id, char *current, char *value); CMD_BIND(neonserv_cmd_setrank) { MYSQL_RES *res; @@ -34,80 +34,80 @@ CMD_BIND(neonserv_cmd_setrank) { printf_mysql_query("SELECT `rank_id`, `rank_name`, `rank_info`, `rank_access`, `rank_order` FROM `support_ranks` WHERE `rank_id` = '%s'", escape_string(argv[0])); res = mysql_use(); if ((row = mysql_fetch_row(res)) == NULL) { - reply(getTextBot(), user, "NS_SETRANK_NOT_FOUND", argv[0]); + reply(textclient, user, "NS_SETRANK_NOT_FOUND", argv[0]); return; } if(argc < 2) { - reply(getTextBot(), user, "NS_SETRANK_HEAD", row[0]); - reply(getTextBot(), user, "\002NAME \002 %s", row[1]); - reply(getTextBot(), user, "\002INFO \002 %s", row[2]); - reply(getTextBot(), user, "\002ACCESS \002 %s", row[3]); - reply(getTextBot(), user, "\002ORDER \002 %s", row[4]); + reply(textclient, user, "NS_SETRANK_HEAD", row[0]); + reply(textclient, user, "\002NAME \002 %s", row[1]); + reply(textclient, user, "\002INFO \002 %s", row[2]); + reply(textclient, user, "\002ACCESS \002 %s", row[3]); + reply(textclient, user, "\002ORDER \002 %s", row[4]); } else { char *value = NULL; if(argc > 2) { value = merge_argv(argv, 2, argc); } if(!stricmp(argv[1], "name")) - neonserv_cmd_setrank_name(user, atoi(row[0]), row[1], value); + neonserv_cmd_setrank_name(textclient, user, atoi(row[0]), row[1], value); else if(!stricmp(argv[1], "info")) - neonserv_cmd_setrank_info(user, atoi(row[0]), row[2], value); + neonserv_cmd_setrank_info(textclient, user, atoi(row[0]), row[2], value); else if(!stricmp(argv[1], "access")) - neonserv_cmd_setrank_access(user, atoi(row[0]), row[3], value); + neonserv_cmd_setrank_access(textclient, user, atoi(row[0]), row[3], value); else if(!stricmp(argv[1], "order")) - neonserv_cmd_setrank_order(user, atoi(row[0]), row[4], value); + neonserv_cmd_setrank_order(textclient, user, atoi(row[0]), row[4], value); else - reply(getTextBot(), user, "NS_SETRANK_UNKNOWN_SETTING", row[1]); + reply(textclient, user, "NS_SETRANK_UNKNOWN_SETTING", row[1]); } } -static void neonserv_cmd_setrank_name(struct UserNode *user, int rank_id, char *current, char *value) { +static void neonserv_cmd_setrank_name(struct ClientSocket *textclient, struct UserNode *user, int rank_id, char *current, char *value) { if(value && stricmp(value, current)) { MYSQL_RES *res; MYSQL_ROW row; printf_mysql_query("SELECT `rank_id` FROM `support_ranks` WHERE `rank_name` = '%s'", escape_string(value)); res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { - reply(getTextBot(), user, "NS_ADDRANK_EXISTS", value); + reply(textclient, user, "NS_ADDRANK_EXISTS", value); return; } printf_mysql_query("UPDATE `support_ranks` SET `rank_name` = '%s' WHERE `rank_id` = '%d'", escape_string(value), rank_id); current = value; } - reply(getTextBot(), user, "\002NAME\002 %s", current); + reply(textclient, user, "\002NAME\002 %s", current); } -static void neonserv_cmd_setrank_info(struct UserNode *user, int rank_id, char *current, char *value) { +static void neonserv_cmd_setrank_info(struct ClientSocket *textclient, struct UserNode *user, int rank_id, char *current, char *value) { if(value && stricmp(value, current)) { printf_mysql_query("UPDATE `support_ranks` SET `rank_info` = '%s' WHERE `rank_id` = '%d'", escape_string(value), rank_id); current = value; } - reply(getTextBot(), user, "\002INFO\002 %s", current); + reply(textclient, user, "\002INFO\002 %s", current); } -static void neonserv_cmd_setrank_access(struct UserNode *user, int rank_id, char *current, char *value) { +static void neonserv_cmd_setrank_access(struct ClientSocket *textclient, struct UserNode *user, int rank_id, char *current, char *value) { if(value && stricmp(value, current)) { int new_access = atoi(value); if(new_access <= 0 || new_access > 1000) { - reply(getTextBot(), user, "NS_INVALID_ACCESS", new_access); + reply(textclient, user, "NS_INVALID_ACCESS", new_access); return; } printf_mysql_query("UPDATE `users` SET `user_access` = '%d' WHERE `user_rank` = '%d'", new_access, rank_id); printf_mysql_query("UPDATE `support_ranks` SET `rank_access` = '%d' WHERE `rank_id` = '%d'", new_access, rank_id); current = value; } - reply(getTextBot(), user, "\002ACCESS\002 %s", current); + reply(textclient, user, "\002ACCESS\002 %s", current); } -static void neonserv_cmd_setrank_order(struct UserNode *user, int rank_id, char *current, char *value) { +static void neonserv_cmd_setrank_order(struct ClientSocket *textclient, struct UserNode *user, int rank_id, char *current, char *value) { if(value && stricmp(value, current)) { int new_order = atoi(value); if(new_order <= 0 || new_order > 99) { - reply(getTextBot(), user, "NS_SETRANK_ORDER_INVALID", new_order); + reply(textclient, user, "NS_SETRANK_ORDER_INVALID", new_order); return; } printf_mysql_query("UPDATE `support_ranks` SET `rank_order` = '%d' WHERE `rank_id` = '%d'", new_order, rank_id); current = value; } - reply(getTextBot(), user, "\002ORDER\002 %s", current); + reply(textclient, user, "\002ORDER\002 %s", current); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_suspend.c b/src/modules/NeonServ.mod/cmd_neonserv_suspend.c index 4991f9a..57b43be 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_suspend.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_suspend.c @@ -35,19 +35,19 @@ CMD_BIND(neonserv_cmd_suspend) { if(argv[0][0] == '*') { //we've got an auth argv[0]++; - neonserv_cmd_suspend_async1(client, getTextBot(), user, chan, event, argv[0], argv[0]); + neonserv_cmd_suspend_async1(client, textclient, user, chan, event, argv[0], argv[0]); } else { struct UserNode *cuser = getUserByNick(argv[0]); if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_suspend_async1(client, getTextBot(), user, chan, event, argv[0], cuser->auth); + neonserv_cmd_suspend_async1(client, textclient, user, chan, event, argv[0], cuser->auth); } else { struct neonserv_cmd_suspend_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -55,7 +55,7 @@ CMD_BIND(neonserv_cmd_suspend) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; diff --git a/src/modules/NeonServ.mod/cmd_neonserv_topic.c b/src/modules/NeonServ.mod/cmd_neonserv_topic.c index 80e0b2d..116d2a6 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_topic.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_topic.c @@ -50,7 +50,7 @@ CMD_BIND(neonserv_cmd_topic) { if(argc == 0) { //default topic! putsock(client, "TOPIC %s :%s", chan->name, row[5]); - reply(getTextBot(), user, "NS_TOPIC_DONE", row[5]); + reply(textclient, user, "NS_TOPIC_DONE", row[5]); logEvent(event); return; } @@ -63,7 +63,7 @@ CMD_BIND(neonserv_cmd_topic) { printf_mysql_query("UPDATE `channels` SET `channel_defaulttopic` = '%s' WHERE `channel_id` = '%d'", escape_string(newtopic), chan->channel_id); } putsock(client, "TOPIC %s :%s", chan->name, newtopic); - reply(getTextBot(), user, "NS_TOPIC_DONE", newtopic); + reply(textclient, user, "NS_TOPIC_DONE", newtopic); logEvent(event); return; } @@ -72,7 +72,7 @@ CMD_BIND(neonserv_cmd_topic) { int topic_id = 0; topic_id = atoi(argv[0]); if(!topic_id || topic_id > ADVANCEDTOPIC_MAXID) { - reply(getTextBot(), user, "NS_EXTTOPIC_INVALID_ID", argv[0]); + reply(textclient, user, "NS_EXTTOPIC_INVALID_ID", argv[0]); return; } //parse topics @@ -89,7 +89,7 @@ CMD_BIND(neonserv_cmd_topic) { advtopics[i] = ""; if(argc < 2) { //just show the topic with this id - reply(getTextBot(), user, "NS_EXTTOPIC_TOPICID", topic_id, advtopics[topic_id-1]); + reply(textclient, user, "NS_EXTTOPIC_TOPICID", topic_id, advtopics[topic_id-1]); return; } newtopic = merge_argv(argv, 1, argc); @@ -127,7 +127,7 @@ CMD_BIND(neonserv_cmd_topic) { if(topiclistpos > MAXLEN) topiclist[MAXLEN] = '\0'; putsock(client, "TOPIC %s :%s", chan->name, topiclist); - reply(getTextBot(), user, "NS_TOPIC_DONE", topiclist); + reply(textclient, user, "NS_TOPIC_DONE", topiclist); logEvent(event); } else { newtopic = merge_argv(argv, 0, argc); @@ -149,7 +149,7 @@ CMD_BIND(neonserv_cmd_topic) { if(topiclistpos > MAXLEN) topiclist[MAXLEN] = '\0'; putsock(client, "TOPIC %s :%s", chan->name, topiclist); - reply(getTextBot(), user, "NS_TOPIC_DONE", topiclist); + reply(textclient, user, "NS_TOPIC_DONE", topiclist); logEvent(event); } } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_trace.c b/src/modules/NeonServ.mod/cmd_neonserv_trace.c index c9b8e89..717c85e 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_trace.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_trace.c @@ -49,7 +49,7 @@ CMD_BIND(neonserv_cmd_trace) { } for(i = 1; i < argc; i += 2) { if(argc <= i+1) { - reply(getTextBot(), user, "MODCMD_LESS_PARAM_COUNT"); + reply(textclient, user, "MODCMD_LESS_PARAM_COUNT"); return; } if(!stricmp(argv[i], "mask")) criteria->mask = argv[i+1]; @@ -63,7 +63,7 @@ CMD_BIND(neonserv_cmd_trace) { } else if(!strcmp(argv[i+1], "0") || !strcmp(argv[i+1], "off") || !strcmp(argv[i+1], get_language_string(user, "NS_SET_OFF"))) { criteria->authed = 0; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", argv[i+1]); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", argv[i+1]); return; } criteria->flags |= NS_TRACE_CRITERIA_AUTHED; @@ -80,7 +80,7 @@ CMD_BIND(neonserv_cmd_trace) { char tmp[MAXLEN]; int matches = 0; struct UserNode *cuser; - reply(getTextBot(), user, "NS_TRACE_HEADER"); + reply(textclient, user, "NS_TRACE_HEADER"); for(cuser = getAllUsers(NULL); cuser; cuser = getAllUsers(cuser)) { if(show_user && matches == criteria->limit) { //too many @@ -106,8 +106,8 @@ CMD_BIND(neonserv_cmd_trace) { matches++; //output if(show_user) { - reply(getTextBot(), user, "%s!%s@%s %s", cuser->nick, cuser->ident, cuser->host, ((cuser->flags & USERFLAG_ISAUTHED) ? cuser->auth : "*")); + reply(textclient, user, "%s!%s@%s %s", cuser->nick, cuser->ident, cuser->host, ((cuser->flags & USERFLAG_ISAUTHED) ? cuser->auth : "*")); } } - reply(getTextBot(), user, "NS_TABLE_COUNT", matches); + reply(textclient, user, "NS_TABLE_COUNT", matches); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_trim.c b/src/modules/NeonServ.mod/cmd_neonserv_trim.c index 1e382d6..fea0c0a 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_trim.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_trim.c @@ -38,14 +38,14 @@ CMD_BIND(neonserv_cmd_trim) { if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_ACCESS_DENIED"); + reply(textclient, user, "NS_ACCESS_DENIED"); return; } } int min_access, max_access; int duration = strToTime(user, argv[1]); if(duration < 30) { - reply(getTextBot(), user, "NS_TRIM_DURATION_TOO_SHORT", 30); + reply(textclient, user, "NS_TRIM_DURATION_TOO_SHORT", 30); return; } if(!stricmp(argv[0], "users")) { @@ -56,7 +56,7 @@ CMD_BIND(neonserv_cmd_trim) { if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_ACCESS_DENIED"); + reply(textclient, user, "NS_ACCESS_DENIED"); return; } } @@ -77,7 +77,7 @@ CMD_BIND(neonserv_cmd_trim) { } freeModeBuffer(modenode); char timeBuf[MAXLEN]; - reply(getTextBot(), user, "NS_TRIM_BAN_DONE", bancount, chan->name, timeToStr(user, duration, 3, timeBuf)); + reply(textclient, user, "NS_TRIM_BAN_DONE", bancount, chan->name, timeToStr(user, duration, 3, timeBuf)); if(bancount) logEvent(event); return; @@ -89,7 +89,7 @@ CMD_BIND(neonserv_cmd_trim) { min_access = atoi(argv[0]); max_access = atoi(seperator); if(max_access < min_access) { - reply(getTextBot(), user, "NS_INVALID_ACCESS_RANGE", min_access, max_access); + reply(textclient, user, "NS_INVALID_ACCESS_RANGE", min_access, max_access); return; } } else { @@ -100,7 +100,7 @@ CMD_BIND(neonserv_cmd_trim) { if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_NO_ACCESS"); + reply(textclient, user, "NS_NO_ACCESS"); return; } } @@ -111,7 +111,7 @@ CMD_BIND(neonserv_cmd_trim) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->min_access = min_access; @@ -152,7 +152,7 @@ static void neonserv_cmd_trim_async1(struct ClientSocket *client, struct ClientS } } char timeBuf[MAXLEN]; - reply(getTextBot(), user, "NS_TRIM_DONE", trim_count, min_access, max_access, chan->name, timeToStr(user, duration, 3, timeBuf)); + reply(textclient, user, "NS_TRIM_DONE", trim_count, min_access, max_access, chan->name, timeToStr(user, duration, 3, timeBuf)); if(trim_count) logEvent(event); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_unban.c b/src/modules/NeonServ.mod/cmd_neonserv_unban.c index 681bc41..46fb68a 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_unban.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_unban.c @@ -45,7 +45,7 @@ CMD_BIND(neonserv_cmd_unban) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; diff --git a/src/modules/NeonServ.mod/cmd_neonserv_unbanall.c b/src/modules/NeonServ.mod/cmd_neonserv_unbanall.c index 53a34ee..f469146 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_unbanall.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_unbanall.c @@ -32,8 +32,8 @@ CMD_BIND(neonserv_cmd_unbanall) { } freeModeBuffer(modeBuf); if(bans) { - reply(getTextBot(), user, "NS_UNBANALL_DONE", bans, chan->name); + reply(textclient, user, "NS_UNBANALL_DONE", bans, chan->name); logEvent(event); } else - reply(getTextBot(), user, "NS_UNBANALL_FAIL", client->user->nick, chan->name); + reply(textclient, user, "NS_UNBANALL_FAIL", client->user->nick, chan->name); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_unbanme.c b/src/modules/NeonServ.mod/cmd_neonserv_unbanme.c index 0bd8cb2..f52e669 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_unbanme.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_unbanme.c @@ -36,8 +36,8 @@ CMD_BIND(neonserv_cmd_unbanme) { } freeModeBuffer(modeBuf); if(bans) { - reply(getTextBot(), user, "NS_UNBANME_DONE", bans, chan->name); + reply(textclient, user, "NS_UNBANME_DONE", bans, chan->name); logEvent(event); } else - reply(getTextBot(), user, "NS_UNBANME_FAIL", client->user->nick, usermask); + reply(textclient, user, "NS_UNBANME_FAIL", client->user->nick, usermask); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_unsuspend.c b/src/modules/NeonServ.mod/cmd_neonserv_unsuspend.c index 9f71071..9159c0a 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_unsuspend.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_unsuspend.c @@ -35,19 +35,19 @@ CMD_BIND(neonserv_cmd_unsuspend) { if(argv[0][0] == '*') { //we've got an auth argv[0]++; - neonserv_cmd_unsuspend_async1(client, getTextBot(), user, chan, event, argv[0], argv[0]); + neonserv_cmd_unsuspend_async1(client, textclient, user, chan, event, argv[0], argv[0]); } else { struct UserNode *cuser = getUserByNick(argv[0]); if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_unsuspend_async1(client, getTextBot(), user, chan, event, argv[0], cuser->auth); + neonserv_cmd_unsuspend_async1(client, textclient, user, chan, event, argv[0], cuser->auth); } else { struct neonserv_cmd_unsuspend_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -55,7 +55,7 @@ CMD_BIND(neonserv_cmd_unsuspend) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; diff --git a/src/modules/NeonServ.mod/cmd_neonserv_unvisited.c b/src/modules/NeonServ.mod/cmd_neonserv_unvisited.c index 62f86c0..fd265fb 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_unvisited.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_unvisited.c @@ -34,11 +34,11 @@ static TIMEQ_CALLBACK(neonserv_check_unvisited_timer); CMD_BIND(neonserv_cmd_unvisited) { int duration = (argc ? strToTime(user, argv[0]) : 60*60*24*7*3); - reply(getTextBot(), user, "NS_SEARCH_HEADER"); + reply(textclient, user, "NS_SEARCH_HEADER"); int unreg = 0; if(argc > 1 && !stricmp(argv[1], "unregister")) unreg = 1; - neonserv_check_unvisited(client, getTextBot(), user, duration, unreg); + neonserv_check_unvisited(client, textclient, user, duration, unreg); } void neonserv_cmd_unvisited_init() { diff --git a/src/modules/NeonServ.mod/cmd_neonserv_up.c b/src/modules/NeonServ.mod/cmd_neonserv_up.c index 597f023..76dc980 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_up.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_up.c @@ -39,12 +39,12 @@ CMD_BIND(neonserv_cmd_up) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; get_userlist_if_invisible(chan, module_id, neonserv_cmd_up_userlist_lookup, cache); } else { - neonserv_cmd_up_async1(client, getTextBot(), user, chan, event); + neonserv_cmd_up_async1(client, textclient, user, chan, event); } } @@ -57,7 +57,7 @@ static USERLIST_CALLBACK(neonserv_cmd_up_userlist_lookup) { static void neonserv_cmd_up_async1(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event) { struct ChanUser *chanuser = getChanUser(user, chan); if(!chanuser) { - reply(getTextBot(), user, "NS_NOT_ON_CHANNEL_YOU", chan->name); + reply(textclient, user, "NS_NOT_ON_CHANNEL_YOU", chan->name); return; } loadChannelSettings(chan); @@ -83,13 +83,13 @@ static void neonserv_cmd_up_async1(struct ClientSocket *client, struct ClientSoc putsock(client, "MODE %s +o %s", chan->name, user->nick); logEvent(event); } else - reply(getTextBot(), user, "NS_UP_ALREADY_OP", chan->name); + reply(textclient, user, "NS_UP_ALREADY_OP", chan->name); } else if(caccess >= chan_getvoice) { if(!(chanuser->flags & CHANUSERFLAG_VOICED)) { putsock(client, "MODE %s +v %s", chan->name, user->nick); logEvent(event); } else - reply(getTextBot(), user, "NS_UP_ALREADY_VOICE", chan->name); + reply(textclient, user, "NS_UP_ALREADY_VOICE", chan->name); } else - reply(getTextBot(), user, "NS_NOT_ON_USERLIST_YOU", chan->name); + reply(textclient, user, "NS_NOT_ON_USERLIST_YOU", chan->name); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_users.c b/src/modules/NeonServ.mod/cmd_neonserv_users.c index badb15e..21fcf93 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_users.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_users.c @@ -48,7 +48,7 @@ CMD_BIND(neonserv_cmd_users) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->usermask = (usermask ? strdup(usermask) : NULL); cache->min_access = min_access; diff --git a/src/modules/NeonServ.mod/cmd_neonserv_uset.c b/src/modules/NeonServ.mod/cmd_neonserv_uset.c index 822cd5e..41b9dfd 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_uset.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_uset.c @@ -17,13 +17,13 @@ #include "cmd_neonserv.h" -typedef void neonserv_cmd_uset_function(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); -static void neonserv_cmd_uset_language(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); -static void neonserv_cmd_uset_blockinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); -static void neonserv_cmd_uset_noinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); -static void neonserv_cmd_uset_autoinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); -static void neonserv_cmd_uset_noautoop(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); -static void neonserv_cmd_uset_info(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); +typedef void neonserv_cmd_uset_function(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); +static void neonserv_cmd_uset_language(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); +static void neonserv_cmd_uset_blockinvite(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); +static void neonserv_cmd_uset_noinvite(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); +static void neonserv_cmd_uset_autoinvite(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); +static void neonserv_cmd_uset_noautoop(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); +static void neonserv_cmd_uset_info(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults); #define USET_FLAG_GLOBAL 0x01 #define USET_FLAG_CHANNEL 0x02 @@ -67,7 +67,7 @@ CMD_BIND(neonserv_cmd_uset) { loadChannelSettings(chan); if(!(chan->flags & CHANFLAG_CHAN_REGISTERED)) { neonserv_cmd_uset_err_chan_required: - reply(getTextBot(), user, "MODCMD_CHAN_REQUIRED"); + reply(textclient, user, "MODCMD_CHAN_REQUIRED"); return; } if((uset_settings[i].flags & USET_FLAG_DEFAULTS) && !row) { @@ -75,13 +75,13 @@ CMD_BIND(neonserv_cmd_uset) { res = mysql_use(); row = mysql_fetch_row(res); if(!row) { - reply(getTextBot(), user, "NS_NOT_ON_USERLIST_YOU", chan->name); + reply(textclient, user, "NS_NOT_ON_USERLIST_YOU", chan->name); return; } } } neonserv_cmd_uset_function *func = uset_settings[i].function; - func(client, user, chan, event, uset_settings[i].setting, args, row); + func(client, textclient, user, chan, event, uset_settings[i].setting, args, row); j = 1; break; } @@ -89,22 +89,22 @@ CMD_BIND(neonserv_cmd_uset) { } if(j == 0) { //unknown setting - reply(getTextBot(), user, "NS_USET_UNKNOWN_SETTING", argv[0]); + reply(textclient, user, "NS_USET_UNKNOWN_SETTING", argv[0]); } } else { //view all options - reply(getTextBot(), user, "NS_USET_GLOBAL"); + reply(textclient, user, "NS_USET_GLOBAL"); while(uset_settings[i].setting) { if((uset_settings[i].flags & (USET_FLAG_INVISIBLE | USET_FLAG_GLOBAL)) == USET_FLAG_GLOBAL) { neonserv_cmd_uset_function *func = uset_settings[i].function; - func(client, user, chan, event, uset_settings[i].setting, NULL, row); + func(client, textclient, user, chan, event, uset_settings[i].setting, NULL, row); } i++; } if(!chan) return; loadChannelSettings(chan); if(!(chan->flags & CHANFLAG_CHAN_REGISTERED)) return; - reply(getTextBot(), user, "NS_USET_CHANNEL"); + reply(textclient, user, "NS_USET_CHANNEL"); i = 0; while(uset_settings[i].setting) { if((uset_settings[i].flags & (USET_FLAG_INVISIBLE | USET_FLAG_CHANNEL)) == USET_FLAG_CHANNEL) { @@ -118,14 +118,14 @@ CMD_BIND(neonserv_cmd_uset) { } } neonserv_cmd_uset_function *func = uset_settings[i].function; - func(client, user, chan, event, uset_settings[i].setting, NULL, row); + func(client, textclient, user, chan, event, uset_settings[i].setting, NULL, row); } i++; } } } -static void neonserv_cmd_uset_language(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { +static void neonserv_cmd_uset_language(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { MYSQL_RES *res; MYSQL_ROW row; struct language* lang; @@ -148,7 +148,7 @@ static void neonserv_cmd_uset_language(struct ClientSocket *client, struct UserN } } else lang = user->language; - reply(getTextBot(), user, "\002Language \002%s", lang->langname); + reply(textclient, user, "\002Language \002%s", lang->langname); char tmp[MAXLEN]; int tmppos = 0; lang = get_default_language(); @@ -158,10 +158,10 @@ static void neonserv_cmd_uset_language(struct ClientSocket *client, struct UserN while((row = mysql_fetch_row(res)) != NULL) { tmppos += sprintf(tmp + tmppos, ", %s (%s)", row[1], row[0]); } - reply(getTextBot(), user, " %s", tmp); + reply(textclient, user, " %s", tmp); } -static void neonserv_cmd_uset_blockinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { +static void neonserv_cmd_uset_blockinvite(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { MYSQL_RES *res; MYSQL_ROW row; printf_mysql_query("SELECT `user_id`, `user_block_invites` FROM `users` WHERE `user_user` = '%s'", escape_string(user->auth)); @@ -180,10 +180,10 @@ static void neonserv_cmd_uset_blockinvite(struct ClientSocket *client, struct Us printf_mysql_query("UPDATE `users` SET `user_block_invites` = '%d' WHERE `user_id` = '%s'", blockinvite, row[0]); } } - reply(getTextBot(), user, "\002BlockInvite \002%s", (blockinvite ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF"))); + reply(textclient, user, "\002BlockInvite \002%s", (blockinvite ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF"))); } -static void neonserv_cmd_uset_noinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { +static void neonserv_cmd_uset_noinvite(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { MYSQL_RES *res; MYSQL_ROW row; printf_mysql_query("SELECT `id` FROM `noinvite` LEFT JOIN `users` ON `uid` = `user_id` WHERE `cid` = '%d' AND `user_user` = '%s'", chan->channel_id, escape_string(user->auth)); @@ -212,10 +212,10 @@ static void neonserv_cmd_uset_noinvite(struct ClientSocket *client, struct UserN } } } - reply(getTextBot(), user, "\002NoInvite \002%s", (noinvite ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF"))); + reply(textclient, user, "\002NoInvite \002%s", (noinvite ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF"))); } -static void neonserv_cmd_uset_autoinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { +static void neonserv_cmd_uset_autoinvite(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { int flags = atoi(defaults[0]); int getInvite = 0; if(!defaults[3] && atoi(defaults[2]) >= atoi(getChanDefault("channel_getinvite"))) @@ -236,12 +236,12 @@ static void neonserv_cmd_uset_autoinvite(struct ClientSocket *client, struct Use } } if(getInvite) - reply(getTextBot(), user, "\002AutoInvite \002%s", ((flags & DB_CHANUSER_AUTOINVITE) ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF"))); + reply(textclient, user, "\002AutoInvite \002%s", ((flags & DB_CHANUSER_AUTOINVITE) ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF"))); else - reply(getTextBot(), user, "\002AutoInvite \002%s", get_language_string(user, "NS_USET_NO_ACCESS")); + reply(textclient, user, "\002AutoInvite \002%s", get_language_string(user, "NS_USET_NO_ACCESS")); } -static void neonserv_cmd_uset_noautoop(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { +static void neonserv_cmd_uset_noautoop(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { int flags = atoi(defaults[0]); if(argument) { if(!strcmp(argument, "0") || !stricmp(argument, "off") || !stricmp(argument, get_language_string(user, "NS_SET_OFF"))) { @@ -256,10 +256,10 @@ static void neonserv_cmd_uset_noautoop(struct ClientSocket *client, struct UserN } } } - reply(getTextBot(), user, "\002NoAutoOp \002%s", ((flags & DB_CHANUSER_NOAUTOOP) ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF"))); + reply(textclient, user, "\002NoAutoOp \002%s", ((flags & DB_CHANUSER_NOAUTOOP) ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF"))); } -static void neonserv_cmd_uset_info(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { +static void neonserv_cmd_uset_info(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) { char *infoline; if(argument) { infoline = argument; @@ -268,5 +268,5 @@ static void neonserv_cmd_uset_info(struct ClientSocket *client, struct UserNode printf_mysql_query("UPDATE `chanusers` SET `chanuser_infoline` = '%s' WHERE `chanuser_id` = '%s'", escape_string(infoline), defaults[4]); } else infoline = defaults[1]; - reply(getTextBot(), user, "\002Info \002%s", infoline); + reply(textclient, user, "\002Info \002%s", infoline); } diff --git a/src/modules/NeonServ.mod/cmd_neonserv_voice.c b/src/modules/NeonServ.mod/cmd_neonserv_voice.c index b50556e..351ac2a 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_voice.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_voice.c @@ -37,7 +37,7 @@ CMD_BIND(neonserv_cmd_voice) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->nicks = strdup(merge_argv(argv, 0, argc)); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_voiceall.c b/src/modules/NeonServ.mod/cmd_neonserv_voiceall.c index 29b4525..273053b 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_voiceall.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_voiceall.c @@ -37,7 +37,7 @@ CMD_BIND(neonserv_cmd_voiceall) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; if(argc > 0) { diff --git a/src/modules/NeonServ.mod/cmd_neonserv_wipeinfo.c b/src/modules/NeonServ.mod/cmd_neonserv_wipeinfo.c index 8541f5b..f287040 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_wipeinfo.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_wipeinfo.c @@ -35,19 +35,19 @@ CMD_BIND(neonserv_cmd_wipeinfo) { if(argv[0][0] == '*') { //we've got an auth argv[0]++; - neonserv_cmd_wipeinfo_async1(client, getTextBot(), user, chan, event, argv[0], argv[0]); + neonserv_cmd_wipeinfo_async1(client, textclient, user, chan, event, argv[0], argv[0]); } else { struct UserNode *cuser = getUserByNick(argv[0]); if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - neonserv_cmd_wipeinfo_async1(client, getTextBot(), user, chan, event, argv[0], cuser->auth); + neonserv_cmd_wipeinfo_async1(client, textclient, user, chan, event, argv[0], cuser->auth); } else { struct neonserv_cmd_wipeinfo_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -55,7 +55,7 @@ CMD_BIND(neonserv_cmd_wipeinfo) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; diff --git a/src/modules/NeonSpam.mod/cmd_neonspam_addbad.c b/src/modules/NeonSpam.mod/cmd_neonspam_addbad.c index d6ca60c..c6452c6 100644 --- a/src/modules/NeonSpam.mod/cmd_neonspam_addbad.c +++ b/src/modules/NeonSpam.mod/cmd_neonspam_addbad.c @@ -53,5 +53,5 @@ CMD_BIND(neonspam_cmd_addbad) { badword->reaction_time = reaction_time; badword->next = settings->badwords; settings->badwords = badword; - reply(getTextBot(), user, "SS_BADWORD_ADDED", cbadword, badword_id); + reply(textclient, user, "SS_BADWORD_ADDED", cbadword, badword_id); } diff --git a/src/modules/NeonSpam.mod/cmd_neonspam_badwords.c b/src/modules/NeonSpam.mod/cmd_neonspam_badwords.c index 9767e35..96741f7 100644 --- a/src/modules/NeonSpam.mod/cmd_neonspam_badwords.c +++ b/src/modules/NeonSpam.mod/cmd_neonspam_badwords.c @@ -29,7 +29,7 @@ CMD_BIND(neonspam_cmd_badwords) { printf_mysql_query("SELECT `badword_match` FROM `spamserv_badwords` WHERE `badword_id` = '%d' AND `badword_cid` = '%d'", badword_id, chan->channel_id); res = mysql_use(); if(!(row = mysql_fetch_row(res))) { - reply(getTextBot(), user, "SS_BADWORD_ID_UNKNOWN", badword_id, chan->name); + reply(textclient, user, "SS_BADWORD_ID_UNKNOWN", badword_id, chan->name); return; } //to be continued... @@ -99,7 +99,7 @@ CMD_BIND(neonspam_cmd_badwords) { char **table_lines = table_end(table); int i; for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } table_free(table); } diff --git a/src/modules/NeonSpam.mod/cmd_neonspam_delbad.c b/src/modules/NeonSpam.mod/cmd_neonspam_delbad.c index 0a34d02..e1154b2 100644 --- a/src/modules/NeonSpam.mod/cmd_neonspam_delbad.c +++ b/src/modules/NeonSpam.mod/cmd_neonspam_delbad.c @@ -28,7 +28,7 @@ CMD_BIND(neonspam_cmd_delbad) { printf_mysql_query("SELECT `badword_match` FROM `spamserv_badwords` WHERE `badword_id` = '%d' AND `badword_cid` = '%d'", badword_id, chan->channel_id); res = mysql_use(); if(!(row = mysql_fetch_row(res))) { - reply(getTextBot(), user, "SS_BADWORD_ID_UNKNOWN", badword_id, chan->name); + reply(textclient, user, "SS_BADWORD_ID_UNKNOWN", badword_id, chan->name); return; } struct NeonSpamBadword *badword, *prev = NULL; @@ -45,5 +45,5 @@ CMD_BIND(neonspam_cmd_delbad) { prev = badword; } printf_mysql_query("DELETE FROM `spamserv_badwords` WHERE `badword_id` = '%d'", badword_id); - reply(getTextBot(), user, "SS_BADWORD_DELETED", row[0], badword_id); + reply(textclient, user, "SS_BADWORD_DELETED", row[0], badword_id); } diff --git a/src/modules/NeonSpam.mod/cmd_neonspam_set.c b/src/modules/NeonSpam.mod/cmd_neonspam_set.c index 92bce28..752f2b2 100644 --- a/src/modules/NeonSpam.mod/cmd_neonspam_set.c +++ b/src/modules/NeonSpam.mod/cmd_neonspam_set.c @@ -17,18 +17,18 @@ #include "cmd_neonspam.h" -typedef char* neonspam_cmd_set_function(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); -static char* neonspam_cmd_set_trigger(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); -static char* neonspam_cmd_setflags(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); -static char* neonspam_cmd_setexcept(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); -static char* neonspam_cmd_set_reaction(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); -static char* neonspam_cmd_set_reaction_time(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); -static char* neonspam_cmd_setpercent(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); -static char* neonspam_cmd_setsensibility(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); -static char* neonspam_cmd_set_spamlimit(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); -static char* neonspam_cmd_setscanops(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); -static char* neonspam_cmd_setscanvoice(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); -static char* neonspam_cmd_setscanexcept(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +typedef char* neonspam_cmd_set_function(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +static char* neonspam_cmd_set_trigger(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +static char* neonspam_cmd_setflags(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +static char* neonspam_cmd_setexcept(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +static char* neonspam_cmd_set_reaction(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +static char* neonspam_cmd_set_reaction_time(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +static char* neonspam_cmd_setpercent(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +static char* neonspam_cmd_setsensibility(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +static char* neonspam_cmd_set_spamlimit(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +static char* neonspam_cmd_setscanops(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +static char* neonspam_cmd_setscanvoice(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); +static char* neonspam_cmd_setscanexcept(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf); static MYSQL_ROW neonspam_settings_row, neonspam_settings_defaults; #define SPAMSERV_SETTINGS_QUERY "`channel_spam_reaction`, `channel_spam_reaction_duration`, `channel_flood_reaction`, `channel_flood_reaction_duration`, `channel_join_reaction`, `channel_join_reaction_duration`, `channel_botnet_bantime`, `channel_caps_reaction`, `channel_caps_reaction_duration`, `channel_digit_reaction`, `channel_digit_reaction_duration`, `channel_badword_reaction`, `channel_badword_reaction_duration`" @@ -155,7 +155,7 @@ CMD_BIND(neonspam_cmd_set) { if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_DEFAULTS_OWNER", chan->name); + reply(textclient, user, "NS_SET_DEFAULTS_OWNER", chan->name); return; } } @@ -169,10 +169,10 @@ CMD_BIND(neonspam_cmd_set) { sprintf(defaultskey, "%08x", seed); if(argc > 1 && !strcmp(argv[1], defaultskey)) { printf_mysql_query("UPDATE `channels` SET " SPAMSERV_SETTINGS_RESET " WHERE `channel_id` = '%d'", chan->channel_id); - reply(getTextBot(), user, "NS_SET_DEFAULTS_DONE", chan->name); + reply(textclient, user, "NS_SET_DEFAULTS_DONE", chan->name); logEvent(event); } else { - reply(getTextBot(), user, "NS_SET_DEFAULTS_CODE", chan->name, defaultskey); + reply(textclient, user, "NS_SET_DEFAULTS_CODE", chan->name, defaultskey); } } else if(argc && strcmp(argv[0], "help")) { //find the correct command @@ -187,7 +187,7 @@ CMD_BIND(neonspam_cmd_set) { char valueBuf[MAXLEN], nameBuf[MAXLEN]; char *value, *optimized_value, *option_help; neonspam_cmd_set_function *func = neonspam_settings[i].function; - value = func(client, user, chan, event, neonspam_settings[i].intparam, neonspam_settings[i].charparam, args, valueBuf); + value = func(client, textclient, user, chan, event, neonspam_settings[i].intparam, neonspam_settings[i].charparam, args, valueBuf); if(value) { optimized_value = value; if(neonspam_settings[i].flags & SET_BOOL) { @@ -201,13 +201,13 @@ CMD_BIND(neonspam_cmd_set) { option_help = get_language_string(user, nameBuf); } else option_help = NULL; - reply(getTextBot(), user, "\002%s\002 %s%s%s", neonspam_settings[i].setting, optimized_value, (option_help ? " - " : ""), (option_help ? option_help : "")); + reply(textclient, user, "\002%s\002 %s%s%s", neonspam_settings[i].setting, optimized_value, (option_help ? " - " : ""), (option_help ? option_help : "")); if(neonspam_settings[i].flags & SET_OPT) { int maxoption = (neonspam_settings[i].flags & SET_OPT_MAX) >> SET_OPT_SHIFT; for(j = 0; j < maxoption; j++) { sprintf(nameBuf, "SS_SET_OPTION_%s_%d", neonspam_settings[i].setting, j); option_help = get_language_string(user, nameBuf); - reply(getTextBot(), user, " \002%d\002 - %s", j, option_help); + reply(textclient, user, " \002%d\002 - %s", j, option_help); } } if((neonspam_settings[i].flags & SET_HELP) && argc && !strcmp(argv[0], "help")) { @@ -215,7 +215,7 @@ CMD_BIND(neonspam_cmd_set) { sprintf(nameBuf, "SS_SET_HELP_%s", neonspam_settings[i].setting); tmp = get_language_string(user, nameBuf); if(tmp) { - reply(getTextBot(), user, " %s", tmp); + reply(textclient, user, " %s", tmp); } } } @@ -226,7 +226,7 @@ CMD_BIND(neonspam_cmd_set) { } if(j == 0) { //unknown setting - reply(getTextBot(), user, "NS_SET_UNKNOWN_SETTING", argv[0]); + reply(textclient, user, "NS_SET_UNKNOWN_SETTING", argv[0]); } } else { char valueBuf[MAXLEN], nameBuf[MAXLEN]; @@ -247,14 +247,14 @@ CMD_BIND(neonspam_cmd_set) { res = mysql_use(); neonspam_settings_row = mysql_fetch_row(res); i = -1; - reply(getTextBot(), user, "NS_SET_HEADER", chan->name); + reply(textclient, user, "NS_SET_HEADER", chan->name); while(neonspam_settings[++i].setting) { if((chan->spam_settings->flags & (neonspam_settings[i].if_flag & SPAMSETTINGS_FLAGS)) != (neonspam_settings[i].if_flag & SPAMSETTINGS_FLAGS)) continue; if((neonspam_settings[i].if_flag & SPAMSETTINGS_ISTIMEBAN) && !boolflag) continue; neonspam_cmd_set_function *func = neonspam_settings[i].function; - value = func(client, user, chan, event, neonspam_settings[i].intparam, neonspam_settings[i].charparam, NULL, valueBuf); + value = func(client, textclient, user, chan, event, neonspam_settings[i].intparam, neonspam_settings[i].charparam, NULL, valueBuf); if(neonspam_settings[i].if_flag & SPAMSETTINGS_SETTIMEBAN) boolflag = !strcmp(value, "2"); //TODO: append option or help info @@ -292,13 +292,13 @@ CMD_BIND(neonspam_cmd_set) { } char **table_lines = table_end(table); for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } table_free(table); } } -static char* neonspam_cmd_set_trigger(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf) { +static char* neonspam_cmd_set_trigger(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf) { char *trigger; //get current trigger MYSQL_RES *res; @@ -313,7 +313,7 @@ static char* neonspam_cmd_set_trigger(struct ClientSocket *client, struct UserNo if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_TRIGGER_OWNER", chan->name); + reply(textclient, user, "NS_SET_TRIGGER_OWNER", chan->name); return NULL; } } @@ -327,7 +327,7 @@ static char* neonspam_cmd_set_trigger(struct ClientSocket *client, struct UserNo return trigger; } -static char* neonspam_cmd_setflags(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int flag, char *charparam, char *argument, char *retBuf) { +static char* neonspam_cmd_setflags(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int flag, char *charparam, char *argument, char *retBuf) { char *value = ((chan->spam_settings->flags & flag) ? "1" : "0"); if(argument) { //binary argument... @@ -336,7 +336,7 @@ static char* neonspam_cmd_setflags(struct ClientSocket *client, struct UserNode } else if(!strcmp(argument, "1") || !stricmp(argument, "on") || !stricmp(argument, get_language_string(user, "NS_SET_ON"))) { chan->spam_settings->flags |= flag; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", argument); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", argument); return NULL; } char str_flags[50]; @@ -347,13 +347,13 @@ static char* neonspam_cmd_setflags(struct ClientSocket *client, struct UserNode return value; } -static char* neonspam_cmd_setexcept(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int exceptlvl_index, char *field, char *argument, char *retBuf) { +static char* neonspam_cmd_setexcept(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int exceptlvl_index, char *field, char *argument, char *retBuf) { unsigned int value = chan->spam_settings->exceptlevel[exceptlvl_index]; if(argument) { //numeric argument... (access) int caccess = atoi(argument); if(caccess < 0 || caccess > 501) { - reply(getTextBot(), user, "NS_INVALID_ACCESS", caccess); + reply(textclient, user, "NS_INVALID_ACCESS", caccess); return NULL; } int uaccess = getChannelAccess(user, chan); @@ -362,7 +362,7 @@ static char* neonspam_cmd_setexcept(struct ClientSocket *client, struct UserNode if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_CANNOT_SET"); + reply(textclient, user, "NS_SET_CANNOT_SET"); return NULL; } } @@ -370,7 +370,7 @@ static char* neonspam_cmd_setexcept(struct ClientSocket *client, struct UserNode if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_BADLEVEL"); + reply(textclient, user, "NS_SET_BADLEVEL"); return NULL; } } @@ -382,7 +382,7 @@ static char* neonspam_cmd_setexcept(struct ClientSocket *client, struct UserNode return retBuf; } -static char* neonspam_cmd_set_reaction(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int mysqlindex, char *mysqlfield, char *argument, char *retBuf) { +static char* neonspam_cmd_set_reaction(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int mysqlindex, char *mysqlfield, char *argument, char *retBuf) { if(argument) { /* valid options: * 0/kick - kick @@ -396,7 +396,7 @@ static char* neonspam_cmd_set_reaction(struct ClientSocket *client, struct UserN } else if(!strcmp(argument, "2") || !stricmp(argument, "ban")) { argument = "2"; } else { - reply(getTextBot(), user, "NS_SET_INVALID_OPTION_STR", argument); + reply(textclient, user, "NS_SET_INVALID_OPTION_STR", argument); return NULL; } printf_mysql_query("UPDATE `channels` SET `%s` = '%s' WHERE `channel_id` = '%d' ", mysqlfield, argument, chan->channel_id); @@ -415,12 +415,12 @@ static char* neonspam_cmd_set_reaction(struct ClientSocket *client, struct UserN } } -static char* neonspam_cmd_set_reaction_time(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int mysqlindex, char *mysqlfield, char *argument, char *retBuf) { +static char* neonspam_cmd_set_reaction_time(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int mysqlindex, char *mysqlfield, char *argument, char *retBuf) { int duration; if(argument) { duration = strToTime(user, argument); if(duration < 30) { - reply(getTextBot(), user, "NS_TIMEBAN_DURATION_TOO_SHORT", 30); + reply(textclient, user, "NS_TIMEBAN_DURATION_TOO_SHORT", 30); return NULL; } printf_mysql_query("UPDATE `channels` SET `%s` = '%s' WHERE `channel_id` = '%d' ", mysqlfield, argument, chan->channel_id); @@ -440,14 +440,14 @@ static char* neonspam_cmd_set_reaction_time(struct ClientSocket *client, struct return retBuf; } -static char* neonspam_cmd_setpercent(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int percent_index, char *mysqlfield, char *argument, char *retBuf) { +static char* neonspam_cmd_setpercent(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int percent_index, char *mysqlfield, char *argument, char *retBuf) { unsigned int value = chan->spam_settings->percent[percent_index]; if(argument) { //numeric argument... (access) value = atoi(argument); if(value < 0 || value > 100) { //invalid percent value - reply(getTextBot(), user, "SS_SET_PERCENT", value); + reply(textclient, user, "SS_SET_PERCENT", value); return NULL; } chan->spam_settings->percent[percent_index] = value; @@ -457,13 +457,13 @@ static char* neonspam_cmd_setpercent(struct ClientSocket *client, struct UserNod return retBuf; } -static char* neonspam_cmd_setsensibility(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int sensibility_index, char *mysqlfield, char *argument, char *retBuf) { +static char* neonspam_cmd_setsensibility(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int sensibility_index, char *mysqlfield, char *argument, char *retBuf) { if(argument) { //change value char *delimiter = strstr(argument, ":"); if(!delimiter) { //invalid format - reply(getTextBot(), user, "SS_SET_SENSIBILITY", argument); + reply(textclient, user, "SS_SET_SENSIBILITY", argument); return NULL; } *delimiter = '\0'; @@ -472,12 +472,12 @@ static char* neonspam_cmd_setsensibility(struct ClientSocket *client, struct Use int timep = atoi(delimiter); if(amount > MAX_FLOOD_AMOUNT || amount < MIN_FLOOD_AMOUNT) { //invalid amount - reply(getTextBot(), user, "SS_SET_SENSIBILITY_AMOUNT", amount, MIN_FLOOD_AMOUNT, MAX_FLOOD_AMOUNT); + reply(textclient, user, "SS_SET_SENSIBILITY_AMOUNT", amount, MIN_FLOOD_AMOUNT, MAX_FLOOD_AMOUNT); return NULL; } if(timep > MAX_FLOOD_TIME || timep < 0) { //invalid time period - reply(getTextBot(), user, "SS_SET_SENSIBILITY_TIME", timep, 0, MAX_FLOOD_TIME); + reply(textclient, user, "SS_SET_SENSIBILITY_TIME", timep, 0, MAX_FLOOD_TIME); return NULL; } char amountfield[50], timefield[50]; @@ -493,13 +493,13 @@ static char* neonspam_cmd_setsensibility(struct ClientSocket *client, struct Use return retBuf; } -static char* neonspam_cmd_set_spamlimit(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf) { +static char* neonspam_cmd_set_spamlimit(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf) { if(argument) { //change value int amount = atoi(argument); if(amount > 10 || amount < 2) { //invalid amount - reply(getTextBot(), user, "SS_SET_SPAMLIMIT", amount, 2, 10); + reply(textclient, user, "SS_SET_SPAMLIMIT", amount, 2, 10); return NULL; } printf_mysql_query("UPDATE `channels` SET `channel_maxrepeat` = '%d' WHERE `channel_id` = '%d' ", amount, chan->channel_id); @@ -510,7 +510,7 @@ static char* neonspam_cmd_set_spamlimit(struct ClientSocket *client, struct User return retBuf; } -static char* neonspam_cmd_setscanops(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int flag, char *charparam, char *argument, char *retBuf) { +static char* neonspam_cmd_setscanops(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int flag, char *charparam, char *argument, char *retBuf) { int i = 0; int value = -1; int identical = 1; @@ -534,7 +534,7 @@ static char* neonspam_cmd_setscanops(struct ClientSocket *client, struct UserNod } else if(!strcmp(argument, "1") || !stricmp(argument, "on") || !stricmp(argument, get_language_string(user, "NS_SET_ON"))) { value = 1; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", argument); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", argument); return NULL; } i = 0; @@ -542,7 +542,7 @@ static char* neonspam_cmd_setscanops(struct ClientSocket *client, struct UserNod while(neonspam_settings[i].setting) { if(neonspam_settings[i].flags & SET_SCANOPS) { neonspam_cmd_set_function *func = neonspam_settings[i].function; - func(client, user, chan, event, neonspam_settings[i].intparam, neonspam_settings[i].charparam, (value ? "1" : "0"), valueBuf); + func(client, textclient, user, chan, event, neonspam_settings[i].intparam, neonspam_settings[i].charparam, (value ? "1" : "0"), valueBuf); } i++; } @@ -555,7 +555,7 @@ static char* neonspam_cmd_setscanops(struct ClientSocket *client, struct UserNod return "?"; } -static char* neonspam_cmd_setscanvoice(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int flag, char *charparam, char *argument, char *retBuf) { +static char* neonspam_cmd_setscanvoice(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int flag, char *charparam, char *argument, char *retBuf) { int i = 0; int value = -1; int identical = 1; @@ -579,7 +579,7 @@ static char* neonspam_cmd_setscanvoice(struct ClientSocket *client, struct UserN } else if(!strcmp(argument, "1") || !stricmp(argument, "on") || !stricmp(argument, get_language_string(user, "NS_SET_ON"))) { value = 1; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", argument); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", argument); return NULL; } i = 0; @@ -587,7 +587,7 @@ static char* neonspam_cmd_setscanvoice(struct ClientSocket *client, struct UserN while(neonspam_settings[i].setting) { if(neonspam_settings[i].flags & SET_SCANVOICE) { neonspam_cmd_set_function *func = neonspam_settings[i].function; - func(client, user, chan, event, neonspam_settings[i].intparam, neonspam_settings[i].charparam, (value ? "1" : "0"), valueBuf); + func(client, textclient, user, chan, event, neonspam_settings[i].intparam, neonspam_settings[i].charparam, (value ? "1" : "0"), valueBuf); } i++; } @@ -600,7 +600,7 @@ static char* neonspam_cmd_setscanvoice(struct ClientSocket *client, struct UserN return "?"; } -static char* neonspam_cmd_setscanexcept(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int flag, char *charparam, char *argument, char *retBuf) { +static char* neonspam_cmd_setscanexcept(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int flag, char *charparam, char *argument, char *retBuf) { int i = 0; int value = -1; int identical = 1; @@ -621,7 +621,7 @@ static char* neonspam_cmd_setscanexcept(struct ClientSocket *client, struct User //numeric argument... (access) int caccess = atoi(argument); if(caccess < 0 || caccess > 501) { - reply(getTextBot(), user, "NS_INVALID_ACCESS", caccess); + reply(textclient, user, "NS_INVALID_ACCESS", caccess); return NULL; } int uaccess = getChannelAccess(user, chan); @@ -630,7 +630,7 @@ static char* neonspam_cmd_setscanexcept(struct ClientSocket *client, struct User if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_CANNOT_SET"); + reply(textclient, user, "NS_SET_CANNOT_SET"); return NULL; } } @@ -638,7 +638,7 @@ static char* neonspam_cmd_setscanexcept(struct ClientSocket *client, struct User if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_BADLEVEL"); + reply(textclient, user, "NS_SET_BADLEVEL"); return NULL; } } @@ -648,7 +648,7 @@ static char* neonspam_cmd_setscanexcept(struct ClientSocket *client, struct User while(neonspam_settings[i].setting) { if(neonspam_settings[i].flags & SET_SCANEXCEPT) { neonspam_cmd_set_function *func = neonspam_settings[i].function; - func(client, user, chan, event, neonspam_settings[i].intparam, neonspam_settings[i].charparam, retBuf, valueBuf); + func(client, textclient, user, chan, event, neonspam_settings[i].intparam, neonspam_settings[i].charparam, retBuf, valueBuf); } i++; } diff --git a/src/modules/funcmd.mod/cmd_funcmds.c b/src/modules/funcmd.mod/cmd_funcmds.c index 76157d2..010a070 100644 --- a/src/modules/funcmd.mod/cmd_funcmds.c +++ b/src/modules/funcmd.mod/cmd_funcmds.c @@ -64,7 +64,7 @@ struct current_funcmd_header { static struct current_funcmd_header current_funcmd; #define FUNCMD_HEADER \ -current_funcmd.client = getTextBot(); \ +current_funcmd.client = textclient; \ current_funcmd.user = user; \ current_funcmd.chan = chan; \ {\ @@ -74,7 +74,7 @@ current_funcmd.chan = chan; \ res = mysql_use(); \ row = mysql_fetch_row(res); \ if(!row || !strcmp(row[0], "0")) { \ - reply(getTextBot(), user, "NS_FUN_DISABLED", chan->name); \ + reply(textclient, user, "NS_FUN_DISABLED", chan->name); \ return; \ } else if(!strcmp(row[0], "1")) \ current_funcmd.send_notice = 1; \ diff --git a/src/modules/global.mod/cmd_global_addbot.c b/src/modules/global.mod/cmd_global_addbot.c index 8bf8545..dbe2956 100644 --- a/src/modules/global.mod/cmd_global_addbot.c +++ b/src/modules/global.mod/cmd_global_addbot.c @@ -26,18 +26,18 @@ CMD_BIND(global_cmd_addbot) { MYSQL_RES *res; int botid; if((botid = resolve_botalias(argv[1])) == -1) { - reply(getTextBot(), user, "NS_SETBOT_INVALID_CLASS", argv[1]); + reply(textclient, user, "NS_SETBOT_INVALID_CLASS", argv[1]); return; } printf_mysql_query("SELECT `id` FROM `bots` WHERE `nick` = '%s'", escape_string(argv[0])); res = mysql_use(); if(mysql_fetch_row(res)) { - reply(getTextBot(), user, "NS_ADDBOT_EXISTING", argv[0]); + reply(textclient, user, "NS_ADDBOT_EXISTING", argv[0]); return; } printf_mysql_query("INSERT INTO `bots` (`nick`, `botclass`) VALUES ('%s', '%d')", escape_string(argv[0]), botid); botid = (int) mysql_insert_id(get_mysql_conn()); - reply(getTextBot(), user, "NS_ADDBOT_DONE", argv[0], botid); + reply(textclient, user, "NS_ADDBOT_DONE", argv[0], botid); logEvent(event); } diff --git a/src/modules/global.mod/cmd_global_bind.c b/src/modules/global.mod/cmd_global_bind.c index 848016b..6f76257 100644 --- a/src/modules/global.mod/cmd_global_bind.c +++ b/src/modules/global.mod/cmd_global_bind.c @@ -32,7 +32,7 @@ CMD_BIND(global_cmd_bind) { 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]); + reply(textclient, user, "NS_BIND_ALREADY", argv[0], row[0]); return; } char *params; @@ -42,13 +42,13 @@ CMD_BIND(global_cmd_bind) { params = ""; struct cmd_function *function = find_cmd_function(client->botid, argv[1]); if(!function) { - reply(getTextBot(), user, "NS_BIND_UNKNOWN", argv[1]); + reply(textclient, user, "NS_BIND_UNKNOWN", argv[1]); return; } 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_botwise_set_parameters(client->botid, client->clientid, argv[0], params); - reply(getTextBot(), user, "NS_BIND_DONE", argv[0], function->name); + reply(textclient, user, "NS_BIND_DONE", argv[0], function->name); logEvent(event); } diff --git a/src/modules/global.mod/cmd_global_bots.c b/src/modules/global.mod/cmd_global_bots.c index 970fa94..eb9aae8 100644 --- a/src/modules/global.mod/cmd_global_bots.c +++ b/src/modules/global.mod/cmd_global_bots.c @@ -67,7 +67,7 @@ CMD_BIND(global_cmd_bots) { char **table_lines = table_end(table); int i; for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } table_free(table); } \ No newline at end of file diff --git a/src/modules/global.mod/cmd_global_command.c b/src/modules/global.mod/cmd_global_command.c index f47902d..b65ce8c 100644 --- a/src/modules/global.mod/cmd_global_command.c +++ b/src/modules/global.mod/cmd_global_command.c @@ -29,7 +29,7 @@ CMD_BIND(global_cmd_command) { MYSQL_ROW row; struct cmd_binding *cbind = find_botwise_cmd_binding(client->botid, client->clientid, argv[0]); if (!cbind) { - reply(getTextBot(), user, "NS_UNBIND_NOT_FOUND", argv[0]); + reply(textclient, user, "NS_UNBIND_NOT_FOUND", argv[0]); return; } ident = argv[0]; @@ -41,9 +41,9 @@ CMD_BIND(global_cmd_command) { } } else parameters[0] = '\0'; - reply(getTextBot(), user, "NS_COMMAND_BINDING", cbind->cmd, cbind->func->name, parameters); + reply(textclient, user, "NS_COMMAND_BINDING", cbind->cmd, cbind->func->name, parameters); if(chan) - reply(getTextBot(), user, "NS_COMMAND_ACCESS", global_cmd_command_chanaccess(cbind, chan), global_cmd_command_operaccess(cbind)); + reply(textclient, user, "NS_COMMAND_ACCESS", global_cmd_command_chanaccess(cbind, chan), global_cmd_command_operaccess(cbind)); printf_mysql_query("SELECT `user_lang` FROM `users` WHERE `user_user` = '%s'", escape_string(user->auth)); res = mysql_use(); char *lang; @@ -80,7 +80,7 @@ CMD_BIND(global_cmd_command) { case '\n': if(sendBufPos) { sendBuf[sendBufPos] = '\0'; - reply(getTextBot(), user, "%s", sendBuf); + reply(textclient, user, "%s", sendBuf); sendBufPos = 0; } break; @@ -115,7 +115,7 @@ CMD_BIND(global_cmd_command) { } if(sendBufPos) { sendBuf[sendBufPos] = '\0'; - reply(getTextBot(), user, "%s", sendBuf); + reply(textclient, user, "%s", sendBuf); sendBufPos = 0; } } diff --git a/src/modules/global.mod/cmd_global_commands.c b/src/modules/global.mod/cmd_global_commands.c index 6186c7f..1c4b3c6 100644 --- a/src/modules/global.mod/cmd_global_commands.c +++ b/src/modules/global.mod/cmd_global_commands.c @@ -76,7 +76,7 @@ CMD_BIND(global_cmd_commands) { //send the table char **table_lines = table_end(table); for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } table_free(table); } diff --git a/src/modules/global.mod/cmd_global_delbot.c b/src/modules/global.mod/cmd_global_delbot.c index 75d8e1c..b7fd3fc 100644 --- a/src/modules/global.mod/cmd_global_delbot.c +++ b/src/modules/global.mod/cmd_global_delbot.c @@ -27,7 +27,7 @@ CMD_BIND(global_cmd_delbot) { printf_mysql_query("SELECT `id` FROM `bots` WHERE `nick` = '%s' OR `id` = '%s'", escape_string(argv[0]), escape_string(argv[0])); res = mysql_use(); if((row = mysql_fetch_row(res)) == NULL) { - reply(getTextBot(), user, "NS_DELBOT_NOT_FOUND", argv[0]); + reply(textclient, user, "NS_DELBOT_NOT_FOUND", argv[0]); return; } int botid = atoi(row[0]); @@ -40,6 +40,6 @@ CMD_BIND(global_cmd_delbot) { break; } } - reply(getTextBot(), user, "NS_DELBOT_DONE"); + reply(textclient, user, "NS_DELBOT_DONE"); logEvent(event); } diff --git a/src/modules/global.mod/cmd_global_extscript.c b/src/modules/global.mod/cmd_global_extscript.c index 513ef07..1cc8b65 100644 --- a/src/modules/global.mod/cmd_global_extscript.c +++ b/src/modules/global.mod/cmd_global_extscript.c @@ -56,7 +56,7 @@ CMD_BIND(global_cmd_extscript) { row = mysql_fetch_row(res); if(!row || !strcmp(row[0], "0")) { //disabled - reply(getTextBot(), user, "NS_FUN_DISABLED", chan->name); + reply(textclient, user, "NS_FUN_DISABLED", chan->name); return; } else if(!strcmp(row[0], "2")) answere_channel = 1; @@ -130,7 +130,7 @@ CMD_BIND(global_cmd_extscript) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->event = event; cache->user = user; cache->chan = chan; diff --git a/src/modules/global.mod/cmd_global_god.c b/src/modules/global.mod/cmd_global_god.c index 441d0e7..14f9540 100644 --- a/src/modules/global.mod/cmd_global_god.c +++ b/src/modules/global.mod/cmd_global_god.c @@ -28,26 +28,26 @@ CMD_BIND(global_cmd_god) { printf_mysql_query("UPDATE `users` SET `user_god` = '0' WHERE `user_user` = '%s'", escape_string(user->auth)); user->flags &= ~USERFLAG_GOD_MODE; } - reply(getTextBot(), user, "NS_GOD_OFF"); + reply(textclient, user, "NS_GOD_OFF"); } else if(!strcmp(argv[0], "1") || !stricmp(argv[0], "on") || !stricmp(argv[0], get_language_string(user, "NS_SET_ON"))) { if(!isGodMode(user)) { printf_mysql_query("UPDATE `users` SET `user_god` = '1' WHERE `user_user` = '%s'", escape_string(user->auth)); user->flags |= USERFLAG_GOD_MODE; } - reply(getTextBot(), user, "NS_GOD_ON"); + reply(textclient, user, "NS_GOD_ON"); } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", argv[0]); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", argv[0]); return; } } else { if(isGodMode(user)) { printf_mysql_query("UPDATE `users` SET `user_god` = '0' WHERE `user_user` = '%s'", escape_string(user->auth)); user->flags &= ~USERFLAG_GOD_MODE; - reply(getTextBot(), user, "NS_GOD_OFF"); + reply(textclient, user, "NS_GOD_OFF"); } else { printf_mysql_query("UPDATE `users` SET `user_god` = '1' WHERE `user_user` = '%s'", escape_string(user->auth)); user->flags |= USERFLAG_GOD_MODE; - reply(getTextBot(), user, "NS_GOD_ON"); + reply(textclient, user, "NS_GOD_ON"); } } } \ No newline at end of file diff --git a/src/modules/global.mod/cmd_global_meminfo.c b/src/modules/global.mod/cmd_global_meminfo.c index 1ecf98c..b08819c 100644 --- a/src/modules/global.mod/cmd_global_meminfo.c +++ b/src/modules/global.mod/cmd_global_meminfo.c @@ -24,7 +24,7 @@ CMD_BIND(global_cmd_meminfo) { #ifndef ENABLE_MEMORY_DEBUG - reply(getTextBot(), user, "NS_MEMINFO_DISABLED"); + reply(textclient, user, "NS_MEMINFO_DISABLED"); #else if(argc > 0) { struct Table *table; @@ -70,7 +70,7 @@ CMD_BIND(global_cmd_meminfo) { char **table_lines = table_end(table); int i; for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } table_free(table); } else { @@ -110,7 +110,7 @@ CMD_BIND(global_cmd_meminfo) { char **table_lines = table_end(table); int i; for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } table_free(table); } diff --git a/src/modules/global.mod/cmd_global_modcmd.c b/src/modules/global.mod/cmd_global_modcmd.c index 16b8dc1..c901138 100644 --- a/src/modules/global.mod/cmd_global_modcmd.c +++ b/src/modules/global.mod/cmd_global_modcmd.c @@ -23,17 +23,17 @@ * argv[2] value */ -static int global_cmd_modcmd_params(struct UserNode *user, struct cmd_binding *cbind, char *value); -static int global_cmd_modcmd_flags(struct UserNode *user, struct cmd_binding *cbind, char *value); -static int global_cmd_modcmd_caccess(struct UserNode *user, struct cmd_binding *cbind, char *value); -static int global_cmd_modcmd_oaccess(struct UserNode *user, struct cmd_binding *cbind, char *value); +static int global_cmd_modcmd_params(struct ClientSocket *textclient, struct UserNode *user, struct cmd_binding *cbind, char *value); +static int global_cmd_modcmd_flags(struct ClientSocket *textclient, struct UserNode *user, struct cmd_binding *cbind, char *value); +static int global_cmd_modcmd_caccess(struct ClientSocket *textclient, struct UserNode *user, struct cmd_binding *cbind, char *value); +static int global_cmd_modcmd_oaccess(struct ClientSocket *textclient, struct UserNode *user, struct cmd_binding *cbind, char *value); CMD_BIND(global_cmd_modcmd) { MYSQL_RES *res; MYSQL_ROW row; struct cmd_binding *cbind = find_botwise_cmd_binding(client->botid, client->clientid, argv[0]); if (!cbind) { - reply(getTextBot(), user, "NS_UNBIND_NOT_FOUND", argv[0]); + reply(textclient, user, "NS_UNBIND_NOT_FOUND", argv[0]); return; } int uaccess = 0; @@ -44,7 +44,7 @@ CMD_BIND(global_cmd_modcmd) { } int gaccess = ((cbind->flags & CMDFLAG_OVERRIDE_GLOBAL_ACCESS) ? cbind->global_access : cbind->func->global_access); if(gaccess > uaccess) { - reply(getTextBot(), user, "NS_MODCMD_OUTRANKED", cbind->cmd, gaccess); + reply(textclient, user, "NS_MODCMD_OUTRANKED", cbind->cmd, gaccess); return; } if(argc > 1) { @@ -54,26 +54,26 @@ CMD_BIND(global_cmd_modcmd) { } else value = NULL; int log_event = 0; - if(!stricmp(argv[1], "caccess")) log_event = global_cmd_modcmd_caccess(user, cbind, value); - else if(!stricmp(argv[1], "oaccess")) log_event = global_cmd_modcmd_oaccess(user, cbind, value); - else if(!stricmp(argv[1], "parameters")) log_event = global_cmd_modcmd_params(user, cbind, value); - else if(!stricmp(argv[1], "flags")) log_event = global_cmd_modcmd_flags(user, cbind, value); + if(!stricmp(argv[1], "caccess")) log_event = global_cmd_modcmd_caccess(textclient, user, cbind, value); + else if(!stricmp(argv[1], "oaccess")) log_event = global_cmd_modcmd_oaccess(textclient, user, cbind, value); + else if(!stricmp(argv[1], "parameters")) log_event = global_cmd_modcmd_params(textclient, user, cbind, value); + else if(!stricmp(argv[1], "flags")) log_event = global_cmd_modcmd_flags(textclient, user, cbind, value); else { - reply(getTextBot(), user, "NS_MODCMD_SETTING", argv[1]); + reply(textclient, user, "NS_MODCMD_SETTING", argv[1]); } if(log_event) { logEvent(event); } } else { - reply(getTextBot(), user, "NS_MODCMD_HEADER", cbind->cmd); - global_cmd_modcmd_params(user, cbind, NULL); - global_cmd_modcmd_caccess(user, cbind, NULL); - global_cmd_modcmd_oaccess(user, cbind, NULL); - global_cmd_modcmd_flags(user, cbind, NULL); + reply(textclient, user, "NS_MODCMD_HEADER", cbind->cmd); + global_cmd_modcmd_params(textclient, user, cbind, NULL); + global_cmd_modcmd_caccess(textclient, user, cbind, NULL); + global_cmd_modcmd_oaccess(textclient, user, cbind, NULL); + global_cmd_modcmd_flags(textclient, user, cbind, NULL); } } -static int global_cmd_modcmd_params(struct UserNode *user, struct cmd_binding *cbind, char *value) { +static int global_cmd_modcmd_params(struct ClientSocket *textclient, struct UserNode *user, struct cmd_binding *cbind, char *value) { char parameters[MAXLEN]; int ret = 0; if(cbind->paramcount) { @@ -94,7 +94,7 @@ static int global_cmd_modcmd_params(struct UserNode *user, struct cmd_binding *c strcpy(parameters, (value ? value : "")); ret = 1; } - reply(getTextBot(), user, "\002PARAMETERS \002 %s", parameters); + reply(textclient, user, "\002PARAMETERS \002 %s", parameters); return ret; } @@ -116,7 +116,7 @@ static const struct { {NULL, 0} }; -static int global_cmd_modcmd_flags(struct UserNode *user, struct cmd_binding *cbind, char *value) { +static int global_cmd_modcmd_flags(struct ClientSocket *textclient, struct UserNode *user, struct cmd_binding *cbind, char *value) { char flags[MAXLEN]; int flagpos = 0; int ret = 0; @@ -151,7 +151,7 @@ static int global_cmd_modcmd_flags(struct UserNode *user, struct cmd_binding *cb } } if(cbind->func->flags & current_flag) { - reply(getTextBot(), user, "NS_MODCMD_STATIC_FLAG"); + reply(textclient, user, "NS_MODCMD_STATIC_FLAG"); return 0; } if(add) @@ -172,11 +172,11 @@ static int global_cmd_modcmd_flags(struct UserNode *user, struct cmd_binding *cb i++; } flags[flagpos] = '\0'; - reply(getTextBot(), user, "\002FLAGS \002 %s", flags); + reply(textclient, user, "\002FLAGS \002 %s", flags); return ret; } -static int global_cmd_modcmd_caccess(struct UserNode *user, struct cmd_binding *cbind, char *value) { +static int global_cmd_modcmd_caccess(struct ClientSocket *textclient, struct UserNode *user, struct cmd_binding *cbind, char *value) { char caccess[MAXLEN]; int ret = 0; if(value) { @@ -194,11 +194,11 @@ static int global_cmd_modcmd_caccess(struct UserNode *user, struct cmd_binding * sprintf(caccess, "%s", cbind->channel_access); else sprintf(caccess, "\00314%s\003", (cbind->func->channel_access ? cbind->func->channel_access : "0")); - reply(getTextBot(), user, "\002CACCESS \002 %s", caccess); + reply(textclient, user, "\002CACCESS \002 %s", caccess); return ret; } -static int global_cmd_modcmd_oaccess(struct UserNode *user, struct cmd_binding *cbind, char *value) { +static int global_cmd_modcmd_oaccess(struct ClientSocket *textclient, struct UserNode *user, struct cmd_binding *cbind, char *value) { char oaccess[MAXLEN]; int ret = 0; if(value) { @@ -216,7 +216,7 @@ static int global_cmd_modcmd_oaccess(struct UserNode *user, struct cmd_binding * sprintf(oaccess, "%d", cbind->global_access); else sprintf(oaccess, "\00314%d\003", (cbind->func->global_access ? cbind->func->global_access : 0)); - reply(getTextBot(), user, "\002OACCESS \002 %s", oaccess); + reply(textclient, user, "\002OACCESS \002 %s", oaccess); return ret; } diff --git a/src/modules/global.mod/cmd_global_motd.c b/src/modules/global.mod/cmd_global_motd.c index 512567d..f58e683 100644 --- a/src/modules/global.mod/cmd_global_motd.c +++ b/src/modules/global.mod/cmd_global_motd.c @@ -30,7 +30,7 @@ CMD_BIND(global_cmd_motd) { while (fgets(line, MAXLEN, f) != NULL) { if((a = strchr(line, '\n'))) *a = '\0'; - reply(getTextBot(), user, "%s", line); + reply(textclient, user, "%s", line); } fclose(f); } \ No newline at end of file diff --git a/src/modules/global.mod/cmd_global_move.c b/src/modules/global.mod/cmd_global_move.c index 3a1d50f..aeac792 100644 --- a/src/modules/global.mod/cmd_global_move.c +++ b/src/modules/global.mod/cmd_global_move.c @@ -27,17 +27,17 @@ CMD_BIND(global_cmd_move) { char *channel = argv[0]; char *new_channel = argv[1]; if(!is_valid_chan(new_channel)) { - reply(getTextBot(), user, "NS_INVALID_CHANNEL_NAME", new_channel); + reply(textclient, user, "NS_INVALID_CHANNEL_NAME", new_channel); return; } if(!stricmp(channel, new_channel)) { - reply(getTextBot(), user, "NS_MOVE_SELF"); + reply(textclient, user, "NS_MOVE_SELF"); return; } printf_mysql_query("SELECT `channel_id` FROM `bot_channels` LEFT JOIN `channels` ON `channel_id` = `chanid` WHERE `channel_name` = '%s'", escape_string(new_channel)); res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { - reply(getTextBot(), user, "NS_REGISTER_ALREADY", new_channel, client->user->nick); + reply(textclient, user, "NS_REGISTER_ALREADY", new_channel, client->user->nick); return; } int chanid; @@ -46,17 +46,17 @@ CMD_BIND(global_cmd_move) { if ((row = mysql_fetch_row(res)) != NULL) { chanid = atoi(row[0]); } else { - reply(getTextBot(), user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); + reply(textclient, user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); return; } printf_mysql_query("SELECT `botid`, `bot_channels`.`id`, `suspended` FROM `bot_channels` LEFT JOIN `bots` ON `bot_channels`.`botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chanid, client->botid); res = mysql_use(); if ((row = mysql_fetch_row(res)) == NULL) { - reply(getTextBot(), user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); + reply(textclient, user, "NS_UNREGISTER_NOT_REGISTERED", argv[0], client->user->nick); return; } if(!strcmp(row[2], "1")) { - reply(getTextBot(), user, "NS_MOVE_SUSPENDED"); + reply(textclient, user, "NS_MOVE_SUSPENDED"); return; } int botid = atoi(row[0]); @@ -92,6 +92,6 @@ CMD_BIND(global_cmd_move) { channode->flags &= ~CHANFLAG_CHAN_REGISTERED; channode->channel_id = 0; } - reply(getTextBot(), user, "NS_MOVE_DONE", channel, new_channel); + reply(textclient, user, "NS_MOVE_DONE", channel, new_channel); logEvent(event); } diff --git a/src/modules/global.mod/cmd_global_netinfo.c b/src/modules/global.mod/cmd_global_netinfo.c index b07fdd9..a976e00 100644 --- a/src/modules/global.mod/cmd_global_netinfo.c +++ b/src/modules/global.mod/cmd_global_netinfo.c @@ -22,7 +22,7 @@ */ CMD_BIND(global_cmd_netinfo) { - reply(getTextBot(), user, "NS_NETINFO_HEADER"); + reply(textclient, user, "NS_NETINFO_HEADER"); char tmp[MAXLEN]; struct Table *table; table = table_init(2, 19, 0); @@ -170,7 +170,7 @@ CMD_BIND(global_cmd_netinfo) { char **table_lines = table_end(table); int i; for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } table_free(table); } diff --git a/src/modules/global.mod/cmd_global_reconnect.c b/src/modules/global.mod/cmd_global_reconnect.c index 254fa47..99197a9 100644 --- a/src/modules/global.mod/cmd_global_reconnect.c +++ b/src/modules/global.mod/cmd_global_reconnect.c @@ -29,7 +29,7 @@ CMD_BIND(global_cmd_reconnect) { printf_mysql_query("SELECT `id` FROM `bots` WHERE `nick` = '%s' OR `id` = '%s'", escape_string(argv[0]), escape_string(argv[0])); res = mysql_use(); if((row = mysql_fetch_row(res)) == NULL) { - reply(getTextBot(), user, "NS_DELBOT_NOT_FOUND", argv[0]); + reply(textclient, user, "NS_DELBOT_NOT_FOUND", argv[0]); return; } botid = atoi(row[0]); @@ -44,6 +44,6 @@ CMD_BIND(global_cmd_reconnect) { disconnect_socket(client); connect_socket(client); } - reply(getTextBot(), user, "NS_RECONNECT_DONE"); + reply(textclient, user, "NS_RECONNECT_DONE"); logEvent(event); } diff --git a/src/modules/global.mod/cmd_global_register.c b/src/modules/global.mod/cmd_global_register.c index 81e0180..03f94fa 100644 --- a/src/modules/global.mod/cmd_global_register.c +++ b/src/modules/global.mod/cmd_global_register.c @@ -44,14 +44,14 @@ CMD_BIND(global_cmd_register) { char *botname = (argc > 2 ? argv[2] : NULL); int multibot = 0; if(!is_valid_chan(channel)) { - reply(getTextBot(), user, "NS_INVALID_CHANNEL_NAME", argv[0]); + reply(textclient, user, "NS_INVALID_CHANNEL_NAME", argv[0]); return; } printf_mysql_query("SELECT `botid`, `botclass` FROM `bot_channels` LEFT JOIN `bots` ON `bot_channels`.`botid` = `bots`.`id` LEFT JOIN `channels` ON `bot_channels`.`chanid` = `channels`.`channel_id` WHERE `channel_name` = '%s'", escape_string(channel)); res = mysql_use(); while ((row = mysql_fetch_row(res)) != NULL) { if(atoi(row[1]) == client->botid && (client->botid || client->clientid == atoi(row[0]))) { - reply(getTextBot(), user, "NS_REGISTER_ALREADY", argv[0], client->user->nick); + reply(textclient, user, "NS_REGISTER_ALREADY", argv[0], client->user->nick); return; } else multibot = 1; @@ -65,11 +65,11 @@ CMD_BIND(global_cmd_register) { printf_mysql_query("DELETE FROM `donotregister` WHERE `dnr_id` = '%s'", row[3]); } else { char expireBuf[MAXLEN]; - reply(getTextBot(), user, "NS_DNR_SET_EXPIRES", channel, row[0], timeToStr(user, (expire_time - time(0)), 2, expireBuf), row[2]); + reply(textclient, user, "NS_DNR_SET_EXPIRES", channel, row[0], timeToStr(user, (expire_time - time(0)), 2, expireBuf), row[2]); return; } } else { - reply(getTextBot(), user, "NS_DNR_SET", channel, row[0], row[2]); + reply(textclient, user, "NS_DNR_SET", channel, row[0], row[2]); return; } } @@ -77,10 +77,10 @@ CMD_BIND(global_cmd_register) { if(multibot && argc < 2) { //skip all these owner check lines multibot = 2; - global_cmd_register_async1(client, getTextBot(), user, chan, event, channel, NULL, multibot, botname); + global_cmd_register_async1(client, textclient, user, chan, event, channel, NULL, multibot, botname); return; } else if(argc < 2) { - global_cmd_register_async1(client, getTextBot(), user, chan, event, channel, user->auth, multibot, botname); + global_cmd_register_async1(client, textclient, user, chan, event, channel, user->auth, multibot, botname); return; } //check own access @@ -90,7 +90,7 @@ CMD_BIND(global_cmd_register) { printf_mysql_query("SELECT `user_user` FROM `users` WHERE `user_user` = '%s'", escape_string(argv[1])); res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { - global_cmd_register_async1(client, getTextBot(), user, chan, event, channel, row[0], multibot, botname); + global_cmd_register_async1(client, textclient, user, chan, event, channel, row[0], multibot, botname); } else { //we need to create a new user... //but first lookup the auth to check if it really exists @@ -100,7 +100,7 @@ CMD_BIND(global_cmd_register) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; @@ -115,13 +115,13 @@ CMD_BIND(global_cmd_register) { if(!cuser) { cuser = createTempUser(argv[1]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[1]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[1]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - global_cmd_register_async1(client, getTextBot(), user, chan, event, channel, cuser->auth, multibot, botname); + global_cmd_register_async1(client, textclient, user, chan, event, channel, cuser->auth, multibot, botname); } else { struct global_cmd_register_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -129,7 +129,7 @@ CMD_BIND(global_cmd_register) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->chan = chan; cache->event = event; @@ -196,11 +196,11 @@ static void global_cmd_register_async1(struct ClientSocket *client, struct Clien printf_mysql_query("DELETE FROM `donotregister` WHERE `dnr_id` = '%s'", row[3]); } else { char expireBuf[MAXLEN]; - reply(getTextBot(), user, "NS_DNR_SET_EXPIRES", auth, row[0], timeToStr(user, (expire_time - time(0)), 2, expireBuf), row[2]); + reply(textclient, user, "NS_DNR_SET_EXPIRES", auth, row[0], timeToStr(user, (expire_time - time(0)), 2, expireBuf), row[2]); return; } } else { - reply(getTextBot(), user, "NS_DNR_SET", auth, row[0], row[2]); + reply(textclient, user, "NS_DNR_SET", auth, row[0], row[2]); return; } } diff --git a/src/modules/global.mod/cmd_global_reloadlang.c b/src/modules/global.mod/cmd_global_reloadlang.c index aab281a..c41378c 100644 --- a/src/modules/global.mod/cmd_global_reloadlang.c +++ b/src/modules/global.mod/cmd_global_reloadlang.c @@ -28,8 +28,8 @@ CMD_BIND(global_cmd_reloadlang) { res = mysql_use(); if((row = mysql_fetch_row(res)) != NULL) { load_language(row[1], row[0]); - reply(getTextBot(), user, "NS_RELOADLANG_DONE", row[0], row[1]); + reply(textclient, user, "NS_RELOADLANG_DONE", row[0], row[1]); } else { - reply(getTextBot(), user, "NS_RELOADLANG_UNKNOWN", argv[0]); + reply(textclient, user, "NS_RELOADLANG_UNKNOWN", argv[0]); } } \ No newline at end of file diff --git a/src/modules/global.mod/cmd_global_setaccess.c b/src/modules/global.mod/cmd_global_setaccess.c index f69b3c0..c931640 100644 --- a/src/modules/global.mod/cmd_global_setaccess.c +++ b/src/modules/global.mod/cmd_global_setaccess.c @@ -39,13 +39,13 @@ CMD_BIND(global_cmd_setaccess) { MYSQL_ROW row; caccess = atoi(argv[1]); if(caccess < 0 || caccess > 1000) { - reply(getTextBot(), user, "NS_INVALID_ACCESS", caccess); + reply(textclient, user, "NS_INVALID_ACCESS", caccess); return; } printf_mysql_query("SELECT `user_access` FROM `users` WHERE `user_user` = '%s'", escape_string(user->auth)); res = mysql_use(); if ((row = mysql_fetch_row(res)) == NULL || atoi(row[0]) < caccess) { - reply(getTextBot(), user, "NS_ACCESS_OUTRANKED"); + reply(textclient, user, "NS_ACCESS_OUTRANKED"); return; } if(argv[0][0] == '*') { @@ -54,7 +54,7 @@ CMD_BIND(global_cmd_setaccess) { printf_mysql_query("SELECT `user_user` FROM `users` WHERE `user_user` = '%s'", escape_string(argv[0])); res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { - global_cmd_setaccess_async1(client, getTextBot(), user, event, argv[0], row[0], caccess); + global_cmd_setaccess_async1(client, textclient, user, event, argv[0], row[0], caccess); } else { //we need to create a new user... //but first lookup the auth to check if it really exists @@ -64,7 +64,7 @@ CMD_BIND(global_cmd_setaccess) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->access = caccess; @@ -76,13 +76,13 @@ CMD_BIND(global_cmd_setaccess) { if(!cuser) { cuser = createTempUser(argv[0]); if(!cuser) { - reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]); + reply(textclient, user, "NS_USER_UNKNOWN", argv[0]); return; } cuser->flags |= USERFLAG_ISTMPUSER; } if(cuser->flags & USERFLAG_ISAUTHED) { - global_cmd_setaccess_async1(client, getTextBot(), user, event, argv[0], cuser->auth, caccess); + global_cmd_setaccess_async1(client, textclient, user, event, argv[0], cuser->auth, caccess); } else { struct global_cmd_setaccess_cache *cache = malloc(sizeof(*cache)); if (!cache) { @@ -90,7 +90,7 @@ CMD_BIND(global_cmd_setaccess) { return; } cache->client = client; - cache->textclient = getTextBot(); + cache->textclient = textclient; cache->user = user; cache->event = event; cache->access = caccess; diff --git a/src/modules/global.mod/cmd_global_setbot.c b/src/modules/global.mod/cmd_global_setbot.c index 8b58b72..ad93242 100644 --- a/src/modules/global.mod/cmd_global_setbot.c +++ b/src/modules/global.mod/cmd_global_setbot.c @@ -23,21 +23,21 @@ * argv[2] value */ -static int global_cmd_setbot_active(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_nick(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_ident(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_realname(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_server(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_port(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_bind(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_ssl(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_serverpass(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_class(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_queue(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_prefered(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_maxchan(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_priority(struct UserNode *user, MYSQL_ROW bot, char *value); -static int global_cmd_setbot_trigger(struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_active(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_nick(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_ident(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_realname(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_server(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_port(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_bind(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_ssl(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_serverpass(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_class(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_queue(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_prefered(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_maxchan(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_priority(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); +static int global_cmd_setbot_trigger(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value); CMD_BIND(global_cmd_setbot) { MYSQL_RES *res; @@ -46,7 +46,7 @@ CMD_BIND(global_cmd_setbot) { printf_mysql_query("SELECT `active`, `nick`, `server`, `port`, `pass`, `botclass`, `textbot`, `queue`, `defaulttrigger`, `max_channels`, `register_priority`, `bind`, `ident`, `realname`, `ssl`, `id` FROM `bots` WHERE `id` = '%d'", botid); res = mysql_use(); if(!(row = mysql_fetch_row(res))) { - reply(getTextBot(), user, "NS_SETBOT_UNKNOWN", botid); + reply(textclient, user, "NS_SETBOT_UNKNOWN", botid); return; } if(argc > 1) { @@ -56,23 +56,23 @@ CMD_BIND(global_cmd_setbot) { } else value = NULL; int log_event = 0; - if(!stricmp(argv[1], "active")) log_event = global_cmd_setbot_active(user, row, value); - else if(!stricmp(argv[1], "nick")) log_event = global_cmd_setbot_nick(user, row, value); - else if(!stricmp(argv[1], "ident")) log_event = global_cmd_setbot_ident(user, row, value); - else if(!stricmp(argv[1], "realname")) log_event = global_cmd_setbot_realname(user, row, value); - else if(!stricmp(argv[1], "server")) log_event = global_cmd_setbot_server(user, row, value); - else if(!stricmp(argv[1], "port")) log_event = global_cmd_setbot_port(user, row, value); - else if(!stricmp(argv[1], "bind")) log_event = global_cmd_setbot_bind(user, row, value); - else if(!stricmp(argv[1], "ssl")) log_event = global_cmd_setbot_ssl(user, row, value); - else if(!stricmp(argv[1], "serverpass")) log_event = global_cmd_setbot_serverpass(user, row, value); - else if(!stricmp(argv[1], "botclass")) log_event = global_cmd_setbot_class(user, row, value); - else if(!stricmp(argv[1], "queue")) log_event = global_cmd_setbot_queue(user, row, value); - else if(!stricmp(argv[1], "prefered")) log_event = global_cmd_setbot_prefered(user, row, value); - else if(!stricmp(argv[1], "maxchan")) log_event = global_cmd_setbot_maxchan(user, row, value); - else if(!stricmp(argv[1], "priority")) log_event = global_cmd_setbot_priority(user, row, value); - else if(!stricmp(argv[1], "trigger")) log_event = global_cmd_setbot_trigger(user, row, value); + if(!stricmp(argv[1], "active")) log_event = global_cmd_setbot_active(textclient, user, row, value); + else if(!stricmp(argv[1], "nick")) log_event = global_cmd_setbot_nick(textclient, user, row, value); + else if(!stricmp(argv[1], "ident")) log_event = global_cmd_setbot_ident(textclient, user, row, value); + else if(!stricmp(argv[1], "realname")) log_event = global_cmd_setbot_realname(textclient, user, row, value); + else if(!stricmp(argv[1], "server")) log_event = global_cmd_setbot_server(textclient, user, row, value); + else if(!stricmp(argv[1], "port")) log_event = global_cmd_setbot_port(textclient, user, row, value); + else if(!stricmp(argv[1], "bind")) log_event = global_cmd_setbot_bind(textclient, user, row, value); + else if(!stricmp(argv[1], "ssl")) log_event = global_cmd_setbot_ssl(textclient, user, row, value); + else if(!stricmp(argv[1], "serverpass")) log_event = global_cmd_setbot_serverpass(textclient, user, row, value); + else if(!stricmp(argv[1], "botclass")) log_event = global_cmd_setbot_class(textclient, user, row, value); + else if(!stricmp(argv[1], "queue")) log_event = global_cmd_setbot_queue(textclient, user, row, value); + else if(!stricmp(argv[1], "prefered")) log_event = global_cmd_setbot_prefered(textclient, user, row, value); + else if(!stricmp(argv[1], "maxchan")) log_event = global_cmd_setbot_maxchan(textclient, user, row, value); + else if(!stricmp(argv[1], "priority")) log_event = global_cmd_setbot_priority(textclient, user, row, value); + else if(!stricmp(argv[1], "trigger")) log_event = global_cmd_setbot_trigger(textclient, user, row, value); else { - reply(getTextBot(), user, "NS_SETBOT_SETTING", argv[1]); + reply(textclient, user, "NS_SETBOT_SETTING", argv[1]); } if(log_event) { if(!stricmp(argv[1], "serverpass") && value) { //censor server password @@ -84,26 +84,26 @@ CMD_BIND(global_cmd_setbot) { logEvent(event); } } else { - reply(getTextBot(), user, "NS_SETBOT_HEADER", botid); - global_cmd_setbot_active(user, row, NULL); - global_cmd_setbot_nick(user, row, NULL); - global_cmd_setbot_ident(user, row, NULL); - global_cmd_setbot_realname(user, row, NULL); - global_cmd_setbot_server(user, row, NULL); - global_cmd_setbot_port(user, row, NULL); - global_cmd_setbot_bind(user, row, NULL); - global_cmd_setbot_ssl(user, row, NULL); - global_cmd_setbot_serverpass(user, row, NULL); - global_cmd_setbot_class(user, row, NULL); - global_cmd_setbot_queue(user, row, NULL); - global_cmd_setbot_prefered(user, row, NULL); - global_cmd_setbot_maxchan(user, row, NULL); - global_cmd_setbot_priority(user, row, NULL); - global_cmd_setbot_trigger(user, row, NULL); + reply(textclient, user, "NS_SETBOT_HEADER", botid); + global_cmd_setbot_active(textclient, user, row, NULL); + global_cmd_setbot_nick(textclient, user, row, NULL); + global_cmd_setbot_ident(textclient, user, row, NULL); + global_cmd_setbot_realname(textclient, user, row, NULL); + global_cmd_setbot_server(textclient, user, row, NULL); + global_cmd_setbot_port(textclient, user, row, NULL); + global_cmd_setbot_bind(textclient, user, row, NULL); + global_cmd_setbot_ssl(textclient, user, row, NULL); + global_cmd_setbot_serverpass(textclient, user, row, NULL); + global_cmd_setbot_class(textclient, user, row, NULL); + global_cmd_setbot_queue(textclient, user, row, NULL); + global_cmd_setbot_prefered(textclient, user, row, NULL); + global_cmd_setbot_maxchan(textclient, user, row, NULL); + global_cmd_setbot_priority(textclient, user, row, NULL); + global_cmd_setbot_trigger(textclient, user, row, NULL); } } -static int global_cmd_setbot_active(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_active(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { int val = ((bot[0] && !strcmp(bot[0], "1")) ? 1 : 0); int ret = 0; if(value) { @@ -112,7 +112,7 @@ static int global_cmd_setbot_active(struct UserNode *user, MYSQL_ROW bot, char * } else if(!strcmp(value, "1") || !stricmp(value, "on") || !stricmp(value, get_language_string(user, "NS_SET_ON"))) { val = 1; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", value); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", value); return 0; } if(val != ((bot[0] && !strcmp(bot[0], "1")) ? 1 : 0)) { @@ -161,16 +161,16 @@ static int global_cmd_setbot_active(struct UserNode *user, MYSQL_ROW bot, char * ret = 1; } } - reply(getTextBot(), user, "\002ACTIVE \002 %s", get_language_string(user, (val ? "NS_SET_ON" : "NS_SET_OFF"))); + reply(textclient, user, "\002ACTIVE \002 %s", get_language_string(user, (val ? "NS_SET_ON" : "NS_SET_OFF"))); return ret; } -static int global_cmd_setbot_nick(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_nick(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { char *val = bot[1]; int ret = 0; if(value) { if(!is_valid_nick(value)) { - reply(getTextBot(), user, "NS_SETBOT_NICK_INVALID", value); + reply(textclient, user, "NS_SETBOT_NICK_INVALID", value); return 0; } //rename the bot @@ -189,11 +189,11 @@ static int global_cmd_setbot_nick(struct UserNode *user, MYSQL_ROW bot, char *va val = value; ret = 1; } - reply(getTextBot(), user, "\002NICK \002 %s", val); + reply(textclient, user, "\002NICK \002 %s", val); return ret; } -static int global_cmd_setbot_ident(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_ident(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { char *val = bot[12]; int ret = 0; if(value) { @@ -213,11 +213,11 @@ static int global_cmd_setbot_ident(struct UserNode *user, MYSQL_ROW bot, char *v val = value; ret = 1; } - reply(getTextBot(), user, "\002IDENT \002 %s", val); + reply(textclient, user, "\002IDENT \002 %s", val); return ret; } -static int global_cmd_setbot_realname(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_realname(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { char *val = bot[13]; int ret = 0; if(value) { @@ -237,11 +237,11 @@ static int global_cmd_setbot_realname(struct UserNode *user, MYSQL_ROW bot, char val = value; ret = 1; } - reply(getTextBot(), user, "\002REALNAME \002 %s", val); + reply(textclient, user, "\002REALNAME \002 %s", val); return ret; } -static int global_cmd_setbot_server(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_server(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { char *val = bot[2]; int ret = 0; if(value) { @@ -252,7 +252,7 @@ static int global_cmd_setbot_server(struct UserNode *user, MYSQL_ROW bot, char * free(client->host); client->host = strdup(value); if(client->flags & SOCKET_FLAG_READY) - reply(getTextBot(), user, "NS_SETBOT_NEED_RESTART"); + reply(textclient, user, "NS_SETBOT_NEED_RESTART"); break; } } @@ -260,17 +260,17 @@ static int global_cmd_setbot_server(struct UserNode *user, MYSQL_ROW bot, char * val = value; ret = 1; } - reply(getTextBot(), user, "\002SERVER \002 %s", val); + reply(textclient, user, "\002SERVER \002 %s", val); return ret; } -static int global_cmd_setbot_port(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_port(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { int val = atoi(bot[3]); int ret = 0; if(value) { val = atoi(value); if(val <= 0 || val > 65534) { - reply(getTextBot(), user, "NS_SETBOT_PORT_INVALID", value); + reply(textclient, user, "NS_SETBOT_PORT_INVALID", value); return 0; } struct ClientSocket *client; @@ -278,18 +278,18 @@ static int global_cmd_setbot_port(struct UserNode *user, MYSQL_ROW bot, char *va if(client->clientid == atoi(bot[15])) { client->port = val; if(client->flags & SOCKET_FLAG_READY) - reply(getTextBot(), user, "NS_SETBOT_NEED_RESTART"); + reply(textclient, user, "NS_SETBOT_NEED_RESTART"); break; } } printf_mysql_query("UPDATE `bots` SET `port` = '%d' WHERE `id` = '%s'", val, bot[15]); ret = 1; } - reply(getTextBot(), user, "\002PORT \002 %d", val); + reply(textclient, user, "\002PORT \002 %d", val); return ret; } -static int global_cmd_setbot_bind(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_bind(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { char *val = bot[11]; int ret = 0; if(value) { @@ -302,7 +302,7 @@ static int global_cmd_setbot_bind(struct UserNode *user, MYSQL_ROW bot, char *va free(client->bind); client->bind = (value ? strdup(value) : NULL); if(client->flags & SOCKET_FLAG_READY) - reply(getTextBot(), user, "NS_SETBOT_NEED_RESTART"); + reply(textclient, user, "NS_SETBOT_NEED_RESTART"); break; } } @@ -313,11 +313,11 @@ static int global_cmd_setbot_bind(struct UserNode *user, MYSQL_ROW bot, char *va val = value; ret = 1; } - reply(getTextBot(), user, "\002BIND \002 %s", val); + reply(textclient, user, "\002BIND \002 %s", val); return ret; } -static int global_cmd_setbot_ssl(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_ssl(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { int val = (strcmp(bot[14], "0") ? 1 : 0); int ret = 0; if(value) { @@ -326,7 +326,7 @@ static int global_cmd_setbot_ssl(struct UserNode *user, MYSQL_ROW bot, char *val } else if(!strcmp(value, "1") || !stricmp(value, "on") || !stricmp(value, get_language_string(user, "NS_SET_ON"))) { val = 1; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", value); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", value); return 0; } struct ClientSocket *client; @@ -337,18 +337,18 @@ static int global_cmd_setbot_ssl(struct UserNode *user, MYSQL_ROW bot, char *val else client->flags &= ~SOCKET_FLAG_SSL; if(client->flags & SOCKET_FLAG_READY) - reply(getTextBot(), user, "NS_SETBOT_NEED_RESTART"); + reply(textclient, user, "NS_SETBOT_NEED_RESTART"); break; } } printf_mysql_query("UPDATE `bots` SET `ssl` = '%d' WHERE `id` = '%s'", val, bot[15]); ret = 1; } - reply(getTextBot(), user, "\002SSL \002 %s", get_language_string(user, (val ? "NS_SET_ON" : "NS_SET_OFF"))); + reply(textclient, user, "\002SSL \002 %s", get_language_string(user, (val ? "NS_SET_ON" : "NS_SET_OFF"))); return ret; } -static int global_cmd_setbot_serverpass(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_serverpass(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { char *val = bot[4]; int ret = 0; if(value) { @@ -361,7 +361,7 @@ static int global_cmd_setbot_serverpass(struct UserNode *user, MYSQL_ROW bot, ch free(client->pass); client->pass = (value ? strdup(value) : NULL); if(client->flags & SOCKET_FLAG_READY) - reply(getTextBot(), user, "NS_SETBOT_NEED_RESTART"); + reply(textclient, user, "NS_SETBOT_NEED_RESTART"); break; } } @@ -369,16 +369,16 @@ static int global_cmd_setbot_serverpass(struct UserNode *user, MYSQL_ROW bot, ch val = value; ret = 1; } - reply(getTextBot(), user, "\002SERVERPASS \002 %s", val); + reply(textclient, user, "\002SERVERPASS \002 %s", val); return ret; } -static int global_cmd_setbot_class(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_class(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { int val = atoi(bot[5]); int ret = 0; if(value) { if((val = resolve_botalias(value)) == -1) { - reply(getTextBot(), user, "NS_SETBOT_INVALID_CLASS", value); + reply(textclient, user, "NS_SETBOT_INVALID_CLASS", value); return 0; } if(val != atoi(bot[5])) { @@ -414,11 +414,11 @@ static int global_cmd_setbot_class(struct UserNode *user, MYSQL_ROW bot, char *v ret = 1; } } - reply(getTextBot(), user, "\002BOTCLASS \002 %s", resolve_botid(val)); + reply(textclient, user, "\002BOTCLASS \002 %s", resolve_botid(val)); return ret; } -static int global_cmd_setbot_queue(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_queue(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { int val = (strcmp(bot[7], "0") ? 1 : 0); int ret = 0; if(value) { @@ -427,7 +427,7 @@ static int global_cmd_setbot_queue(struct UserNode *user, MYSQL_ROW bot, char *v } else if(!strcmp(value, "1") || !stricmp(value, "on") || !stricmp(value, get_language_string(user, "NS_SET_ON"))) { val = 1; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", value); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", value); return 0; } struct ClientSocket *client; @@ -443,11 +443,11 @@ static int global_cmd_setbot_queue(struct UserNode *user, MYSQL_ROW bot, char *v printf_mysql_query("UPDATE `bots` SET `queue` = '%d' WHERE `id` = '%s'", val, bot[15]); ret = 1; } - reply(getTextBot(), user, "\002QUEUE \002 %s", get_language_string(user, (val ? "NS_SET_ON" : "NS_SET_OFF"))); + reply(textclient, user, "\002QUEUE \002 %s", get_language_string(user, (val ? "NS_SET_ON" : "NS_SET_OFF"))); return ret; } -static int global_cmd_setbot_prefered(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_prefered(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { int val = (strcmp(bot[6], "0") ? 1 : 0); int ret = 0; if(value) { @@ -456,7 +456,7 @@ static int global_cmd_setbot_prefered(struct UserNode *user, MYSQL_ROW bot, char } else if(!strcmp(value, "1") || !stricmp(value, "on") || !stricmp(value, get_language_string(user, "NS_SET_ON"))) { val = 1; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", value); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", value); return 0; } struct ClientSocket *client; @@ -472,56 +472,56 @@ static int global_cmd_setbot_prefered(struct UserNode *user, MYSQL_ROW bot, char printf_mysql_query("UPDATE `bots` SET `textbot` = '%d' WHERE `id` = '%s'", val, bot[15]); ret = 1; } - reply(getTextBot(), user, "\002PREFERED \002 %s", get_language_string(user, (val ? "NS_SET_ON" : "NS_SET_OFF"))); + reply(textclient, user, "\002PREFERED \002 %s", get_language_string(user, (val ? "NS_SET_ON" : "NS_SET_OFF"))); return ret; } -static int global_cmd_setbot_maxchan(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_maxchan(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { int val = atoi(bot[9]); int ret = 0; if(value) { val = atoi(value); if(val < 0 || val > 99999) { - reply(getTextBot(), user, "NS_SETBOT_MAXCHAN_INVALID", value); + reply(textclient, user, "NS_SETBOT_MAXCHAN_INVALID", value); return 0; } printf_mysql_query("UPDATE `bots` SET `max_channels` = '%d' WHERE `id` = '%s'", val, bot[15]); ret = 1; } - reply(getTextBot(), user, "\002MAXCHAN \002 %d", val); + reply(textclient, user, "\002MAXCHAN \002 %d", val); return ret; } -static int global_cmd_setbot_priority(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_priority(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { int val = atoi(bot[10]); int ret = 0; if(value) { val = atoi(value); if(val < 0 || val > 99) { - reply(getTextBot(), user, "NS_SETBOT_PRIORITY_INVALID", value); + reply(textclient, user, "NS_SETBOT_PRIORITY_INVALID", value); return 0; } printf_mysql_query("UPDATE `bots` SET `register_priority` = '%d' WHERE `id` = '%s'", val, bot[15]); ret = 1; } - reply(getTextBot(), user, "\002PRIORITY \002 %d", val); + reply(textclient, user, "\002PRIORITY \002 %d", val); return ret; } -static int global_cmd_setbot_trigger(struct UserNode *user, MYSQL_ROW bot, char *value) { +static int global_cmd_setbot_trigger(struct ClientSocket *textclient, struct UserNode *user, MYSQL_ROW bot, char *value) { char *val = bot[8]; int ret = 0; if(value) { if(!*value || strlen(value) > 10) { - reply(getTextBot(), user, "NS_SETBOT_TRIGGER_INVALID", value); + reply(textclient, user, "NS_SETBOT_TRIGGER_INVALID", value); return 0; } printf_mysql_query("UPDATE `bots` SET `defaulttrigger` = '%s' WHERE `id` = '%s'", escape_string(value), bot[15]); flush_trigger_cache(atoi(bot[5]), atoi(bot[15])); - reply(getTextBot(), user, "NS_SETBOT_TRIGGER_NOTE"); + reply(textclient, user, "NS_SETBOT_TRIGGER_NOTE"); val = value; ret = 1; } - reply(getTextBot(), user, "\002TRIGGER \002 %s", val); + reply(textclient, user, "\002TRIGGER \002 %s", val); return ret; } diff --git a/src/modules/global.mod/cmd_global_staff.c b/src/modules/global.mod/cmd_global_staff.c index 3733bc0..115e283 100644 --- a/src/modules/global.mod/cmd_global_staff.c +++ b/src/modules/global.mod/cmd_global_staff.c @@ -30,7 +30,7 @@ CMD_BIND(global_cmd_staff) { printf_mysql_query("SELECT `user_user`, `user_god` FROM `users` WHERE `user_rank` = '%s'", row[0]); res2 = mysql_use(); if(mysql_num_rows(res2)) { - reply(getTextBot(), user, "\002%s\002", row[1]); + reply(textclient, user, "\002%s\002", row[1]); while ((row2 = mysql_fetch_row(res2)) != NULL) { if(strcmp(row2[1], "0")) { //god enabled - show nicks @@ -41,11 +41,11 @@ CMD_BIND(global_cmd_staff) { loggedinPos += sprintf(loggedinBuf+loggedinPos, (loggedinPos ? ", %s" : "%s"), cuser->nick); } if(loggedinPos) - reply(getTextBot(), user, " %s (%s: %s)", row2[0], get_language_string(user, "NS_STAFF_LOGGEDIN"), loggedinBuf); + reply(textclient, user, " %s (%s: %s)", row2[0], get_language_string(user, "NS_STAFF_LOGGEDIN"), loggedinBuf); else - reply(getTextBot(), user, " %s", row2[0]); + reply(textclient, user, " %s", row2[0]); } else - reply(getTextBot(), user, " %s", row2[0]); + reply(textclient, user, " %s", row2[0]); } } } diff --git a/src/modules/global.mod/cmd_global_unbind.c b/src/modules/global.mod/cmd_global_unbind.c index f37efd7..bdec79f 100644 --- a/src/modules/global.mod/cmd_global_unbind.c +++ b/src/modules/global.mod/cmd_global_unbind.c @@ -31,7 +31,7 @@ CMD_BIND(global_cmd_unbind) { 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]); + reply(textclient, user, "NS_UNBIND_NOT_FOUND", argv[0]); return; } struct cmd_function *function = find_cmd_function(client->botid, cbind->func->name); @@ -42,13 +42,13 @@ CMD_BIND(global_cmd_unbind) { 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); + reply(textclient, user, "NS_UNBIND_REQUIRED", function->name); return; } } 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]); + reply(textclient, user, "NS_UNBIND_DONE", argv[0]); logEvent(event); } diff --git a/src/modules/global.mod/cmd_global_unregister.c b/src/modules/global.mod/cmd_global_unregister.c index 37149bc..be17ea2 100644 --- a/src/modules/global.mod/cmd_global_unregister.c +++ b/src/modules/global.mod/cmd_global_unregister.c @@ -30,7 +30,7 @@ CMD_BIND(global_cmd_unregister) { else channel = (chan ? chan->name : ""); if(!is_valid_chan(channel)) { - reply(getTextBot(), user, "NS_INVALID_CHANNEL_NAME", channel); + reply(textclient, user, "NS_INVALID_CHANNEL_NAME", channel); return; } int chanid; @@ -39,11 +39,11 @@ CMD_BIND(global_cmd_unregister) { if ((row = mysql_fetch_row(res)) != NULL) { chanid = atoi(row[0]); } else { - reply(getTextBot(), user, "NS_UNREGISTER_NOT_REGISTERED", channel, client->user->nick); + reply(textclient, user, "NS_UNREGISTER_NOT_REGISTERED", channel, client->user->nick); return; } if(client->botid == NEONSERV_BOTID && !strcmp(row[1], "1")) { - reply(getTextBot(), user, "NS_UNREGISTER_NODELETE", channel); + reply(textclient, user, "NS_UNREGISTER_NODELETE", channel); return; } int sync_neonspam_unreg = get_int_field("General.sync_neonspam_unreg"); @@ -53,7 +53,7 @@ CMD_BIND(global_cmd_unregister) { printf_mysql_query("SELECT `botid`, `bot_channels`.`id`, `suspended` FROM `bot_channels` LEFT JOIN `bots` ON `bot_channels`.`botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chanid, client->botid); res = mysql_use(); if ((row = mysql_fetch_row(res)) == NULL) { - reply(getTextBot(), user, "NS_UNREGISTER_NOT_REGISTERED", channel, client->user->nick); + reply(textclient, user, "NS_UNREGISTER_NOT_REGISTERED", channel, client->user->nick); return; } int botid = atoi(row[0]); @@ -63,7 +63,7 @@ CMD_BIND(global_cmd_unregister) { break; } printf_mysql_query("DELETE FROM `bot_channels` WHERE `id` = '%s'", row[1]); - reply(getTextBot(), user, "NS_UNREGISTER_DONE", channel); + reply(textclient, user, "NS_UNREGISTER_DONE", channel); if(bot && strcmp(row[2], "1")) { putsock(bot, "PART %s :Channel unregistered.", channel); } diff --git a/src/modules/global.mod/cmd_global_version.c b/src/modules/global.mod/cmd_global_version.c index 4524de0..67d8c91 100644 --- a/src/modules/global.mod/cmd_global_version.c +++ b/src/modules/global.mod/cmd_global_version.c @@ -22,16 +22,16 @@ */ CMD_BIND(global_cmd_version) { - reply(getTextBot(), user, "\002NeonServ %s.%d\002 (%s), written by pk910", NEONSERV_VERSION, get_patchlevel(), (strcmp(get_revision(), "") ? get_revision() : "-")); - reply(getTextBot(), user, "Build (#%s) %s (%s lines, " COMPILER ")", get_compilation(), get_creation(), get_codelines()); - reply(getTextBot(), user, "NeonServ can be found on: http://dev.pk910.de/NeonServ"); + reply(textclient, user, "\002NeonServ %s.%d\002 (%s), written by pk910", NEONSERV_VERSION, get_patchlevel(), (strcmp(get_revision(), "") ? get_revision() : "-")); + reply(textclient, user, "Build (#%s) %s (%s lines, " COMPILER ")", get_compilation(), get_creation(), get_codelines()); + reply(textclient, user, "NeonServ can be found on: http://dev.pk910.de/NeonServ"); //helpers :D - reply(getTextBot(), user, "special thanks to:"); - reply(getTextBot(), user, " Zer0n, TeaTow, Phil (testing and ideas current version)"); - reply(getTextBot(), user, " Buschman, Zer0n, Neon (translating current version)"); - reply(getTextBot(), user, " Patschi95, DerGrinch, Darkfly, Zer0n, Buschman (testing and ideas older versions)"); - reply(getTextBot(), user, " Buschman, Georg, richard (translating older versions)"); - reply(getTextBot(), user, "and all the other users that reported all these nasty bugs :D"); - reply(getTextBot(), user, "\002If you found a bug or if you have a good idea report it on http://dev.pk910.de/BugTrack\002"); + reply(textclient, user, "special thanks to:"); + reply(textclient, user, " Zer0n, TeaTow, Phil (testing and ideas current version)"); + reply(textclient, user, " Buschman, Zer0n, Neon (translating current version)"); + reply(textclient, user, " Patschi95, DerGrinch, Darkfly, Zer0n, Buschman (testing and ideas older versions)"); + reply(textclient, user, " Buschman, Georg, richard (translating older versions)"); + reply(textclient, user, "and all the other users that reported all these nasty bugs :D"); + reply(textclient, user, "\002If you found a bug or if you have a good idea report it on http://dev.pk910.de/BugTrack\002"); } \ No newline at end of file diff --git a/src/modules/module.h b/src/modules/module.h index 2efec39..bf8958c 100644 --- a/src/modules/module.h +++ b/src/modules/module.h @@ -152,7 +152,7 @@ extern int module_id; /* 120 */ #define find_botwise_cmd_binding ((struct cmd_binding * (*)(int, int, char *))global[120]) /* 121 */ #define bind_botwise_unbound_required_functions ((void (*)(int, int))global[121]) /* 122 */ #define find_cmd_function ((struct cmd_function * (*)(int , char *))global[122]) -/* 123 */ #define getTextBot ((struct ClientSocket * (*)(void))global[123]) +/* 123 */ /* deprecated */ /* 124 */ #define register_command_alias ((void (*)(int, char *))global[124]) /* 125 */ #define getAllBinds ((struct cmd_binding * (*)(struct cmd_binding *))global[125]) /* 126 */ #define createModeNode ((struct ModeNode * (*)(struct ChanNode *))global[126]) -- 2.20.1