Wim
c4b75e5754
Download files from slack and reupload to mattermost (slack/mattermost). Closes #255
...
Refactor message.Extra to a map[string][]interface{} to have a bit more flexibility
for stuffing extra stuff.
For attached files from slack, files < 1MB size get downloaded (in memory), and get
put into Extra["file"][]config.FileInfo (containing a pointer to the buffer and
the filename). This is not async so slack channels with lots of attached files
may suffer a slowdown. (the download timeout is set at 5 seconds).
2017-09-21 22:35:21 +02:00
Wim
b49fb2b69c
Add support for Quakenet auth (irc). Closes #263
2017-09-20 22:47:26 +02:00
Wim
4bda29cb38
Try quoting previous messsage (telegram). #237
2017-09-19 23:58:05 +02:00
Wim
5f14141ec9
Try to not forward slack unfurls. Closes #266
2017-09-19 22:33:26 +02:00
Wim
c088e45d85
Add more debug info (telegram)
2017-09-19 21:41:35 +02:00
Wim
d59c51a94b
Remove unnecessary check, make megacheck happy
2017-09-19 00:04:27 +02:00
Wim
47b7fae61b
Fix loop from webhook by adding matterbridge prop (mattermost). Closes #261
2017-09-18 23:53:30 +02:00
Wim
1a40b0c1e9
Relay attachments from mattermost to slack (slack). Closes #260
2017-09-18 23:51:27 +02:00
Wim
82588b00c5
Use override username if specified (mattermost). #260
2017-09-18 21:18:31 +02:00
Wim
14490bea9f
Add partial support for deleted messages (telegram)
2017-09-11 23:12:33 +02:00
Wim
ed01820722
Add support for deleting messages across bridges.
...
Currently fully support mattermost,slack and discord.
Message deleted on the bridge or received from other bridges will be
deleted.
Partially support for Gitter.
Gitter bridge will delete messages received from other bridges.
But if you delete a message on gitter, this deletion will not be sent to
other bridges (this is a gitter API limitation, it doesn't propogate edits
or deletes via the API)
2017-09-11 22:45:15 +02:00
Wim
90a61f15cc
Do not break messages on newline (slack). Closes #258
2017-09-10 18:19:33 +02:00
Wim
9039720013
Send images when text is empty regression. (mattermost). Closes #254
2017-09-08 00:16:17 +02:00
Wim
a3470f8aec
Send first message after connect (slack). Closes #252
2017-09-07 23:47:23 +02:00
Wim
01badde21d
Add message debugging (gitter)
2017-09-07 20:35:12 +02:00
Wim
37c350f19f
Convert utf-8 back to charset (irc). #247
2017-08-30 20:59:54 +02:00
Wim
9e03fcf162
Fix private channel joining bug (mattermost). Closes #248
2017-08-30 14:01:17 +02:00
Wim
9226252336
Replace mentions from other bridges. (slack). Closes #233
2017-08-29 23:34:50 +02:00
Wim
f4fb83e787
Use the detected charset (irc)
2017-08-29 21:35:36 +02:00
Wim
e7fcb25107
Add a charset option (irc). Closes #247
2017-08-29 21:31:03 +02:00
Wim
2f7df2df43
Do not add messages without ID to cache
2017-08-29 20:28:44 +02:00
Wim
e45c551880
Add support for editing messages. Remove ZWSP as loopcheck (gitter)
2017-08-28 23:07:12 +02:00
Wim
7a86044f7a
Add support for editing messages (telegram)
2017-08-28 23:07:03 +02:00
Wim
8b98f605bc
Add support for editing messages (slack)
2017-08-28 20:29:02 +02:00
Wim
7c773ebae0
Add support for editing messages across bridges. Currently mattermost/discord.
...
Our Message type has an extra ID field which contains the message ID of the specific bridge.
The Send() function has been modified to return a msg ID (after the message to that specific
bridge has been created).
There is a lru cache of 5000 entries (message IDs). All in memory, so editing messages
will only work for messages the bot has seen.
Currently we go out from the idea that every message ID is unique, so we don't keep
the ID separate for each bridge. (we do for each gateway though)
If there's a new message from a bridge, we put that message ID in the LRU cache as key
and the []*BrMsgID as value (this slice contains the message ID's of each bridge that
received the new message)
If there's a new message and this message ID already exists in the cache, it must be
an updated message. The value from the cache gets checked for each bridge and if there
is a message ID for this bridge, the ID will be added to the Message{} sent to that
bridge. If the bridge sees that the ID isn't empty, it'll know it has to update the
message with that specific ID instead of creating a new message.
2017-08-28 00:33:17 +02:00
Wim
5a8d7b5f6d
Modify Send() to return also a message id
2017-08-27 22:59:37 +02:00
Wim
cfb8107138
Relay notices (matrix). Closes #243
2017-08-27 01:01:35 +02:00
Wim
43bd779fb7
Handle leave/join events (slack). Closes #246
2017-08-27 00:00:02 +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
e77c3eb20a
Swap token/id. Also check for default webhookURL in isWebhookID (discord)
2017-08-12 16:30:00 +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
f2483af561
Do not modify username in action (discord)
2017-07-31 21:37:19 +02:00
Wim
f8e6a69d6e
Add action support for slack,mattermost,irc,gitter,matrix,xmpp,discord. #199
2017-07-30 17:48:23 +02:00
Wim
38d09dba2e
Update vendor (go-irc)
2017-07-28 14:26:26 +02:00
Wim
ba653c0841
Ignore edited messages with reactions (mattermost)
2017-07-25 23:19:50 +02:00
Wim
83ef61287e
Refactor. Add tests
2017-07-25 20:11:52 +02:00
Wim
bd97357f8d
Disable message from other bots when using webhooks (slack)
2017-07-22 20:03:40 +02:00
Wim
0f791d7a9a
Handle reconnections better (xmpp). Closes #222
2017-07-20 23:16:43 +02:00
Wim
0302e4da82
Fix webhookurl/webhookbindaddress panic (mattermost). Closes #221
2017-07-17 23:10:32 +02:00
Wim
dc8743e0c0
Tag messages we send ourself using CallbackID hack (slack). Closes #219
2017-07-17 21:28:31 +02:00
Jerry Heiselman
cc5ce3d5ae
Suppress parent message when child message is received (slack) ( #218 )
...
* Suppress parent message when child message is received
When a thread is started in Slack and a user makes a comment on the thread, matterbridge sends the original parent message again on each child comment. This change suppresses that.
* Update slack.go
Moved determination of ThreadTimestamp to handleSlackClient so the MMMessage struct doesn't need to be modified
* Ran 'go fmt'
2017-07-17 18:33:28 +02:00
Wim
778abea2d9
Add support for fallback/text in attachments (slack)
2017-07-16 18:08:26 +02:00
Wim
20a7ef33f1
Make sure bot doesn't loop now we relay bot messages (slack)
2017-07-16 15:03:46 +02:00
Wim
04e0f001b0
Fix discordgo api changes
2017-07-16 14:39:00 +02:00
Wim
335ddf8db5
Fix lookup bot username (slack). #213
2017-07-16 14:18:33 +02:00
Wim
4aa646f6b0
Use GetFileLinks. Also show links to non-public files (mattermost)
2017-07-15 16:51:10 +02:00
Wim
9dcd51fb80
Refactor connecting logic slack/mattermost. Fixes #216
2017-07-15 16:49:47 +02:00
Wim
6dee988b76
Fix megacheck / go vet issues
2017-07-14 00:35:01 +02:00
Wim
8411f2aa32
Lookup bot username (slack). #213
2017-07-10 21:58:43 +02:00
Wim
b75cf2c189
Replace HTML entities (slack). #215
2017-07-09 14:26:56 +02:00
Wim
870b89a8f0
Fix embeds (discord). Closes #202
2017-07-09 13:41:46 +02:00
Wim
bfc7130ed8
Try to detect the charset and convert it to utf-8. (irc). Closes #209 #210
2017-07-07 23:39:38 +02:00
Wim
2338c69d40
Add UseInsecureURL option (telegram)
2017-07-04 01:35:30 +02:00
Wim
c714501a0e
Fix channel id off by 0x18000000000000 (steam)
2017-07-03 22:10:26 +02:00
Wim
830361e48b
Deprecate URL,useAPI,BindAddress (slack,mattermost,rocketchat)
2017-06-29 23:38:48 +02:00
Wim
25ac4c708f
Add more debugging (discord)
2017-06-26 23:01:35 +02:00
Wim
c268e90f49
Remove label from URLs (slack). Closes #205
...
If slack detects a text contains an url it changes it to <http://url |url>.
Strip the |url so that http://url remains.
2017-06-26 22:16:19 +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
276ac840aa
Add initial steam support
2017-06-22 01:02:05 +02:00
Wim
62e9de1a3b
Use the last (and biggest) photo to relay (telegram). Closes #184
2017-06-18 23:59:52 +02:00
Wim
2ddc4f7ae9
Add UserID to each message. Closes #200
2017-06-18 15:44:54 +02:00
Wim
2dd402675d
Sent only the biggest picture to bridges (telegram)
2017-06-18 01:23:15 +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
75fb2b8156
Make reconnection more robust (irc). #153
2017-06-18 00:13:10 +02:00
Wim
2a403f8b85
Add initial sticker/video/photo/document support (telegram). #184
2017-06-17 18:25:17 +02:00
Wim
c3d45a9f06
Do not relay join/part of ourselves (irc). Closes #190
2017-06-17 17:58:56 +02:00
Wim
511f653e6e
Fix incorrect behaviour of EditDisable (mattermost). Fixes #197
2017-06-15 22:45:34 +02:00
Wim
4b839b9958
Avoid nil in usermembermap (discord). See #198
2017-06-15 22:29:01 +02:00
Wim
359d0f2910
Allow reuse of api in different gateways. See #189
2017-06-07 23:54:50 +02:00
Wim
ad3cb0386b
Add token authentication (api)
2017-06-06 00:05:32 +02:00
Wim
2eecaccd1c
Change to lowercase JSON keys (api)
2017-06-05 23:18:13 +02:00
Wim
5f30a98bc1
Add gateway name to messages
2017-06-05 23:12:19 +02:00
Wim
b8a2fcbaff
Post valid JSON (api). See #185
2017-06-05 23:08:36 +02:00
Wim
c0c4890887
Add hashtag to channel (discord)
2017-06-03 18:21:47 +02:00
Wim
9bcd131e66
Reset variables each loop (telegram). Closes #181
2017-05-30 21:14:03 +02:00
Wim
9d9cb32f4e
Limit message length (irc). Closes #179
2017-05-29 21:54:34 +02:00
Wim
87229bab13
Fix sending to different channels on same account (slack). Closes #177
2017-05-24 22:10:21 +02:00
Wim
3812693111
Replace long ids in channel metions (discord). Fixes #174
2017-05-23 22:26:37 +02:00
Wim
dd3c572256
Fix possible crash on nil (discord)
2017-05-22 21:57:19 +02:00
siinus
ef278301e3
Fix JoinChannel argument to use IRC channel key ( #172 )
2017-05-21 15:23:56 +02:00
Wim
2888fd64b0
Add UseFirstName option (telegram). Closes #144
2017-05-15 23:23:10 +02:00
Wim
4036d4459b
Add NoHomeServerSuffix. Option to disable homeserver on username (matrix). Closes #160 .
2017-05-12 23:04:58 +02:00
Frank
ee643de5b6
Add Compatibility for Cisco Jabber (xmpp) ( #166 )
2017-05-11 20:10:53 +02:00
Wim
d300bb1735
Relay messages starting with ! (irc). Closes #164
2017-05-08 21:15:01 +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
246c8e4f74
Ignore error on private channel join (slack) Fixes #150
2017-04-17 18:01:24 +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
02612c0061
Add support for sending edited messages
2017-04-15 18:46:25 +02:00
Wim
035c2b906a
Strip custom emoji metadata (discord). Closes #148
2017-04-15 16:23:34 +02:00
Wim
b469c8ddbd
Rejoin channel when kicked (irc). Closes #146
2017-04-08 00:42:37 +02:00
Wim
eee0036c7f
Modify iconurl correctly (mattermost). Closes #145
2017-04-08 00:16:46 +02:00
Wim
89c66b9430
Reconnect on session removal (mattermost)
2017-04-07 23:27:41 +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
57176dadd4
Support edited messages (telegram). See #141
2017-04-01 18:18:38 +02:00
Wim
dd449a8705
Remove debug info (irc)
2017-04-01 18:10:11 +02:00
Wim
587ad9f41d
Remove space after nick (mattermost). Closes #142
2017-04-01 17:44:17 +02:00
Wim
a16ad8bf3b
Reuse connection when using same bridge with another gateway. See #87
2017-04-01 17:24:19 +02:00
Wim
2e4d58cb92
Refactor
2017-03-28 23:56:58 +02:00
Wim
f935c573e9
Allow bot tokens for now without warning (slack). Closes #140
2017-03-27 20:15:05 +02:00
Wim
c30ffeb81e
Fix roomid bug (gitter)
2017-03-18 21:17:21 +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
eddc691fc9
Join rooms not already joined by the bot (gitter). See #135
2017-03-18 15:34:19 +01:00
Wim
fd8cfb11fb
Fail when bridge is unable to join a channel (general)
2017-03-16 23:05:11 +01:00
Wim
9407aa4600
Check if room exists when joining channel (gitter). Closes #135
2017-03-16 23:01:18 +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
072cac0347
Do not relay slackbot messages (slack). Closes #119
2017-02-17 23:13:02 +01:00
Wim
dc37232100
Refactor. Make extra options easier for other protocols
2017-02-14 23:52:45 +01:00
Wim
163f55f9c2
Refactor to handle disconnects/reconnects better.
...
Now try to reconnect every 60 seconds until forever.
2017-02-14 21:12:02 +01:00
Wim
2d16fd085e
Use nickname when present (discord). Closes #122
2017-02-13 18:52:52 +01:00
Wim
2b0f178ba3
Fix receiving messages from private channels (slack). See #118
2017-02-03 16:40:15 +01:00
Wim
79e6c9fa6c
Update vendor
2017-01-28 22:45:32 +01:00
Wim
53e9664cde
Add support for private channels (slack). Closes #118
2017-01-28 00:36:53 +01:00
Wim
dcccd43427
Use unknown as username if unsigned channel (telegram)
2017-01-27 23:59:24 +01:00
Wim
5f8b24e32c
Fix username (telegram)
2017-01-27 23:30:46 +01:00
Wim
678a7ceb4e
Fix channel and group messages (telegram)
2017-01-27 23:26:06 +01:00
Josip Janžić
9bf10e4b58
Fix tls by setting ServerName (xmpp) ( #114 )
...
Fixes error message shown by tls: "either ServerName or InsecureSkipVerify must be specified in the tls.Config"
2017-01-18 21:01:42 +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
b3c3142bb2
Do not use API functions in webhook (slack). Closes #110
2017-01-12 00:40:50 +01:00
Tatsuyuki Ishi
e3dda0e812
Telegram: add markdown ( #103 )
...
* Add support for markdown (telegram)
Close #98
* Telegram: add more Markdown Render blacklist
2017-01-06 23:32:17 +01:00
Wim
7685fe1724
Add channel key support (irc). Closes #27
2017-01-04 14:10:35 +01:00
Tatsuyuki Ishi
8b47670a74
Telegram: Fix the missing username
2016-12-17 18:43:54 +09:00
Wim
fee159541f
Add initial Rocket.Chat support
2016-12-03 00:10:29 +01:00
Wim
70c93d970c
Update public links to new API (mattermost)
2016-11-26 15:46:39 +01:00
Wim
4960273832
Do not relay empty or delayed messages (xmpp)
2016-11-26 15:08:41 +01:00
Wim
6c018ee6fe
Enable keepalive (xmpp)
2016-11-26 15:04:06 +01:00
Wim
20c04f7977
Fix loop because of closed channel. Fixes #89
2016-11-23 23:51:51 +01:00
Wim
e1641b2c2e
Add support for RemoteNickFormat in general configuration
2016-11-20 23:33:41 +01:00
Wim
e0e1e4be80
Add gateway.inout config for bidirectional bridges. Closes #85
2016-11-20 23:01:44 +01:00
Wim
d5845ce900
Replace id-mentions to usernames (slack). Closes #86
2016-11-20 22:40:09 +01:00
Wim
cef64e01b3
Remove callbacks after being called. Fixes #88 (irc)
2016-11-20 17:21:15 +01:00
Wim
cd18d89894
Add initial telegram support
2016-11-15 23:15:57 +01:00
Wim
449ed31e25
Fix ShowJoinPart from irc bridge. Closes #72
2016-11-14 22:53:06 +01:00
Wim
f7495dd0c3
Add bot tag to api if not specified (discord)
2016-11-14 16:30:43 +01:00
Wim
a11f77835d
Fix !users command for irc. Closes #78 .
2016-11-14 00:12:48 +01:00
Wim
4976338677
Merge branch 'refactor'
2016-11-13 23:09:06 +01:00
Wim
99d130d1ed
Refactor
2016-11-13 23:06:37 +01:00
Wim
1d5cd1d7c4
Sync with mattermost 3.5.0
2016-11-12 22:00:53 +01:00
Wim
a3dd0f1345
Add support for using avatars from discord,slack and gitter in slack
2016-11-06 00:46:32 +01:00
Wim
2dbe0eb557
Add support for dynamic IconURL (slack). Closes #43
2016-11-05 01:11:51 +01:00
Wim
c3a8b7a997
Refactor modifyMessage
2016-11-04 23:03:31 +01:00
Wim
581847f415
Update to latest go-gitter API changes
2016-11-02 16:28:23 +01:00