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
bf21604d42
Make all loggers derive from non-default instance ( #728 )
2019-02-23 22:51:27 +01:00
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
a7dd033c3b
Allow sending discriminator with Discord username ( #726 )
2019-02-22 14:28:27 +01:00
55e79063d6
Add initial WhatsApp support ( #711 )
2019-02-21 20:28:13 +01:00
a8fe54a78d
Allow zulip bridge to specify topic per channel. Closes #701 ( #723 )
2019-02-17 21:50:05 +01:00
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
bab385c342
Remove unused key (config)
2019-01-04 16:37:45 +01:00
da8e415ae1
Use logrus imports instead of log ( #662 )
2018-12-26 15:16:09 +01:00
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
9f66f93641
Add option to send RAW commands after connection (irc). Fixes #490 ( #604 )
2018-11-25 19:32:16 +01:00
f4d4dc91b1
Add option to ignore failing bridge on start. Fixes #455 ( #603 )
2018-11-25 10:35:35 +01:00
ce21ba1545
Fix golint linter issues and enable it in CI ( #593 )
2018-11-15 20:43:43 +01:00
85564a35fd
Fix IRC line splitting. Closes #584 ( #587 )
2018-11-14 22:43:52 +01:00
16d5aeac7c
Make config.Config more unit-test friendly ( #586 )
2018-11-13 23:30:56 +01:00
e19ba5a06a
Add new Slack connection and forked legacy Slack bridge ( #582 )
2018-11-13 20:51:19 +01:00
3d281b3316
Add ability to show when user is typing across Slack bridges ( #559 )
2018-11-08 20:45:40 +01:00
f2703979a4
Clean up config loading. ( #561 )
2018-11-07 22:32:12 +01:00
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
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
d058be25ad
Respond with message on connect (api) ( #550 )
...
fix #549
2018-11-02 16:35:13 +01:00
7f3cbcedc0
Use own forks for logrus-prefixed-formatter and discordgo
2018-08-06 21:11:13 +02:00
6628a47f23
Add channel password support for XMPP ( #451 )
2018-06-18 22:55:45 +02:00
bd9ea7a88d
Add MediaDownloadBlacklist option. Closes #442
2018-06-09 14:35:02 +02:00
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
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
406a54b597
Add QuoteFormat option (telegram). Closes #413
2018-05-11 20:59:15 +02:00
45296100df
Add initial zulip support
2018-05-07 21:35:48 +02:00
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
b69fc30902
Fix regression in ReplaceMessages and ReplaceNicks. Closes #407
2018-04-21 23:26:39 +02:00
e57f3a7e6c
Add QuoteDisable option (telegram). Closes #399
2018-04-17 23:26:41 +02:00
e5989adf92
Add support for NoSendJoinPart. Closes #382
2018-03-06 21:35:47 +01:00
98027446c8
Fix tests and make megacheck happy
2018-03-05 00:30:46 +01:00
f2f1d874e1
Use viper (github.com/spf13/viper) for configuration
2018-03-04 23:52:14 +01:00
2110db6f0c
Add environment override back
2018-02-27 23:22:12 +01:00
2bac867382
Refactor using factory
2018-02-27 23:22:12 +01:00
f8714d81f5
Add DebugLevel option (irc)
2018-02-22 18:56:21 +01:00
e622587db4
Add label support in RemoteNickFormat
2018-02-20 18:57:46 +01:00
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
f58be0d1c1
Add SHA to FileInfo
2018-02-15 23:18:58 +01:00
2522158127
Add avator to fileinfo
2018-02-14 22:20:27 +01:00
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
67f6257617
Add ShowTopicChange option. Allow/disable topic change messages (currently only from slack). Closes #353
2018-02-02 21:08:13 +01:00
6a047f8722
Print only debug messages when specified (xmpp). Closes #345
2018-01-26 21:54:09 +01:00
97c944bb63
Add RejoinDelay option. Delay to rejoin after channel kick (irc). Closes #322
2017-12-23 00:11:30 +01:00
d0c4fe78ee
Allow specifying maximum download size of media using MediaDownloadSize (slack,telegram,matrix)
2017-12-19 23:44:13 +01:00
265457b451
Refactor and add MediaDownloadSize to General
2017-12-19 23:15:03 +01:00
67a9d133e9
Add quick & dirty sshchat support ( https://github.com/shazow/ssh-chat )
2017-12-03 01:29:25 +01:00
e0cbb69a4f
Add MessageSplit option to split messages on MessageLength (irc). Closes #281
2017-11-24 23:29:00 +01:00
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