Zrips / CMI

117 stars 99 forks source link

[1.16.4] Chat Filter Doesn't Work For Private Messages #4770

Closed PiggiesGoSqueal closed 3 years ago

PiggiesGoSqueal commented 3 years ago

Description of issue: I'll be on two Minecraft accounts, both default rank (not staff). One will message the other "join hypixel" but it does not block it. However, when said in normal chat it does block it (using the "others" block type). And my config is setup to block private messages.

Picture: https://gyazo.com/729e27b13e0e0f5b98541a6cc44f072d

It does notify console of the violation but doesn't actually block it in-game: Console: [17:26:52 INFO]: WeShouldHug issued server command: /msg pinkpig3777 join hypixel [17:26:52 INFO]: [CMI] Player (WeShouldHug) triggered (ipBlock) chat filter with: join hypixel

CONFIG SECTION:

  ChatFilter:
    Enabled: true
    Deny:
      ipBlock:
        # If not set to true, this filter will not be used
        Enabled: true
        # Defines filter group and defines required permission node to bypass this filter: cmi.chatfilter.bypass.[groupName]
        Group: Advertising
        # When set to true, each time player triggers filter, console will receive information about who triggered it, which filter and with what message
        InformConsole: true
        # Regex expression to filter by. How to use regex https://regexone.com/
        # Blocks (In order): General IP blocking, Hypixel, Hytale, Mineplex, Wynncraft
        Regex:
        - '[a-zA-Z0-9\-\.]+\s?(\.|dot|\(dot\)|-|;|:|,|_|\/)\s?([a-zA-Z]{2}|aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|xyz)\b'
        - \b[0-9]{1,3}(\.|dot|\(dot\)|-|;|:|,|(\W|\d|_)*\s)+[0-9]{1,3}(\.|dot|\(dot\)|-|;|:|,|(\W|\d|_)*\s)+[0-9]{1,3}(\.|dot|\(dot\)|-|;|:|,|(\W|\d|_)*\s)+[0-9]{1,3}\b
        - \b(?i)(h)+(\W|\d|_?)+(y)+(\W|\d|_?)+(p)+(\W|\d|_?)+(i|1|!|\*)+(\W|\d|_?)+(x)+(\W|\d|_?)+(e|3)+(\W|\d|_?)+(l|I|!|1)+(\W|\d|_?)\b
        - \b(?i)(h)+(\W|\d|_?)+(y)+(\W|\d|_?)+(t)+(\W|\d|_?)+(a|\@|\*)+(\W|\d|_?)+(l|1|I|!)+(\W|\d|_?)+(e|3)(\W|\d|_?)\b
        - \b(?i)(m)+(\W|\d|_?)+(i|1|!|\*)+(\W|\d|_?)+(n)+(\W|\d|_?)+(e|3)+(\W|\d|_?)+(p)+(\W|\d|_?)+(l|I|!|1)+(\W|\d|_?)+(e|3)+(\W|\d|_?)+(x)+(\W|\d|_?)\b
        - \b(?i)(w)+(\W|\d|_?)+(y)+(\W|\d|_?)+(n)+(\W|\d|_?)+(n)+(\W|\d|_?)+(c)+(\W|\d|_?)+(r)+(\W|\d|_?)+(a|\@|\*)+(\W|\d|_?)+(f)+(\W|\d|_?)+(t)+(\W|\d|_?)\b
        # With what we need to replace word, if not defined found expression will not be changed
        ReplaceWith: ''
        # possible: none, others, all
        # Where 'none' means everyone will receive this message
        # 'others' means that sender will get message but not other players, this is usefull to prevent advertising and silently block it
        # 'all' means that no one will receive sent message
        BlockType: others
        # When enabled rule will be applied to private messages
        includePrivateMessages: true
        # Players with cmi.chatfilter.inform permission will receive defined message when rule is broken
        msgToStaff: ''
        # List of commands to perform when rule is broken. Use [senderName] to include message sender name. Supports global variables same as locale file
        Commands: []

Cmi Version (using/cmi version):

17:34:34 INFO: CMI: 8.7.12.1 MySQL 17:34:34 INFO: Server: Paper(332) 1.16.4-R0.1-SNAPSHOT 17:34:34 INFO: CMI economy: True Vault: 1.7.3-b CMI Chat: True 17:34:34 INFO: Modules -> 48 enabled 6 disabled: spawnerProximity, cuffed, worldLimitsElytra, skin, warmup, vanish

Server Type (Spigot/Paperspigot/etc): Paper 1.16.4

Server Version (using /ver): Paper version git-Paper-332 (MC: 1.16.4) (Implementing API version 1.16.4-R0.1-SNAPSHOT)

Note: I may not check this again.

Zrips commented 3 years ago

Should be fixed with next build

PiggiesGoSqueal commented 3 years ago

Can confirm it is