diff options
author | Qais Patankar <qaisjp@gmail.com> | 2019-01-04 19:32:58 +0000 |
---|---|---|
committer | Wim <wim@42.be> | 2019-01-04 20:32:58 +0100 |
commit | 8522d8f29cf1625a0d31dab15428600133fe0dba (patch) | |
tree | e49ce56c7942a946c7dbec92a61e77eb2edb1cce /bridge | |
parent | bab385c342d62c8116653a7d091b88a99a9cb381 (diff) | |
download | matterbridge-msglm-8522d8f29cf1625a0d31dab15428600133fe0dba.tar.gz matterbridge-msglm-8522d8f29cf1625a0d31dab15428600133fe0dba.tar.bz2 matterbridge-msglm-8522d8f29cf1625a0d31dab15428600133fe0dba.zip |
Fix #668 strip lang in code fences sent to Slack (#673)
Diffstat (limited to 'bridge')
-rw-r--r-- | bridge/slack/helpers.go | 5 | ||||
-rw-r--r-- | bridge/slack/slack.go | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/bridge/slack/helpers.go b/bridge/slack/helpers.go index fb7a25d5..4e6e5652 100644 --- a/bridge/slack/helpers.go +++ b/bridge/slack/helpers.go @@ -291,6 +291,7 @@ var ( channelRE = regexp.MustCompile(`<#[a-zA-Z0-9]+\|(.+?)>`) variableRE = regexp.MustCompile(`<!((?:subteam\^)?[a-zA-Z0-9]+)(?:\|@?(.+?))?>`) urlRE = regexp.MustCompile(`<(.*?)(\|.*?)?>`) + codeFenceRE = regexp.MustCompile(`(?m)^` + "```" + `\w+$`) topicOrPurposeRE = regexp.MustCompile(`(?s)(@.+) (cleared|set)(?: the)? channel (topic|purpose)(?:: (.*))?`) ) @@ -353,6 +354,10 @@ func (b *Bslack) replaceURL(text string) string { return text } +func (b *Bslack) replaceCodeFence(text string) string { + return codeFenceRE.ReplaceAllString(text, "```") +} + func (b *Bslack) handleRateLimit(err error) error { rateLimit, ok := err.(*slack.RateLimitedError) if !ok { diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go index d8dfc62f..b9430278 100644 --- a/bridge/slack/slack.go +++ b/bridge/slack/slack.go @@ -188,6 +188,8 @@ func (b *Bslack) Send(msg config.Message) (string, error) { b.Log.Debugf("=> Receiving %#v", msg) } + msg.Text = b.replaceCodeFence(msg.Text) + // Make a action /me of the message if msg.Event == config.EventUserAction { msg.Text = "_" + msg.Text + "_" |