diff options
author | Wim <wim@42.be> | 2019-04-19 18:27:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-19 18:27:31 +0200 |
commit | 2d277a15f5b70a6188aa2871333e089f2f95ceec (patch) | |
tree | 68fb9f5932bf199409cec2a10ffe5dd10f6e6aea /internal/tengo/outmessage.tengo | |
parent | d60468bb05f9fc4066a669cd9704174629a19dd3 (diff) | |
download | matterbridge-msglm-2d277a15f5b70a6188aa2871333e089f2f95ceec.tar.gz matterbridge-msglm-2d277a15f5b70a6188aa2871333e089f2f95ceec.tar.bz2 matterbridge-msglm-2d277a15f5b70a6188aa2871333e089f2f95ceec.zip |
Add scripting (tengo) support for every outgoing message (#806)
Adds a new key OutMessage under [tengo] table, which specifies the location of the script that
will be invoked on each message being sent to a bridge and can be used to modify the Username
and the Text of that message.
The script will have the following global variables:
read-only:
inAccount, inProtocol, inChannel, inGateway
outAccount, outProtocol, outChannel, outGateway
read-write:
msgText, msgUsername
The script is reloaded on every message, so you can modify the script on the fly.
The default script in https://github.com/42wim/matterbridge/tree/master/internal/tengo/outmessage.tengo
is compiled in and will be executed if no script is specified.
Diffstat (limited to 'internal/tengo/outmessage.tengo')
-rw-r--r-- | internal/tengo/outmessage.tengo | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/internal/tengo/outmessage.tengo b/internal/tengo/outmessage.tengo new file mode 100644 index 00000000..d218088a --- /dev/null +++ b/internal/tengo/outmessage.tengo @@ -0,0 +1,19 @@ +/* +variables available +read-only: +inAccount, inProtocol, inChannel, inGateway +outAccount, outProtocol, outChannel, outGateway + +read-write: +msgText, msgUsername +*/ + +text := import("text") + +// start - strip irc colors +// if we're not sending to an irc bridge we strip the IRC colors +if inProtocol == "irc" { + re := text.re_compile(`\x03(?:\d{1,2}(?:,\d{1,2})?)?|[[:cntrl:]]`) + msgText=re.replace(msgText,"") +} +// end - strip irc colors |