diff options
author | c0ncord2 <59669788+c0ncord2@users.noreply.github.com> | 2020-01-09 17:02:53 +0000 |
---|---|---|
committer | Wim <wim@42.be> | 2020-01-09 18:02:53 +0100 |
commit | 810c15078158e221585b9a3dda819544432628f5 (patch) | |
tree | ab7af82fc525140f1555b9b2d4d3b8215aad9a0f | |
parent | 31dd538c0b88c4cd4251e027775504cdc8b98f56 (diff) | |
download | matterbridge-msglm-810c15078158e221585b9a3dda819544432628f5.tar.gz matterbridge-msglm-810c15078158e221585b9a3dda819544432628f5.tar.bz2 matterbridge-msglm-810c15078158e221585b9a3dda819544432628f5.zip |
move stripCustomoji logic to default Tengo script (#973)
* move stripCustomoji logic to default Tengo script
Removing the image ID from the message (without any possibility of recovering it later) is a loss of valuable data that prevents users from giving support to custom emoji via Tengo scripts.
* bugfix - do send colors to other irc bridges
"if we're not sending to an irc bridge we strip the IRC colors"
Co-authored-by: c0ncord <59654954+c0ncord@users.noreply.github.com>
-rw-r--r-- | bridge/discord/handlers.go | 1 | ||||
-rw-r--r-- | bridge/discord/helpers.go | 5 | ||||
-rw-r--r-- | internal/tengo/outmessage.tengo | 8 |
3 files changed, 7 insertions, 7 deletions
diff --git a/bridge/discord/handlers.go b/bridge/discord/handlers.go index 4ffbf5ab..c86a9e8d 100644 --- a/bridge/discord/handlers.go +++ b/bridge/discord/handlers.go @@ -88,7 +88,6 @@ func (b *Bdiscord) messageCreate(s *discordgo.Session, m *discordgo.MessageCreat if m.Content != "" { b.Log.Debugf("== Receiving event %#v", m.Message) - m.Message.Content = b.stripCustomoji(m.Message.Content) m.Message.Content = b.replaceChannelMentions(m.Message.Content) rmsg.Text, err = m.ContentWithMoreMentionsReplaced(b.c) if err != nil { diff --git a/bridge/discord/helpers.go b/bridge/discord/helpers.go index 734de3cd..c094e47a 100644 --- a/bridge/discord/helpers.go +++ b/bridge/discord/helpers.go @@ -129,7 +129,6 @@ func (b *Bdiscord) getCategoryChannelName(name, parentID string) string { var ( // See https://discordapp.com/developers/docs/reference#message-formatting. channelMentionRE = regexp.MustCompile("<#[0-9]+>") - emojiRE = regexp.MustCompile("<(:.*?:)[0-9]+>") userMentionRE = regexp.MustCompile("@[^@\n]{1,32}") ) @@ -176,10 +175,6 @@ func (b *Bdiscord) replaceUserMentions(text string) string { return userMentionRE.ReplaceAllStringFunc(text, replaceUserMentionFunc) } -func (b *Bdiscord) stripCustomoji(text string) string { - return emojiRE.ReplaceAllString(text, `$1`) -} - func (b *Bdiscord) replaceAction(text string) (string, bool) { if strings.HasPrefix(text, "_") && strings.HasSuffix(text, "_") { return text[1 : len(text)-1], true diff --git a/internal/tengo/outmessage.tengo b/internal/tengo/outmessage.tengo index d218088a..a68bb3dd 100644 --- a/internal/tengo/outmessage.tengo +++ b/internal/tengo/outmessage.tengo @@ -12,8 +12,14 @@ text := import("text") // start - strip irc colors // if we're not sending to an irc bridge we strip the IRC colors -if inProtocol == "irc" { +if inProtocol == "irc" && outProtocol != "irc" { re := text.re_compile(`\x03(?:\d{1,2}(?:,\d{1,2})?)?|[[:cntrl:]]`) msgText=re.replace(msgText,"") } // end - strip irc colors + +// strip custom emoji +if inProtocol == "discord" { + re := text.re_compile(`<a?(:.*?:)[0-9]+>`) + msgText=re.replace(msgText,"$1") +} |