added bot_NeonServ.c file
authorpk910 <philipp@zoelle1.de>
Sat, 13 Aug 2011 00:37:04 +0000 (02:37 +0200)
committerpk910 <philipp@zoelle1.de>
Sat, 13 Aug 2011 00:37:04 +0000 (02:37 +0200)
bot_NeonServ.c [new file with mode: 0644]
bot_NeonServ.h [new file with mode: 0644]
bots.c
modcmd.c
modcmd.h

diff --git a/bot_NeonServ.c b/bot_NeonServ.c
new file mode 100644 (file)
index 0000000..b69ac3f
--- /dev/null
@@ -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 (file)
index 0000000..a42a2d5
--- /dev/null
@@ -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 8a95cd35e448992170400de0ec04d0e99712e4d9..a5c82bf99a5af4880725189ab4cd6053d2dda71c 100644 (file)
--- 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();
 }
index d7fff2fe73846c1b94652c16d30c59da954fa7ce..092408e47c634069fa7eae076006d8cc5fb9098f 100644 (file)
--- 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) {
index c880b5848fdef6285e3d83020c6295814acf0971..6f9ff85d383c826d2afc9db6e77ee316a5d57f27 100644 (file)
--- 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);