From 2d277a15f5b70a6188aa2871333e089f2f95ceec Mon Sep 17 00:00:00 2001 From: Wim Date: Fri, 19 Apr 2019 18:27:31 +0200 Subject: 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. --- internal/tengo/outmessage.tengo | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 internal/tengo/outmessage.tengo (limited to 'internal/tengo/outmessage.tengo') 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 -- cgit v1.2.3