started cmd_set
authorpk910 <philipp@zoelle1.de>
Thu, 25 Aug 2011 07:55:10 +0000 (09:55 +0200)
committerpk910 <philipp@zoelle1.de>
Thu, 25 Aug 2011 07:55:10 +0000 (09:55 +0200)
bot_NeonServ.c
cmd_neonserv_set.c [new file with mode: 0644]

index 54ca38511d188873b79eb0fa6364ca520f7ea178..7d966aa87467ef9f5b82a6389fc366c6452d31ec 100644 (file)
@@ -147,7 +147,7 @@ INCLUDE ALL CMD's HERE
 //#include "cmd_neonserv_info.c"
 //#include "cmd_neonserv_netinfo.c"
 //#include "cmd_neonserv_peek.c"
-//#include "cmd_neonserv_set.c"
+#include "cmd_neonserv_set.c"
 //#include "cmd_neonserv_events.c"
 //#include "cmd_neonserv_resync.c"
 //#include "cmd_neonserv_help.c"
diff --git a/cmd_neonserv_set.c b/cmd_neonserv_set.c
new file mode 100644 (file)
index 0000000..5ed7bba
--- /dev/null
@@ -0,0 +1,62 @@
+
+typedef int neonserv_cmd_set_function(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, char *argument);
+static int neonserv_cmd_set_trigger(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, char *argument);
+static int neonserv_cmd_set_modes(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, char *argument);
+static int neonserv_cmd_set_dynlimit(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, char *argument);
+static int neonserv_cmd_set_nodelete(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, char *argument);
+
+#define NS_VALID_FUNCTION 0x01
+#define NS_VALID_STRING   0x02
+#define NS_VALID_ACCESS   0x04
+#define NS_VALID_NO501    0x08
+#define NS_VALID_OPTIONS  0x10
+#define NS_VALID_NUMERIC  0x20
+#define NS_VALID_BOOLEAN  0x40
+
+static const struct {
+    const char *setting;
+    const char *chanfield;
+    unsigned int valid;
+    void *parameter;
+} channel_settings[] {
+    {"trigger",         "channel_trigger",      NS_VALID_FUNCTION,  neonserv_cmd_set_trigger},
+    {"defaulttopic",    "channel_defaulttopic", NS_VALID_STRING,    NULL},
+    {"topicmask",       "channel_topicmask",    NS_VALID_STRING,    NULL},
+    {"greeting",        "channel_greeting",     NS_VALID_STRING,    NULL},
+    {"usergreeting",    "channel_usergreeting", NS_VALID_STRING,    NULL},
+    {"userinfo",        "channel_userinfo",     NS_VALID_ACCESS,    NULL},
+    {"wipeinfo",        "channel_wipeinfo",     NS_VALID_ACCESS,    NULL},
+    {"modes",           "channel_modes",        NS_VALID_FUNCTION,  neonserv_cmd_set_modes},
+    {"inviteme",        "channel_getinvite",    NS_VALID_ACCESS,    NULL},
+    {"giveops",         "channel_getop",        NS_VALID_ACCESS,    NULL},
+    {"givevoice",       "channel_getvoice",     NS_VALID_ACCESS,    NULL},
+    {"enfops",          "channel_canop",        NS_VALID_ACCESS,    NULL},
+    {"enfvoice",        "channel_canvoice",     NS_VALID_ACCESS,    NULL},
+    {"kick",            "channel_cankick",      NS_VALID_ACCESS,    NULL},
+    {"ban",             "channel_canban",       NS_VALID_ACCESS,    NULL},
+    {"staticban",       "channel_staticban",    NS_VALID_ACCESS,    NULL},
+    {"pubcmd",          "channel_pubcmd",       NS_VALID_ACCESS,    NULL},
+    {"enfmodes",        "channel_enfmodes",     NS_VALID_ACCESS,    NULL},
+    {"enftopic",        "channel_enftopic",     NS_VALID_ACCESS,    NULL},
+    {"topicsnarf",      "channel_topicsnarf",   NS_VALID_ACCESS,    NULL},
+    {"changetopic",     "channel_changetopic",  NS_VALID_ACCESS,    NULL},
+    {"setters",         "channel_setters",      NS_VALID_ACCESS | NS_VALID_NO501, NULL},
+    {"adduser",         "channel_canadd",       NS_VALID_ACCESS,    NULL},
+    {"deluser",         "channel_candel",       NS_VALID_ACCESS,    NULL},
+    {"clvl",            "channel_canclvl",      NS_VALID_ACCESS,    NULL},
+    {"resync",          "channel_canresync",    NS_VALID_ACCESS,    NULL},
+    {"suspend",         "channel_cansuspend",   NS_VALID_ACCESS,    NULL},
+    {"noticeusers",     "channel_notice",       NS_VALID_ACCESS,    NULL},
+    {"noticereaction",  "channel_noticereaction", NS_VALID_OPTIONS, 4},
+    {"ctcpusers",       "channel_ctcp",         NS_VALID_ACCESS,    NULL},
+    {"ctcpreaction",    "channel_ctcpreaction", NS_VALID_OPTIONS,   4},
+    {"protect",         "channel_protect",      NS_VALID_OPTIONS,   4},
+    {"toys",            "channel_toys",         NS_VALID_OPTIONS,   3},
+    {"dynlimit",        "channel_dynlimit",     NS_VALID_NUMERIC | NS_VALID_FUNCTION, neonserv_cmd_set_dynlimit},
+    {"nodelete",        "channel_nodelete",     NS_VALID_BOOLEAN | NS_VALID_FUNCTION, neonserv_cmd_set_nodelete},
+    {NULL, NULL, 0, NULL}
+};
+
+static CMD_BIND(neonserv_cmd_set) {
+    
+}