Wim
2d277a15f5
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.
2019-04-19 18:27:31 +02:00
Wim
ff198042d2
Remove deprecated TengoModifyMessage
...
This has become InMessage under [tengo]
2019-04-19 00:13:28 +02:00
chotaire
6b47e29583
Add verbose IRC joins/parts (ident@host) ( #805 )
...
New configuration setting: VerboseJoinPart (default is false)
2019-04-18 23:56:05 +02:00
Wim
380c38674c
Fix deadlock on reconnect (irc). Closes #757
2019-04-15 23:28:47 +02:00
Wim
3c14a0891e
Remove hipchat
2019-04-14 23:54:05 +02:00
Wim
7a24de15e4
Add tengo support to RemoteNickFormat ( #793 )
...
This commit add support for using the result of a tengo script in RemoteNickFormat using {TENGO}
Also adds a new toml table [tengo] with key RemoteNickFormat and value location of the script.
This also moves the TengoModifyMessage from [general] to Message in [tengo]
Documentation:
RemoteNickFormat allows you to specify the location of a tengo (https://github.com/d5/tengo/ ) script.
The script will have the following global variables:
to modify: result
to read: channel, bridge, gateway, protocol, nick
The result will be set in {TENGO} in the RemoteNickFormat key of every bridge where {TENGO} is specified
The script is reloaded on every message, so you can modify the script on the fly.
Example script can be found in https://github.com/42wim/matterbridge/tree/master/contrib/remotenickformat.tengo
[tengo]
RemoteNickFormat="remotenickformat.tengo"
2019-04-08 20:58:21 +02:00
Wim
a60e62efb1
Update doc wrt rocketchat api issue
2019-03-21 21:05:27 +01:00
Wim
cba01f0865
Update rocketchat documentation
2019-03-20 23:18:40 +01:00
Wim
c557d51b6f
Need to specify /topic:mytopic for channel configuration (zulip). ( #751 )
...
Breaking change for zulip channel configuration.
For zulip the channel configuration will now need to specify also
the topic with /topic:yourtopic.
Example:
[[gateway.inout]]
account="zulip.streamchat"
channel="general/topic:mytopic"
This fixes the incorrect PR #701 which didn't work with multiple
gateways.
2019-03-02 20:31:38 +01:00
Wim
26a7e35f27
Add MediaConvertWebPToPNG option (telegram). ( #741 )
...
* Add MediaConvertWebPToPNG option (telegram).
When enabled matterbridge will convert .webp files to .png files
before uploading them to the mediaserver of the other bridges.
Fixes #398
2019-02-27 00:41:50 +01:00
Wim
1bb39eba87
Add scripting (tengo) support for every incoming message ( #731 )
...
TengoModifyMessage allows you to specify the location of a tengo (https://github.com/d5/tengo/ ) script.
This script will receive every incoming message and can be used to modify the Username and the Text of that message.
The script will have the following global variables:
to modify: msgUsername and msgText
to read: msgChannel and msgAccount
The script is reloaded on every message, so you can modify the script on the fly.
Example script can be found in https://github.com/42wim/matterbridge/tree/master/gateway/bench.tengo
and https://github.com/42wim/matterbridge/tree/master/contrib/example.tengo
The example below will check if the text contains blah and if so, it'll replace the text and the username of that message.
text := import("text")
if text.re_match("blah",msgText) {
msgText="replaced by this"
msgUsername="fakeuser"
}
More information about tengo on: https://github.com/d5/tengo/blob/master/docs/tutorial.md and
https://github.com/d5/tengo/blob/master/docs/stdlib.md
2019-02-23 16:39:44 +01:00
Wim
3190703dc8
Support rewriting messages from relaybots using ExtractNicks. Fixes #466 ( #730 )
...
some examples:
this replaces a message like "Relaybot: <relayeduser> something interesting" to "relayeduser: something interesting"
ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ]
you can use multiple entries for multiplebots
this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else"
ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ]
OPTIONAL (default empty)
ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ]
2019-02-23 16:35:54 +01:00
Wim
1f1634ea59
Add extra debug option (slack)
2019-02-22 19:36:50 +01:00
Declan Hoare
a7dd033c3b
Allow sending discriminator with Discord username ( #726 )
2019-02-22 14:28:27 +01:00
Krzysiek Madejski
55e79063d6
Add initial WhatsApp support ( #711 )
2019-02-21 20:28:13 +01:00
Wim
46f4bbb3b5
Update documentation wrt ShowJoinPart from discord
2019-02-21 18:15:01 +01:00
Wim
a8fe54a78d
Allow zulip bridge to specify topic per channel. Closes #701 ( #723 )
2019-02-17 21:50:05 +01:00
Wim
4525fa31aa
Allow regexs in ignoreNicks. Closes #690 ( #720 )
2019-02-17 21:49:28 +01:00
Wim
6ebd5cbbd8
Refactor and update RocketChat bridge
...
* Add support for editing/deleting messages
* Add support for uploading files
* Add support for avatars
* Use the Rocket.Chat.Go.SDK
* Use the rest and streaming api
2019-02-15 18:19:34 +01:00
Patrick Connolly
25857591a2
Add note about slack/slack-legacy issues on threading. ( #634 )
2018-12-03 16:50:37 +01:00
Patrick Connolly
f5659d455d
Sync channel topics between Slack bridges ( #585 )
...
Added logic to allow for configurable synchronisation of topics and purposes of channels between Slack bridges.
2018-11-26 09:47:04 +00:00
Wim
9f66f93641
Add option to send RAW commands after connection (irc). Fixes #490 ( #604 )
2018-11-25 19:32:16 +01:00
jamoffat
f3a5ea2956
Remove double " from Discord gateway webhookurl= ( #607 )
2018-11-25 10:37:14 +01:00
Wim
f4d4dc91b1
Add option to ignore failing bridge on start. Fixes #455 ( #603 )
2018-11-25 10:35:35 +01:00
Patrick Connolly
ed11686a99
Improve user_typing botname suggestion. ( #580 )
2018-11-09 21:52:37 +01:00
Patrick Connolly
3d281b3316
Add ability to show when user is typing across Slack bridges ( #559 )
2018-11-08 20:45:40 +01:00
Patrick Connolly
a20b7895a9
Preserve threading between Slack instances ( #529 )
...
* Opportunistically preserve Slack threading when parent thread in cache. [#529 ]
* Removed slack-specific processing from gateway.
* Added docs.
* Add option to enable threading, with default to off.
* Did cleanup on @42wim's comments.
* Update gateway/gateway.go
Co-Authored-By: patcon <patrick.c.connolly@gmail.com>
* Suggestion from @42wim :)
* Suggestions from @42wim.
* More suggestions.
2018-11-07 09:14:31 +01:00
Patrick Connolly
5132d8f097
Stop setting API ring buffer capacity if not specified. ( #552 )
2018-11-05 21:53:51 +01:00
Patrick Connolly
291594b99c
Allow origin CHANNEL to be used in RemoteNickFormat ( #515 )
...
* Added origin CHANNEL to RemoteNickFormat. Updated config docs. [Fixes #515 ]
* Update matterbridge.toml.sample
Co-Authored-By: patcon <patrick.c.connolly@gmail.com>
2018-10-23 21:53:11 +02:00
Wim
e04dd78624
Add support for slack channels by ID. Closes #436
2018-07-13 23:23:11 +02:00
Wim
6f131250f1
Release v1.11.0
2018-06-19 00:28:16 +02:00
Bruno Bierbaumer
6628a47f23
Add channel password support for XMPP ( #451 )
2018-06-18 22:55:45 +02:00
Wim
bd9ea7a88d
Add MediaDownloadBlacklist option. Closes #442
2018-06-09 14:35:02 +02:00
Remi Reuvekamp
33bd60528b
Add config option MediaDownloadPath ( #443 )
...
* Add config option MediaUploadPath
MediaDownloadPath can be used instead of MediaServerUpload, for when your
webserver is on the same system as matterbridge and matterbridge has
write access to the serve dir.
* Limit length of hash in MediaServer urls to 8chars
Full SHA256 is unnecessary for uniqueness.
Also; if a file has the same first 8 charachters of the SHA256 hash,
it's still not a problem, as long as the filename is not the same.
2018-06-08 22:30:35 +02:00
Wim
7e54474111
Add info about markdown (telegram)
2018-06-06 01:00:00 +02:00
Yuval Langer
f0738a93c3
[WIP] Colorize username sent to IRC using its crc32 IEEE checksum ( #423 )
...
* Colorize username sent to IRC using its crc32 IEEE checksum
* Add `ColorNicks` configuration variable
* Add `ColorNicks` setting
2018-05-11 23:02:43 +02:00
Wim
406a54b597
Add QuoteFormat option (telegram). Closes #413
2018-05-11 20:59:15 +02:00
Wim
45296100df
Add initial zulip support
2018-05-07 21:35:48 +02:00
Wim
96a47a60ad
Add support for reloading all settings automatically after changing config except connection and gateway configuration. Closes #373
2018-05-01 22:23:37 +02:00
Wim
e57f3a7e6c
Add QuoteDisable option (telegram). Closes #399
2018-04-17 23:26:41 +02:00
Wim
062be8d7c9
Revert #378
2018-03-17 18:02:00 +01:00
Wim
e5989adf92
Add support for NoSendJoinPart. Closes #382
2018-03-06 21:35:47 +01:00
Wim
e622587db4
Add label support in RemoteNickFormat
2018-02-20 18:57:46 +01:00
Wim
67f6257617
Add ShowTopicChange option. Allow/disable topic change messages (currently only from slack). Closes #353
2018-02-02 21:08:13 +01:00
Wim
169c614489
Download files and reupload to supported bridges (mattermost). Closes #357
2018-02-02 20:23:55 +01:00
Wim
97c944bb63
Add RejoinDelay option. Delay to rejoin after channel kick (irc). Closes #322
2017-12-23 00:11:30 +01:00
Wim
d0c4fe78ee
Allow specifying maximum download size of media using MediaDownloadSize (slack,telegram,matrix)
2017-12-19 23:44:13 +01:00
Wim
27dcea7c5b
Update documentation about ReplaceMessages and ReplaceNicks
2017-11-24 23:45:00 +01:00
Wim
dcda7f7b8c
Add documentation about MediaServerUpload and MediaServerDownload
2017-11-24 23:35:25 +01:00
Wim
e0cbb69a4f
Add MessageSplit option to split messages on MessageLength (irc). Closes #281
2017-11-24 23:29:00 +01:00
Wim
41aa8ad799
Add StripNick option, only allow alphanumerical nicks. Closes #285
2017-10-27 00:07:33 +02:00
Patrick Connolly
95a0229aaf
Fix outdated sample config on slack channel format. ( #280 )
2017-10-20 21:01:11 +02:00
Patrick Connolly
915a8fbad7
Make [general] settings default, not total override (specifically RemoteNickFormat) ( #279 )
...
* Use general settings as default, that specific protocols override.
* Fixed tab formatting.
* Clarified override precedence of [general] config.
2017-10-20 20:58:39 +02:00
Wim
b49fb2b69c
Add support for Quakenet auth (irc). Closes #263
2017-09-20 22:47:26 +02:00
Ryan Mulligan
a37b232dd9
remove comment about useAPI in sample configuration ( #251 )
2017-09-04 15:16:58 +02:00
Wim
e7fcb25107
Add a charset option (irc). Closes #247
2017-08-29 21:31:03 +02:00
Wim
7f9a400776
Add support for personal access tokens (mattermost)
...
* https://docs.mattermost.com/developer/personal-access-tokens.html
2017-08-23 22:49:42 +02:00
Wim
28710d0bc7
Allow a webhookurl per channel (discord). #239
2017-08-12 14:51:41 +02:00
anon724
67905089ba
Add UseUserName option (discord) ( #234 )
2017-08-01 18:18:55 +02:00
Wim
2338c69d40
Add UseInsecureURL option (telegram)
2017-07-04 01:35:30 +02:00
Wim
830361e48b
Deprecate URL,useAPI,BindAddress (slack,mattermost,rocketchat)
2017-06-29 23:38:48 +02:00
Sacha Aury - Wolfman
c17512b7ab
Add webhook posting mode for discord. ( #204 )
...
Using it implies to configure a Webhook on discord and set the parameter :
- WebhookURL (New parameter, discord-specific)
Discord API does not allow to change the name of the user posting, but webhooks does.
This makes the relay much more elegant, even if we might lose some more advanced features.
Signed-off-by: saury07 <sacha.aury@gmail.com>
2017-06-26 20:07:27 +02:00
Wim
1b837b3dc7
Add ShowEmbeds option (discord). #202
2017-06-24 23:17:57 +02:00
Wim
2ece724f75
Fix example
2017-06-22 01:10:15 +02:00
Wim
276ac840aa
Add initial steam support
2017-06-22 01:02:05 +02:00
Wim
25b1af1e11
Add option IgnoreMessages to ignore messages based on regexp. (all). Closes #70
2017-06-18 01:08:11 +02:00
Wim
c07b85b625
Add note about private channels (rocketchat). See #180
2017-06-15 23:05:59 +02:00
Wim
41a46526a1
Add note about file permissions
2017-06-08 23:42:00 +02:00
Wim
46b798ac1b
Update documentation (api)
2017-06-08 00:03:06 +02:00
Wim
ad3cb0386b
Add token authentication (api)
2017-06-06 00:05:32 +02:00
Wim
171a53592d
Add note about lowercase channel (irc)
2017-06-01 21:00:58 +02:00
Wim
c791423dd5
Add NOPINGNICK option. Closes #175
2017-05-30 00:11:53 +02:00
Wim
9d9cb32f4e
Limit message length (irc). Closes #179
2017-05-29 21:54:34 +02:00
Wim
c5dfe40326
Update documentation about encrypted rooms in matrix
2017-05-21 15:36:40 +02:00
Wim
2888fd64b0
Add UseFirstName option (telegram). Closes #144
2017-05-15 23:23:10 +02:00
Wim
27c0f37e49
Update matterbridge.toml.sample about NoHomeServerSuffix
2017-05-15 23:11:27 +02:00
Wim
d128f157c4
Update doc
2017-04-19 21:57:40 +02:00
Wim
4fcedabfd0
Revert "Add support for edited messages (gitter)"
...
This reverts commit 17b8b86d68
.
Reverted because of lingering file descriptors (memory leak)
2017-04-19 19:51:33 +02:00
Wim
4d2207aba7
Add support for edited messages (slack)
2017-04-16 00:16:24 +02:00
Wim
17b8b86d68
Add support for edited messages (gitter)
2017-04-15 23:46:01 +02:00
Wim
fdb57230a3
Add support for edited messages (mattermost)
2017-04-15 20:21:57 +02:00
Wim
7469732bbc
Add support for edited messages (telegram)
2017-04-15 19:07:35 +02:00
Wim
d1dd6c3440
Add support for edited messages (discord)
2017-04-15 19:00:15 +02:00
Wim
bd38319d83
Add support for showing/hiding join/leave messages from mattermost. Closes #147
2017-04-07 22:27:36 +02:00
Wim
a16ad8bf3b
Reuse connection when using same bridge with another gateway. See #87
2017-04-01 17:24:19 +02:00
Wim
efe641f202
Add link about token (slack)
2017-03-23 23:02:00 +01:00
Wim
80895deae2
Replace role ids in mentions to role names (discord). Closes #133
...
* The bot needs to have the "Manage Roles" permission for this to work.
(see Server settings - Roles - General Permissions)
2017-03-18 16:50:09 +01:00
Wim
b95988b4e2
Fix URL / Server mistake in sample (matrix)
2017-03-14 00:26:05 +01:00
Wim
32bbab8518
Do not use HTML parsemode by default. Set MessageFormat="HTML" to use it. (telegram) Closes #126
2017-02-24 18:50:16 +01:00
Wim
84c0b745af
Use roomalias instead of internal ID (matrix)
2017-02-24 17:58:51 +01:00
Wim
c5cfbc2297
Add matrix support
2017-02-20 00:50:37 +01:00
Wim
73f01ad8d8
Add REST API support
2017-02-18 23:13:46 +01:00
Wim
58483ea70c
Update changelog
2017-02-17 23:21:43 +01:00
Wim
38a4cf315a
Add telegram links about channel and tokens
2017-01-27 23:36:14 +01:00
Stefan Haller
01a32b2154
Handle SkipTLSVerify for XMPP client ( #106 ). Closes #81
...
* Handle SkipTLSVerify for XMPP client
* Mention SkipTLSVerify for XMPP in sample config
2017-01-14 00:35:45 +01:00
Wim
7685fe1724
Add channel key support (irc). Closes #27
2017-01-04 14:10:35 +01:00
Markus Graube
7fbbf89c58
Update matterbridge.toml.sample
...
Add password entry to irc section matterbride.toml.sample
2016-12-26 10:12:59 +01:00
Wim
fee159541f
Add initial Rocket.Chat support
2016-12-03 00:10:29 +01:00
Wim
e4ec27c5e2
Add sample documentation for hipchat support via xmpp
2016-11-26 00:40:21 +01:00
Wim
e1641b2c2e
Add support for RemoteNickFormat in general configuration
2016-11-20 23:33:41 +01:00