--- /dev/null
+
+#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() {
+
+}
--- /dev/null
+#ifndef _bot_NeonServ_h
+#define _bot_NeonServ_h
+
+#include "main.h"
+
+void init_NeonServ();
+void free_NeonServ();
+
+#endif
\ No newline at end of file
#include "bots.h"
-void init_bots() {
+#include "bot_NeonServ.h"
+void init_bots() {
+ init_NeonServ();
}
void free_bots() {
-
+ free_NeonServ();
}
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) {
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);