cmd_down added
authorpk910 <philipp@zoelle1.de>
Tue, 23 Aug 2011 01:11:08 +0000 (03:11 +0200)
committerpk910 <philipp@zoelle1.de>
Tue, 23 Aug 2011 01:11:08 +0000 (03:11 +0200)
bot_NeonServ.c
cmd_neonserv_down.c [new file with mode: 0644]
cmd_neonserv_up.c

index 674d116eb16b193c33e960fc649c909bb2fc5dbf..e640f0f148fc239bf54d56c9b9dd03ea73364970 100644 (file)
@@ -72,6 +72,7 @@ static const struct default_language_entry msgtab[] = {
     {"NS_MYACCESS_COUNT_MATCH", "%s has access in \002%d\002 channel(s) and is owner of \002%d\002 channel(s) (\002%d\002 channels matching your request)."},
     {"NS_UP_ALREADY_OP", "You are already opped in \002%s\002."},
     {"NS_UP_ALREADY_VOICE", "You are already voiced in \002%s\002."},
+    {"NS_DOWN_ALREADY", "You are not opped or voiced in \002%s\002."},
     {NULL, NULL}
 };
 
@@ -90,7 +91,7 @@ INCLUDE ALL CMD's HERE
 //#include "cmd_neonserv_giveownership.c"
 #include "cmd_neonserv_users.c"
 #include "cmd_neonserv_up.c"
-//#include "cmd_neonserv_down.c"
+#include "cmd_neonserv_down.c"
 //#include "cmd_neonserv_upall.c"
 //#include "cmd_neonserv_downall.c"
 //#include "cmd_neonserv_op.c"
@@ -231,6 +232,7 @@ void init_NeonServ() {
     register_command(BOTID, "delme",        neonserv_cmd_delme,     0, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
     register_command(BOTID, "myaccess",     neonserv_cmd_myaccess,  0, CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
     register_command(BOTID, "up",           neonserv_cmd_up,        0, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN);
+    register_command(BOTID, "down",         neonserv_cmd_down,      0, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN);
     
     start_bots();
     bind_bot_ready(neonserv_bot_ready);
diff --git a/cmd_neonserv_down.c b/cmd_neonserv_down.c
new file mode 100644 (file)
index 0000000..1eff93f
--- /dev/null
@@ -0,0 +1,18 @@
+
+/*
+* no arguments
+*/
+
+static CMD_BIND(neonserv_cmd_down) {
+    struct ChanUser *chanuser = getChanUser(user, chan);
+    if(!chanuser) {
+        reply(getTextBot(), user, "NS_NOT_ON_CHANNEL_YOU", chan->name);
+        return;
+    }
+    if((chanuser->flags & CHANUSERFLAG_OPPED)) {
+        putsock(client, "MODE %s -ov %s %s", chan->name, user->nick, user->nick);
+    } else if((chanuser->flags & CHANUSERFLAG_VOICED)) {
+        putsock(client, "MODE %s -v %s", chan->name, user->nick);
+    } else
+        reply(getTextBot(), user, "NS_DOWN_ALREADY", chan->name);
+}
index 5141496591409aba90ab4f22e09dee19b1d0c5da..e5f8fed483680058e0b47251ce73f3362e03eddb 100644 (file)
@@ -34,7 +34,7 @@ static CMD_BIND(neonserv_cmd_up) {
         } else
             reply(getTextBot(), user, "NS_UP_ALREADY_OP", chan->name);
     } else if(caccess >= chan_getvoice) {
-        if(!(chanuser->flags & CHANUSERFLAG_OPPED)) {
+        if(!(chanuser->flags & CHANUSERFLAG_VOICED)) {
             putsock(client, "MODE %s +v %s", chan->name, user->nick);
         } else
             reply(getTextBot(), user, "NS_UP_ALREADY_VOICE", chan->name);