From 66224ca632ed31a067664227d97bd41ab94b3796 Mon Sep 17 00:00:00 2001 From: pk910 Date: Thu, 22 Mar 2012 20:52:31 +0100 Subject: [PATCH] added cmd_global --- Makefile.am | 1 + src/modules/global.mod/cmd_global.c | 1 + src/modules/global.mod/cmd_global.h | 1 + src/modules/global.mod/cmd_global_global.c | 36 ++++++++++++++++++++++ 4 files changed, 39 insertions(+) create mode 100644 src/modules/global.mod/cmd_global_global.c diff --git a/Makefile.am b/Makefile.am index 6daebad..e125423 100644 --- a/Makefile.am +++ b/Makefile.am @@ -49,6 +49,7 @@ libglobalcmd_la_SOURCES = src/modules/global.mod/cmd_global.c \ src/modules/global.mod/cmd_global_meminfo.c \ src/modules/global.mod/cmd_global_extscript.c \ src/modules/global.mod/cmd_global_move.c \ + src/modules/global.mod/cmd_global_global.c \ src/modules/global.mod/module.c libglobalcmd_la_LDFLAGS = -module -rpath /nowhere -avoid-version -no-undefined libglobalcmd_la_LIBADD = $(MYSQL_LIBS) diff --git a/src/modules/global.mod/cmd_global.c b/src/modules/global.mod/cmd_global.c index 9668746..008fa8b 100644 --- a/src/modules/global.mod/cmd_global.c +++ b/src/modules/global.mod/cmd_global.c @@ -57,5 +57,6 @@ void register_commands() { OPER_COMMAND("reconnect", global_cmd_reconnect, 0, 1000, CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH | CMDFLAG_OPLOG); OPER_COMMAND("modcmd", global_cmd_modcmd, 1, 900, CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH | CMDFLAG_OPLOG | CMDFLAG_REQUIRED | CMDFLAG_ESCAPE_ARGS); OPER_COMMAND("meminfo", global_cmd_meminfo, 0, 1000, CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH); + OPER_COMMAND("global", global_cmd_global, 1, 1000, CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH | CMDFLAG_OPLOG); #undef OPER_COMMAND } \ No newline at end of file diff --git a/src/modules/global.mod/cmd_global.h b/src/modules/global.mod/cmd_global.h index 6db037c..b1f80be 100644 --- a/src/modules/global.mod/cmd_global.h +++ b/src/modules/global.mod/cmd_global.h @@ -49,6 +49,7 @@ CMD_BIND(global_cmd_delbot); CMD_BIND(global_cmd_die); CMD_BIND(global_cmd_emote); CMD_BIND(global_cmd_extscript); +CMD_BIND(global_cmd_global); CMD_BIND(global_cmd_god); CMD_BIND(global_cmd_meminfo); CMD_BIND(global_cmd_modcmd); diff --git a/src/modules/global.mod/cmd_global_global.c b/src/modules/global.mod/cmd_global_global.c new file mode 100644 index 0000000..dfe8e7f --- /dev/null +++ b/src/modules/global.mod/cmd_global_global.c @@ -0,0 +1,36 @@ +/* cmd_global_global.c - NeonServ v5.4 + * Copyright (C) 2011-2012 Philipp Kreil (pk910) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "cmd_global.h" + +/* +* argv[0-*] message +*/ + +CMD_BIND(global_cmd_global) { + char *message = merge_argv(argv, 0, argc); + //send message to all channels + struct ClientSocket *bot; + for(bot = getBots(SOCKET_FLAG_READY, NULL); bot; bot = getBots(SOCKET_FLAG_READY, bot)) { + if(bot->botid == client->botid && (bot->botid || bot->clientid == client->clientid)) { + struct ChanUser *chanuser; + for(chanuser = getUserChannels(bot->user, NULL); chanuser; chanuser = getUserChannels(bot->user, chanuser)) { + putsock(client, "PRIVMSG %s :%s", chanuser->chan->name, message); + } + } + } +} \ No newline at end of file -- 2.20.1