mirror of
https://github.com/42wim/matterbridge.git
synced 2024-12-19 01:22:38 +01:00
Add support for ReplaceMessages using regexp to replace messages. #269
This commit is contained in:
parent
2778580397
commit
aff3964078
@ -72,6 +72,7 @@ type Protocol struct {
|
|||||||
Password string // IRC,mattermost,XMPP,matrix
|
Password string // IRC,mattermost,XMPP,matrix
|
||||||
PrefixMessagesWithNick bool // mattemost, slack
|
PrefixMessagesWithNick bool // mattemost, slack
|
||||||
Protocol string //all protocols
|
Protocol string //all protocols
|
||||||
|
ReplaceMessages [][]string // all messages
|
||||||
MessageQueue int // IRC, size of message queue for flood control
|
MessageQueue int // IRC, size of message queue for flood control
|
||||||
MessageDelay int // IRC, time in millisecond to wait between messages
|
MessageDelay int // IRC, time in millisecond to wait between messages
|
||||||
MessageLength int // IRC, max length of a message allowed
|
MessageLength int // IRC, max length of a message allowed
|
||||||
|
@ -287,6 +287,19 @@ func (gw *Gateway) modifyAvatar(msg config.Message, dest *bridge.Bridge) string
|
|||||||
func (gw *Gateway) modifyMessage(msg *config.Message) {
|
func (gw *Gateway) modifyMessage(msg *config.Message) {
|
||||||
// replace :emoji: to unicode
|
// replace :emoji: to unicode
|
||||||
msg.Text = emojilib.Replace(msg.Text)
|
msg.Text = emojilib.Replace(msg.Text)
|
||||||
|
br := gw.Bridges[msg.Account]
|
||||||
|
// loop to replace messages
|
||||||
|
for _, outer := range br.Config.ReplaceMessages {
|
||||||
|
search := outer[0]
|
||||||
|
replace := outer[1]
|
||||||
|
// TODO move compile to bridge init somewhere
|
||||||
|
re, err := regexp.Compile(search)
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("regexp in %s failed: %s", msg.Account, err)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
msg.Text = re.ReplaceAllString(msg.Text, replace)
|
||||||
|
}
|
||||||
msg.Gateway = gw.Name
|
msg.Gateway = gw.Name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user