+ if(chptr->mode.mode & ModuleModes.MODE_NOREPEAT)
+ {
+ rb_strlcpy(text2, text, BUFSIZE);
+ strip_unprintable(text2);
+ md = channel_metadata_find(chptr, "NOREPEAT");
+ if(md && (!ConfigChannel.exempt_cmode_K || !is_any_op(msptr)))
+ {
+ if(!(strcmp(md->value, text2)))
+ {
+ if(p_or_n != NOTICE)
+ sendto_one_numeric(source_p, 404, "%s :Cannot send to channel - Message blocked due to repeating (+K set)", chptr->chname);
+ return;
+ }
+ }
+ channel_metadata_delete(chptr, "NOREPEAT", 0);
+ channel_metadata_add(chptr, "NOREPEAT", text2, 0);
+ }
+
+ if(chptr->mode.mode & ModuleModes.MODE_NOCOLOR && (!ConfigChannel.exempt_cmode_c || !is_any_op(msptr)))