summaryrefslogtreecommitdiffstats
path: root/bridge/discord/webhook.go
diff options
context:
space:
mode:
authorAlexandre GV <contact@alexandregv.fr>2021-05-13 22:39:25 +0200
committerGitHub <noreply@github.com>2021-05-13 22:39:25 +0200
commitac4aee39e3256f9061d2057bb377862def4dd9d9 (patch)
tree4593f9938dfb355afc02a1f2b3795ba0ae19e538 /bridge/discord/webhook.go
parenta0bca42a7ad98a37f4bdc4d7adc419471163edfb (diff)
downloadmatterbridge-msglm-ac4aee39e3256f9061d2057bb377862def4dd9d9.tar.gz
matterbridge-msglm-ac4aee39e3256f9061d2057bb377862def4dd9d9.tar.bz2
matterbridge-msglm-ac4aee39e3256f9061d2057bb377862def4dd9d9.zip
discord: Add AllowMention to restrict allowed mentions (#1462)
* Add DisablePingEveryoneHere/DisablePingRoles/DisablePingUsers keys to config * Add basic AllowedMentions behavior to discord webhooks * Initialize b.AllowedMentions on Discord Bridger init * Call b.getAllowedMentions on each webhook to allow config hot reloading * Add AllowedMentions on all Discord webhooks/messages * Add DisablePingEveryoneHere/DisablePingRoles/DisablePingUsers to matterbridge.toml.sample * Change 'Disable' for 'Allow' and revert logic in Discord AllowedMentions * Update Discord AllowedMentions in matterbridge.toml.sample * Fix typo in DisableWebPagePreview * Replace 'AllowPingEveryoneHere' with 'AllowPingEveryone' * Replace 3 AllowPingEveryone/Roles/Users bools with an array * Fix typo
Diffstat (limited to 'bridge/discord/webhook.go')
-rw-r--r--bridge/discord/webhook.go21
1 files changed, 12 insertions, 9 deletions
diff --git a/bridge/discord/webhook.go b/bridge/discord/webhook.go
index 7dacc7cd..9177db07 100644
--- a/bridge/discord/webhook.go
+++ b/bridge/discord/webhook.go
@@ -63,9 +63,10 @@ func (b *Bdiscord) webhookSend(msg *config.Message, channelID string) (*discordg
res, err = b.transmitter.Send(
channelID,
&discordgo.WebhookParams{
- Content: msg.Text,
- Username: msg.Username,
- AvatarURL: msg.Avatar,
+ Content: msg.Text,
+ Username: msg.Username,
+ AvatarURL: msg.Avatar,
+ AllowedMentions: b.getAllowedMentions(),
},
)
if err != nil {
@@ -88,10 +89,11 @@ func (b *Bdiscord) webhookSend(msg *config.Message, channelID string) (*discordg
_, e2 := b.transmitter.Send(
channelID,
&discordgo.WebhookParams{
- Username: msg.Username,
- AvatarURL: msg.Avatar,
- File: &file,
- Content: content,
+ Username: msg.Username,
+ AvatarURL: msg.Avatar,
+ File: &file,
+ Content: content,
+ AllowedMentions: b.getAllowedMentions(),
},
)
if e2 != nil {
@@ -124,8 +126,9 @@ func (b *Bdiscord) handleEventWebhook(msg *config.Message, channelID string) (st
if msg.ID != "" {
b.Log.Debugf("Editing webhook message")
err := b.transmitter.Edit(channelID, msg.ID, &discordgo.WebhookParams{
- Content: msg.Text,
- Username: msg.Username,
+ Content: msg.Text,
+ Username: msg.Username,
+ AllowedMentions: b.getAllowedMentions(),
})
if err == nil {
return msg.ID, nil