mirror of
https://github.com/cwinfo/matterbridge.git
synced 2024-11-23 14:01:35 +00:00
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>
This commit is contained in:
parent
31dd538c0b
commit
810c150781
@ -88,7 +88,6 @@ func (b *Bdiscord) messageCreate(s *discordgo.Session, m *discordgo.MessageCreat
|
|||||||
|
|
||||||
if m.Content != "" {
|
if m.Content != "" {
|
||||||
b.Log.Debugf("== Receiving event %#v", m.Message)
|
b.Log.Debugf("== Receiving event %#v", m.Message)
|
||||||
m.Message.Content = b.stripCustomoji(m.Message.Content)
|
|
||||||
m.Message.Content = b.replaceChannelMentions(m.Message.Content)
|
m.Message.Content = b.replaceChannelMentions(m.Message.Content)
|
||||||
rmsg.Text, err = m.ContentWithMoreMentionsReplaced(b.c)
|
rmsg.Text, err = m.ContentWithMoreMentionsReplaced(b.c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -129,7 +129,6 @@ func (b *Bdiscord) getCategoryChannelName(name, parentID string) string {
|
|||||||
var (
|
var (
|
||||||
// See https://discordapp.com/developers/docs/reference#message-formatting.
|
// See https://discordapp.com/developers/docs/reference#message-formatting.
|
||||||
channelMentionRE = regexp.MustCompile("<#[0-9]+>")
|
channelMentionRE = regexp.MustCompile("<#[0-9]+>")
|
||||||
emojiRE = regexp.MustCompile("<(:.*?:)[0-9]+>")
|
|
||||||
userMentionRE = regexp.MustCompile("@[^@\n]{1,32}")
|
userMentionRE = regexp.MustCompile("@[^@\n]{1,32}")
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -176,10 +175,6 @@ func (b *Bdiscord) replaceUserMentions(text string) string {
|
|||||||
return userMentionRE.ReplaceAllStringFunc(text, replaceUserMentionFunc)
|
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) {
|
func (b *Bdiscord) replaceAction(text string) (string, bool) {
|
||||||
if strings.HasPrefix(text, "_") && strings.HasSuffix(text, "_") {
|
if strings.HasPrefix(text, "_") && strings.HasSuffix(text, "_") {
|
||||||
return text[1 : len(text)-1], true
|
return text[1 : len(text)-1], true
|
||||||
|
@ -12,8 +12,14 @@ text := import("text")
|
|||||||
|
|
||||||
// start - strip irc colors
|
// start - strip irc colors
|
||||||
// if we're not sending to an irc bridge we strip the 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:]]`)
|
re := text.re_compile(`\x03(?:\d{1,2}(?:,\d{1,2})?)?|[[:cntrl:]]`)
|
||||||
msgText=re.replace(msgText,"")
|
msgText=re.replace(msgText,"")
|
||||||
}
|
}
|
||||||
// end - strip irc colors
|
// end - strip irc colors
|
||||||
|
|
||||||
|
// strip custom emoji
|
||||||
|
if inProtocol == "discord" {
|
||||||
|
re := text.re_compile(`<a?(:.*?:)[0-9]+>`)
|
||||||
|
msgText=re.replace(msgText,"$1")
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user