]> jfr.im git - irc/quakenet/newserv.git/commitdiff
Move claimnick to +q.
authorChris Porter <redacted>
Tue, 4 Nov 2008 05:02:10 +0000 (05:02 +0000)
committerChris Porter <redacted>
Tue, 4 Nov 2008 05:02:10 +0000 (05:02 +0000)
chanserv/chanserv.h
chanserv/chanserv_protect.c
chanserv/chanservstdcmds.c
chanserv/chanservuser.c

index f59cea781b8f3d3d6eb2d22e3fbc3d5a4b83de66..8f291682e05eb3ab90cd6407d817786664fa8459 100644 (file)
 #define   QCMD_OPER           0x0020 /* Only available to opers */
 #define   QCMD_ADMIN          0x0040 /* Only available to admins */
 #define   QCMD_DEV            0x0080 /* Only available to developers */
+#define   QCMD_STAFF          0x0200 /* Only available to staff */
 
 #define   QCMD_ALIAS          0x0100 /* Don't list on SHOWCOMMANDS */
 
index 1833db68830bade59229bb547aa9f3d75e54dd63..fb1131758d7f5e9264e0d36ab489ebe481313c4e 100644 (file)
@@ -22,7 +22,7 @@ void _init() {
   registerhook(HOOK_NICK_NEWNICK, csp_freenick);
   registerhook(HOOK_NICK_ACCOUNT, csp_freenick);
   
-  chanservaddcommand("claimnick", QCMD_HELPER, 0, csp_doclaimnick, "Reclaims your nickname if it has been stolen.","");
+  chanservaddcommand("claimnick", QCMD_STAFF, 0, csp_doclaimnick, "Reclaims your nickname if it has been stolen.","");
 }
 
 void _fini() {
index be9c25200115fe9ed11b0bf8455687266f659a62..41427e180b9ad09fbcf0b5f6c35a00ffab00f6a7 100644 (file)
@@ -118,6 +118,10 @@ int cs_doshowcommands(void *source, int cargc, char **cargv) {
     if ((cmdlist[i]->level & QCMD_NOTAUTHED) && rup)
       continue;
 
+    if ((cmdlist[i]->level & QCMD_STAFF) && 
+       (!rup || !UHasStaffPriv(rup)))
+      continue;
+
     if ((cmdlist[i]->level & QCMD_HELPER) && 
        (!rup || !UHasHelperPriv(rup)))
       continue;
@@ -145,6 +149,8 @@ int cs_doshowcommands(void *source, int cargc, char **cargv) {
         sprintf(cmdbuf,"+o %s",cmdlist[i]->command->content);
       } else if(cmdlist[i]->level & QCMD_HELPER) {
         sprintf(cmdbuf,"+h %s",cmdlist[i]->command->content);
+      } else if(cmdlist[i]->level & QCMD_STAFF) {
+        sprintf(cmdbuf,"+q %s",cmdlist[i]->command->content);
       } else {
         sprintf(cmdbuf,"   %s",cmdlist[i]->command->content);
       }
index c90c4ac3a0cf9d3ef3671b72be00c54d742e9098..f848962c967dd43d8202c04d39ad7fe4593b1e88 100644 (file)
@@ -143,6 +143,12 @@ void chanservuserhandler(nick *target, int message, void **params) {
        break;
       }
       
+      if ((cmd->level & QCMD_STAFF) && 
+         (!(rup=getreguserfromnick(sender)) || !UHasStaffPriv(rup))) {
+       chanservstdmessage(sender, QM_NOACCESS, cargv[0]);
+       break;
+      }
+      
       if ((cmd->level & QCMD_HELPER) && 
          (!(rup=getreguserfromnick(sender)) || !UHasHelperPriv(rup))) {
        chanservstdmessage(sender, QM_NOACCESS, cargv[0]);