From: pk910 Date: Thu, 25 Aug 2011 07:55:10 +0000 (+0200) Subject: started cmd_set X-Git-Tag: v5.3~479 X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=commitdiff_plain;h=9f8a168d29b7bd1a453c946561c54b3096a4bbc5 started cmd_set --- diff --git a/bot_NeonServ.c b/bot_NeonServ.c index 54ca385..7d966aa 100644 --- a/bot_NeonServ.c +++ b/bot_NeonServ.c @@ -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 index 0000000..5ed7bba --- /dev/null +++ b/cmd_neonserv_set.c @@ -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) { + +}