#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 */
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() {
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;
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);
}
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]);