Commit Graph

1041 Commits

Author SHA1 Message Date
Wim 948e8e2ad2 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-26 20:21:17 +01:00
Wim 7f1d86b338 Fail gracefully on incorrect human input. Fixes #739 (#740) 2019-02-26 18:03:50 +01:00
Wim d8816280f0 Update changelog 2019-02-26 17:44:35 +01:00
Wim b09a73040f Print errors as string instead of %#v (#738) 2019-02-26 17:21:23 +01:00
Wim 740b5f2602 Keep reconnecting until succeed (zulip) (#737) 2019-02-26 17:08:20 +01:00
Wim 96841c70c7 Fix regression in HTML handling (telegram). Closes #734
* Revert back to blackfriday v1
* Add testing
2019-02-24 15:13:56 +01:00
Wim f92735d35d Add goreleaser.yml 2019-02-24 01:09:53 +01:00
Wim 516fd3c92d Release v1.14.0-rc1 v1.14.0-rc1 2019-02-23 23:20:25 +01:00
Wim a775b57134 Do not send topic changes on connect (xmpp). Fixes #732 (#733)
This checks if we get a topic change < 5 seconds after connection.
If that's the case, ignore it.
Also this PR makes the topic change an actual EventTopicChange.
2019-02-23 23:03:21 +01:00
Wim bf21604d42 Make all loggers derive from non-default instance (#728) 2019-02-23 22:51:27 +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 5095db8a43 Update vendor 2019-02-23 14:14:29 +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
Wim 95e78ffa05 Add telegram support to matterbridge chat channel 2019-02-21 21:35:34 +01:00
Wim 42276ea7d0 Disable updateChannelMembers for now 2019-02-21 21:26:12 +01:00
Wim dffd67eb31 Fix typo 2019-02-21 20:33:49 +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 240559581a Handle quit message relay better on gateways with one channel on the irc bridge #722 2019-02-21 17:55:04 +01:00
Wim 48ba829465 Bump to 1.14.0-dev 2019-02-17 22:46:07 +01:00
Wim eef654de98 Fix bug in #721 2019-02-17 22:45:23 +01:00
Wim d76a04bd0a Support quits from irc correctly. Fixes #722 (#724) 2019-02-17 22:43:04 +01:00
Wim a8fe54a78d Allow zulip bridge to specify topic per channel. Closes #701 (#723) 2019-02-17 21:50:05 +01:00
Wim 0bcb0b882f Support join/leaves from discord. Closes #654 (#721) 2019-02-17 21:49:45 +01:00
Wim 4525fa31aa Allow regexs in ignoreNicks. Closes #690 (#720) 2019-02-17 21:49:28 +01:00
Wim aeaea0574f Detect html nicks in RemoteNickFormat (matrix). Fixes #696 (#719) 2019-02-17 21:48:32 +01:00
Wim 99d71c2177 Send notices on join/parts (matrix). Fixes #712 (#716) 2019-02-16 18:36:09 +01:00
Wim 3e60cfafd3 Send username when uploading video/images (matrix). Fixes #715 (#717) 2019-02-16 18:35:36 +01:00
Wim 3123695869 Upgrade to latest girc version (irc) (#718) 2019-02-16 17:24:04 +01:00
Wim 777af73e2b Add blogpost about matterbridge 2019-02-15 19:02:29 +01:00
Wim 716751cf76 Refactor and update RocketChat bridge (#707)
* 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:20:32 +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
Wim 077b818d82 Add extra debug of SubMessage to empty messages error (slack). #709 2019-02-15 18:05:10 +01:00
Wim 5af1d80055 Do not panic on non-json response from server (zulip) 2019-02-13 00:29:34 +01:00
Wim f236d12166 Update golangci-lint. Disable hugeParam check for now 2019-02-12 20:30:36 +01:00
Wim 127eb908f3 Add fbridge to README 2019-02-12 17:21:27 +01:00
Wim 40d76b2296 Fix error handling on bad event queue id (zulip). Closes #694 2019-02-11 01:34:50 +01:00
Wim 8147815037 Update README. Add rocketchat 2019-02-10 23:32:17 +01:00
Wim 57f156be83 Hint at thread replies when messages are unthreaded (slack) (#684) 2019-02-10 17:23:50 +01:00
AJolly 2cfd880cdb Clarify dev chat info (#700) 2019-02-05 20:40:57 +01:00
Wim 430b38e770 Update README 2019-01-31 17:38:02 +01:00
Wim e7f463a082 Bump version 2019-01-31 17:26:07 +01:00
Wim 1d39c771e4 Release v1.13.1 v1.13.1 2019-01-31 17:10:57 +01:00
Wim c81c0dd22a Update vendor, move to labstack/echo/v4 Fixes #698 2019-01-31 17:06:36 +01:00
Wim f8a1ab4622 Bump version 2019-01-31 00:15:48 +01:00
Wim 5d3309fdcd Release v1.13.0 v1.13.0 2019-01-30 23:55:37 +01:00
Wim 4ae028fe73 Optimize handling of very large slack teams. Fixes #695
Stop getting users if we reach 2000 users. Slack will rate-limit us
even if we follow their limits.
This means that we now have to lookup every user that says a message
for the first time. This should be less intensive on the API.

This also disables partly fb713ed91b for now.
ChannelMembers will not be filled.
2019-01-30 23:28:37 +01:00
Wim 707db950c8 Send GetChannelMembers event only to slack for now 2019-01-24 22:46:05 +01:00