]> jfr.im git - irc/quakenet/newserv.git/blobdiff - helpmod2/hcensor.c
CHANSERV: remove E type escapes
[irc/quakenet/newserv.git] / helpmod2 / hcensor.c
index 8487b2a70ba0481ee041a56b38b3f8e8f94fae21..535b3907ea62114b913c94561c0c1bee1e2aaf41 100644 (file)
@@ -95,11 +95,15 @@ int hcensor_match(hchannel *hchan, huser *husr, hcensor *hcens)
     {
     case HCENSOR_WARN:
         if (hcens->reason)
-           helpmod_reply(husr, NULL, hcens->reason->content);
+           helpmod_reply(husr, NULL, "%s", hcens->reason->content);
        return 0;
     case HCENSOR_KICK:
-       helpmod_kick(hchan, husr, hcens->reason?hcens->reason->content:"Improper user");
-        return !0;
+       helpmod_kick(hchan, husr, "%s", hcens->reason?hcens->reason->content:"Improper user");
+       return !0;
+    case HCENSOR_CHANBAN:
+       helpmod_setban(hchan, hban_ban_string(husr->real_user, HBAN_HOST), HCMD_OUT_DEFAULT + time(NULL), MCB_ADD, HNOW);
+       helpmod_kick(hchan, husr, "%s", hcens->reason?hcens->reason->content:"Censor violation");
+       return !0;
     case HCENSOR_BAN:
        hban_add(hban_ban_string(husr->real_user, HBAN_HOST), hcens->reason?hcens->reason->content:"Censor violation", HCMD_OUT_DEFAULT + time(NULL), 1);
        return !0;
@@ -117,6 +121,8 @@ const char *hcensor_get_typename(hcensor_type type)
        return "warn";
     case HCENSOR_KICK:
        return "kick";
+    case HCENSOR_CHANBAN:
+        return "chanban";
     case HCENSOR_BAN:
         return "ban";
     default: