Matterbridge: disallow @everyone and @here in discord

Created on 5 Aug 2018  Â·  13Comments  Â·  Source: 42wim/matterbridge

Is your feature request related to a problem? Please describe.
@everyone and @here are not configurable to be filtered when sent to discord
a bot user can be configured to being disallowed to ping everyone,
but there is no such setting when using webhooks

Describe the solution you'd like
confiig entries

allowPingEveryone=false # default false
allowPingHere=false # default true
allowPingUser=false # default true

also related to #460 for translating user mentions

possibly also

IgnorePing="someUser someOther Bot.+"

similar to IgnoreMessages

Describe alternatives you've considered
I have tried to filter it through IgnoreMessages, but that does not work for messages coming in from api endpoints
and there is no general setting for IgnoreMessages that that applies to every platform

waiting for feedback

Most helpful comment

ReplaceMessages is probably better usecase here.

Just do ReplaceMessages=[ ["@everyone"," everyone"], ["@here"," here"] ]

I'm not in favor of adding more config options if replacemesssages can solve it more generic.

All 13 comments

You can filter it using IgnoreMessages (for every account), but this can be defeated by using some of the chars that Discord filters out on message sending.

as mentioned.. it cannot be filtered when the message is coming from a api endpoint
sure i could edit my application and make sure to keep it synced to the IgnoreMessage setting on all other endpoints that are not discord... but thats just a workaround

IgnoreMessages does work on the api though.
See also #289 and #269

[api.local]
BindAddress="127.0.0.1:4242"
name="api"
IgnoreMessages="test"
Buffer=1000
RemoteNickFormat="{NICK}"

[0007] DEBUG gateway: matching test. ignoring test from api.local

ReplaceMessages is probably better usecase here.

Just do ReplaceMessages=[ ["@everyone"," everyone"], ["@here"," here"] ]

I'm not in favor of adding more config options if replacemesssages can solve it more generic.

@42wim Oh, it seems I wrote IgnoreMessages above when it was ReplaceMessages that I use in my config. Either way it is still defeated by slipping in characters that Discord strips, then pings everyone.

@benrob0329 could you show me an example that defeats it?

I ended up stripping all @

@42wim

@‮everyone

@42wim label: waiting-for-feedback → enhancement?

Try this:

ReplaceMessages=[ ["‮", ""], ["@everyone","@-everyone"], ["@here","@-here"], ["@test", "@-test"] ]`

(In vim it looks like: ReplaceMessages=[ ["<202e>", ""], ["@everyone","@-everyone"], ["@here","@-here"], ["@test", "@-test"] ], but this is not copy-pasteable. Make sure you copy the one above.)

Since Discord has a native way to disable mentions for both bots and webhooks, perhaps this functionality should be implemented in that way instead.

Nice!!! That's definitely new

allowed_mentions

(for better searchability of this issue).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

benrob0329 picture benrob0329  Â·  3Comments

Wouter0100 picture Wouter0100  Â·  4Comments

strugee picture strugee  Â·  6Comments

patcon picture patcon  Â·  3Comments

pb30 picture pb30  Â·  5Comments