Wim
01d0a9f412
Handle nil message (telegram). Fixes #777
2019-04-05 00:04:08 +02:00
Wim
8cc2d3b4fe
Revert "Bail if any vars are nil, not if all (telegram) ( #778 )"
...
This reverts commit efd2c99862
.
2019-04-05 00:02:26 +02:00
Wim
64b57f2da3
Ignore message_replied and hidden messages (slack). Fixes #709 ( #779 )
2019-03-27 22:54:18 +01:00
David Hill
efd2c99862
Bail if any vars are nil, not if all (telegram) ( #778 )
2019-03-27 21:00:57 +01:00
Wim
16763b715a
Look up #channel too (rocketchat). Fix #773 ( #775 )
2019-03-24 20:15:15 +01:00
David Hill
97f9d4be67
Fix double unlock (slack) ( #771 )
2019-03-21 17:30:28 +01:00
Wim
77516c97db
Allow the # in rocketchat channels (backward compatible) ( #769 )
2019-03-20 23:19:27 +01:00
Duco van Amstel
8b754017ca
Fix race-condition in populateUser() ( #767 )
...
Fix the root-cause of #759 by introducing synchronisation points for
individual user fetches.
2019-03-20 22:54:31 +01:00
Wim
a27600046e
Fix regression for legacy slack by #766 ( #768 )
2019-03-20 22:52:23 +01:00
Duco van Amstel
fb2667631d
Refactor channel and user management (slack) ( #766 )
2019-03-15 21:23:09 +01:00
Duco van Amstel
b638f7037a
Force Slack link unfurling ( #763 )
2019-03-12 22:56:43 +01:00
Duco van Amstel
74699a8262
Split-out Slack user and channel management ( #762 )
2019-03-12 22:52:36 +01:00
Wim
e955a056e2
Trim <p> and </p> tags (matrix). Closes #686 ( #753 )
2019-03-03 00:29:29 +01:00
Wim
53aa076555
Do not send duplicate messages (rocketchat). Fixes #745 ( #752 )
...
For an unknown reason we get duplicate messages (from the same channel)
using the realtime API when we have > 1 channel subscribed on.
Solution for now is caching the message ID in a LRU cache and ignoring
the duplicates.
This should be reviewed when we have actual editing support from the
realtime API
2019-03-02 22:58:14 +01:00
Wim
f57370f33a
Add support for URL in messageEntities (telegram). Fixes #735 ( #736 )
2019-03-02 22:38:44 +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
df3fdc26a0
Use whatsapp forks ( #750 )
2019-03-02 13:04:28 +01:00
Wim
af00c34aac
Do not relay any bot messages (discord) ( #743 )
2019-02-28 12:59:52 +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
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
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
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
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
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
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
40d76b2296
Fix error handling on bad event queue id (zulip). Closes #694
2019-02-11 01:34:50 +01:00
Wim
57f156be83
Hint at thread replies when messages are unthreaded (slack) ( #684 )
2019-02-10 17:23:50 +01:00
Wim
c81c0dd22a
Update vendor, move to labstack/echo/v4 Fixes #698
2019-01-31 17:06:36 +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
94812d8648
Handle servers without MOTD (irc). Closes #692
2019-01-24 21:58:27 +01:00
Wim
8548b69e6e
Fix possible data race (irc). Closes #693
2019-01-24 21:51:52 +01:00
Wim
e3cb665d92
Make discord user token work correctly (discord) #689
2019-01-19 20:39:58 +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
d99eacc2e1
Run go fmt
2019-01-14 19:41:32 +01:00
Zomboy Alfrir
62e55214fc
Allow to bridge non-bot Discord users (discord) ( #689 )
...
If you prefix a token with `User ` it'll treat is as a user token.
Co-Authored-By: zomboy-alfrir <zomboy@dancodes.com.ar>
2019-01-14 19:27:49 +01:00
David Hill
f88c5f6c08
Fix displaying usernames for plain text clients. (matrix) ( #685 )
2019-01-09 23:15:26 +01:00