3
0
mirror of https://github.com/42wim/matterbridge.git synced 2024-12-30 15:12:39 +01:00
Commit Graph

48 Commits

Author SHA1 Message Date
Wim
2f7df2df43 Do not add messages without ID to cache 2017-08-29 20:28:44 +02:00
Wim
ad3a753718 Remove debug message 2017-08-28 23:07:13 +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
12989bbd99 Handle same account in multiple gateways better 2017-07-30 16:09:05 +02:00
Wim
83ef61287e Refactor. Add tests 2017-07-25 20:11:52 +02:00
Wim
c1c7961dd6 Fix in/out logic. Closes 2017-07-22 17:25:22 +02:00
Wim
d3eef051b1 Fix message modification 2017-07-21 17:04:03 +02:00
Wim
6dee988b76 Fix megacheck / go vet issues 2017-07-14 00:35:01 +02:00
Wim
6256c066f1 Replace :emoji: with unicode chars.
Add vendor github.com/peterhellberg/emojilib
2017-07-09 14:00:28 +02:00
Wim
1b1a9ce250 Fix samechannel gateway issue. Closes 2017-06-27 00:28:18 +02:00
Wim
2ddc4f7ae9 Add UserID to each message. Closes 2017-06-18 15:44:54 +02:00
Wim
25b1af1e11 Add option IgnoreMessages to ignore messages based on regexp. (all). Closes 2017-06-18 01:08:11 +02:00
Wim
3bc219167a Remove need for channel when using api. Closes 2017-06-15 00:40:23 +02:00
Wim
8a55c97b4e Fix utf-8 issues 2017-06-15 00:07:12 +02:00
Wim
359d0f2910 Allow reuse of api in different gateways. See 2017-06-07 23:54:50 +02:00
Wim
5f30a98bc1 Add gateway name to messages 2017-06-05 23:12:19 +02:00
Wim
c791423dd5 Add NOPINGNICK option. Closes 2017-05-30 00:11:53 +02:00
Wim
87229bab13 Fix sending to different channels on same account (slack). Closes 2017-05-24 22:10:21 +02:00
Wim
b469c8ddbd Rejoin channel when kicked (irc). Closes 2017-04-08 00:42:37 +02:00
Wim
eee0036c7f Modify iconurl correctly (mattermost). Closes 2017-04-08 00:16:46 +02:00
Wim
33dffd5ea8 Fix join/leave regression (irc) 2017-04-03 22:18:29 +02:00
Wim
a16ad8bf3b Reuse connection when using same bridge with another gateway. See 2017-04-01 17:24:19 +02:00
Wim
2e4d58cb92 Refactor 2017-03-28 23:56:58 +02:00
Wim
fd8cfb11fb Fail when bridge is unable to join a channel (general) 2017-03-16 23:05:11 +01:00
Wim
35025e164a Do not forward empty message from any bridge (general). Closes 2017-03-02 23:51:19 +01:00
Wim
73f01ad8d8 Add REST API support 2017-02-18 23:13:46 +01:00
Wim
62b165c0b4 Refactor samechannelgateway 2017-02-17 22:08:30 +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
991183e514 Fix IgnoreNicks (global). Closes 2017-01-21 21:00:40 +01:00
Wim
7685fe1724 Add channel key support (irc). Closes 2017-01-04 14:10:35 +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 2016-11-20 23:01:44 +01:00
Wim
449ed31e25 Fix ShowJoinPart from irc bridge. Closes 2016-11-14 22:53:06 +01:00
Wim
99d130d1ed Refactor 2016-11-13 23:06:37 +01:00
Wim
14830d9f1c Refactor gateway 2016-11-08 23:44:16 +01:00
Wim
2dbe0eb557 Add support for dynamic IconURL (slack). Closes 2016-11-05 01:11:51 +01:00
Wim
c3a8b7a997 Refactor modifyMessage 2016-11-04 23:03:31 +01:00
Wim
e93847a95e Launch every account only once. Fixes 2016-10-23 22:23:20 +02:00
Wim
47d38192b2 Only send to channels defined in config. Fixes 2016-10-23 20:58:04 +02:00
Wim
db0e4ba8c5 Add error message about non-existing channels (slack) 2016-10-08 21:57:03 +02:00
Wim
2d6ed51d94 Bail out on samechannel gateway when a bridge fails to start 2016-10-03 09:23:55 +02:00
Wim
1accee1653 Bail out when a bridge fails to start 2016-10-01 20:07:04 +02:00
Wim
d02a737e0c Cleanup debug messages 2016-09-20 00:21:14 +02:00
Wim
4737442185 Connect only once to each bridge 2016-09-19 23:05:49 +02:00
Wim
a0b84beb9b Add Discord support 2016-09-19 20:53:26 +02:00
Wim
7baf386ede Refactor for more flexibility
* Move from gcfg to toml configuration because gcfg was too restrictive
* Implemented gateway which has support multiple in and out bridges.
* Allow for bridging the same bridges, which means eg you can now bridge between multiple mattermosts.
* Support multiple gateways
2016-09-18 19:21:15 +02:00