]> jfr.im git - irc/quakenet/newserv.git/blobdiff - chanserv/chanservuser.c
Merge default.
[irc/quakenet/newserv.git] / chanserv / chanservuser.c
index 7bbcd692cba9db674825e34a35c6591349837bbc..bd755bbe7d7d4fad625a3466571fe16b7cabc323 100644 (file)
@@ -174,6 +174,20 @@ void chanservuserhandler(nick *target, int message, void **params) {
        break;
       }
       
+      if ((cmd->level & QCMD_ACHIEVEMENTS) && !UIsDev(rup) &&
+          ((time(NULL) < ACHIEVEMENTS_START) || 
+           ((time(NULL) > ACHIEVEMENTS_END) && !UIsAchievements(rup)))) {
+        chanservstdmessage(sender, QM_UNKNOWNCMD, cargv[0]);
+        break;
+      } 
+    
+      if ((cmd->level & QCMD_TITLES) && !UIsDev(rup) &&
+          ((time(NULL) < ACHIEVEMENTS_START) ||
+           (time(NULL) > ACHIEVEMENTS_END))) {
+        chanservstdmessage(sender, QM_UNKNOWNCMD, cargv[0]);
+        break;
+      }
+      
       cmd->calls++;
       
       if (cmd->maxparams < (cargc-1)) {
@@ -182,6 +196,8 @@ void chanservuserhandler(nick *target, int message, void **params) {
       }
       
       cmd->handler((void *)sender, cargc-1, &(cargv[1]));
+      
+      triggerhook(HOOK_CHANSERV_CMD, sender);
     }
     break;
 
@@ -776,7 +792,7 @@ void cs_doallautomodes(nick *np) {
           continue;
         }
 
-        if (CUKnown(rcup) && rcup->chan->index->channel->users->totalusers >= 3) {
+        if (CUHasOpPriv(rcup) && cs_ischannelactive(rcup->chan->index->channel, NULL)) {
           /* This meets the channel use criteria, update. */
           rcup->chan->lastactive=time(NULL);