From: pk910 Date: Sat, 13 Aug 2011 00:37:04 +0000 (+0200) Subject: added bot_NeonServ.c file X-Git-Tag: v5.3~564 X-Git-Url: http://git.pk910.de/?a=commitdiff_plain;h=d2a89ddab3e435bd59970a9b9c7e9a61d6c8d0fb;p=NeonServV5.git added bot_NeonServ.c file --- diff --git a/bot_NeonServ.c b/bot_NeonServ.c new file mode 100644 index 0000000..b69ac3f --- /dev/null +++ b/bot_NeonServ.c @@ -0,0 +1,33 @@ + +#include "bot_NeonServ.h" +#include "modcmd.h" +#include "UserNode.h" +#include "ChanNode.h" +#include "ChanUser.h" +#include "ClientSocket.h" + +static CMD_BIND(neonserv_cmd_users) { + struct ChanUser *chanuser; + putsock(client, "PRIVMSG %s :[BOT JOIN] Users on this Channel:", chan->name); + for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) { + putsock(client, "PRIVMSG %s : %s!%s@%s [%s] rights: %d", chan->name, chanuser->user->nick, chanuser->user->ident, chanuser->user->host, ((chanuser->user->flags & USERFLAG_ISAUTHED) ? chanuser->user->auth : "*"), chanuser->flags); + } +} + +static CMD_BIND(neonserv_cmd_modes) { + char modeBuf[MAXLEN]; + getModeString(chan, modeBuf); + putsock(client, "PRIVMSG %s :Modes: %s", chan->name, modeBuf); +} + +void init_NeonServ() { + register_command(0, "users", neonserv_cmd_users); + register_command(0, "modes", neonserv_cmd_modes); + + bind_cmd_to_command(0, "users", "users"); + bind_cmd_to_command(0, "modes", "modes"); +} + +void free_NeonServ() { + +} diff --git a/bot_NeonServ.h b/bot_NeonServ.h new file mode 100644 index 0000000..a42a2d5 --- /dev/null +++ b/bot_NeonServ.h @@ -0,0 +1,9 @@ +#ifndef _bot_NeonServ_h +#define _bot_NeonServ_h + +#include "main.h" + +void init_NeonServ(); +void free_NeonServ(); + +#endif \ No newline at end of file diff --git a/bots.c b/bots.c index 8a95cd3..a5c82bf 100644 --- a/bots.c +++ b/bots.c @@ -1,10 +1,12 @@ #include "bots.h" -void init_bots() { +#include "bot_NeonServ.h" +void init_bots() { + init_NeonServ(); } void free_bots() { - + free_NeonServ(); } diff --git a/modcmd.c b/modcmd.c index d7fff2f..092408e 100644 --- a/modcmd.c +++ b/modcmd.c @@ -109,19 +109,6 @@ static void handle_command(struct ClientSocket *client, struct UserNode *user, s return; } } - - if(!strcmp(message, "users")) { - struct ChanUser *chanuser; - putsock(client, "PRIVMSG %s :[BOT JOIN] Users on this Channel:", chan->name); - for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) { - putsock(client, "PRIVMSG %s : %s!%s@%s [%s] rights: %d", chan->name, chanuser->user->nick, chanuser->user->ident, chanuser->user->host, ((chanuser->user->flags & USERFLAG_ISAUTHED) ? chanuser->user->auth : "*"), chanuser->flags); - } - } - if(!strcmp(message, "modes")) { - char modeBuf[MAXLEN]; - getModeString(chan, modeBuf); - putsock(client, "PRIVMSG %s :Modes: %s", chan->name, modeBuf); - } } static void got_chanmsg(struct UserNode *user, struct ChanNode *chan, char *message) { diff --git a/modcmd.h b/modcmd.h index c880b58..6f9ff85 100644 --- a/modcmd.h +++ b/modcmd.h @@ -6,6 +6,7 @@ struct ClientSocket; struct UserNode; struct ChanNode; +#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)) typedef void cmd_bind_t(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, char **argv, char argc); typedef void trigger_callback_t(struct ChanNode *chan, char *trigger);