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
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
a8fe54a78d
Allow zulip bridge to specify topic per channel. Closes #701 ( #723 )
2019-02-17 21:50:05 +01:00
Wim
fb713ed91b
Add initial support for getting ChannelMember info of all bridges ( #678 )
...
* Add initial support for getting ChannelMember info of all bridges.
Adds an EventGetChannelMembers event, which gets send every x time to
all bridges. Bridges should respond on this event with a Message
containing ChannelMembers in the EventGetChannelMembers key in the
Extra field.
handleEventGetChannelMembers will handle this Message and sets the
contained ChannelMembers to the Bridge struct.
* Add ChannelMembers support to the slack bridge
2019-01-18 18:35:31 +01:00
Wim
bab385c342
Remove unused key (config)
2019-01-04 16:37:45 +01:00
Duco van Amstel
da8e415ae1
Use logrus imports instead of log ( #662 )
2018-12-26 15:16:09 +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
Wim
f4d4dc91b1
Add option to ignore failing bridge on start. Fixes #455 ( #603 )
2018-11-25 10:35:35 +01:00
Duco van Amstel
ce21ba1545
Fix golint linter issues and enable it in CI ( #593 )
2018-11-15 20:43:43 +01:00
Duco van Amstel
85564a35fd
Fix IRC line splitting. Closes #584 ( #587 )
2018-11-14 22:43:52 +01:00
Duco van Amstel
16d5aeac7c
Make config.Config more unit-test friendly ( #586 )
2018-11-13 23:30:56 +01:00
Duco van Amstel
e19ba5a06a
Add new Slack connection and forked legacy Slack bridge ( #582 )
2018-11-13 20:51:19 +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
f2703979a4
Clean up config loading. ( #561 )
2018-11-07 22:32:12 +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
7e62bc4819
Remove hyphens when auto-loading envvars from viper config ( #545 )
...
* When auto-loading envvars from toml keys, remove hyphens.
See: https://unix.stackexchange.com/questions/23659/can-shell-variable-include-character
2018-11-03 14:42:27 +01:00
NikkyAI
d058be25ad
Respond with message on connect (api) ( #550 )
...
fix #549
2018-11-02 16:35:13 +01:00
Wim
7f3cbcedc0
Use own forks for logrus-prefixed-formatter and discordgo
2018-08-06 21:11:13 +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
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
b69fc30902
Fix regression in ReplaceMessages and ReplaceNicks. Closes #407
2018-04-21 23:26:39 +02:00
Wim
e57f3a7e6c
Add QuoteDisable option (telegram). Closes #399
2018-04-17 23:26:41 +02:00
Wim
e5989adf92
Add support for NoSendJoinPart. Closes #382
2018-03-06 21:35:47 +01:00
Wim
98027446c8
Fix tests and make megacheck happy
2018-03-05 00:30:46 +01:00
Wim
f2f1d874e1
Use viper (github.com/spf13/viper) for configuration
2018-03-04 23:52:14 +01:00
Wim
2110db6f0c
Add environment override back
2018-02-27 23:22:12 +01:00
Wim
2bac867382
Refactor using factory
2018-02-27 23:22:12 +01:00
Wim
f8714d81f5
Add DebugLevel option (irc)
2018-02-22 18:56:21 +01:00
Wim
e622587db4
Add label support in RemoteNickFormat
2018-02-20 18:57:46 +01:00
Wim
7886f05e88
Download (and upload) avatar images from mattermost and telegram when mediaserver is configured. Closes #362
...
An extra avatarMap (cache) is created for mattermost and telegram.
If MediaServerUpload is configured, the avatar images of users are downloaded the first time a
user sends a message.
If this download succeeds a message with EVENT_AVATAR_DOWNLOAD is sent to the originating protocol.
This message also contains a SHA field (in msg.Extra["file"]), if this is not empty, the sha will
be added to the avatarMap. (so we now have a userid-sha cache)
Next time this user sends a message, the MediaServerUpload/sha/userid.png URL will be used as the
avatar field.
2018-02-20 01:15:25 +01:00
Wim
f58be0d1c1
Add SHA to FileInfo
2018-02-15 23:18:58 +01:00
Wim
2522158127
Add avator to fileinfo
2018-02-14 22:20:27 +01:00
Wim
80822b7fff
Send chat notification if media is too big to be re-uploaded to MediaServer. See #359
2018-02-03 01:11:11 +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
6a047f8722
Print only debug messages when specified (xmpp). Closes #345
2018-01-26 21:54:09 +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
265457b451
Refactor and add MediaDownloadSize to General
2017-12-19 23:15:03 +01:00
Wim
67a9d133e9
Add quick & dirty sshchat support ( https://github.com/shazow/ssh-chat )
2017-12-03 01:29: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
1efe40add5
Add initial support for an external mediaserver. #278
...
Add 2 extra options `MediaServerUpload` and `MediaServerDownload`, where
the URL for upload and download can be specified.
See https://github.com/42wim/matterbridge/wiki/Mediaserver-setup-%5Badvanced%5D
for an example with caddy
2017-11-24 22:36:19 +01:00
Wim
cd4c9b194f
Add support for ReplaceNicks using regexp to replace nicks. Closes #269
2017-11-20 23:27:27 +01:00
Wim
aff3964078
Add support for ReplaceMessages using regexp to replace messages. #269
2017-11-15 23:33:00 +01:00