Commit Graph

168 Commits (master)

Author SHA1 Message Date
Wim a5c143bc46 Allow xmpp to receive the extra messages when text is empty. #295 6 years ago
Wim 6523494e83 Obey the Gateway value from the json (api). Closes #344 6 years ago
Wim a4d5c94d9b Make edits/delete work for bridges that gets reused. Closes #342 6 years ago
Wim 7631d43c48 Change RemoteNickFormat replacement order. Closes #336 6 years ago
Wim 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
7 years ago
Wim cbd73ee313 Add support for uploaded images/video/files (matrix) 7 years ago
Wim cd4c9b194f Add support for ReplaceNicks using regexp to replace nicks. Closes #269 7 years ago
Wim aff3964078 Add support for ReplaceMessages using regexp to replace messages. #269 7 years ago
Wim f1e9833310 Do not ignore empty messages with files for bridges that support it 7 years ago
Wim 41aa8ad799 Add StripNick option, only allow alphanumerical nicks. Closes #285 7 years ago
Patrick Connolly 915a8fbad7 Make [general] settings default, not total override (specifically RemoteNickFormat) (#279)
* Use general settings as default, that specific protocols override.

* Fixed tab formatting.

* Clarified override precedence of [general] config.
7 years ago
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).
7 years ago
Wim 1a40b0c1e9 Relay attachments from mattermost to slack (slack). Closes #260 7 years ago
Wim 2f7df2df43 Do not add messages without ID to cache 7 years ago
Wim ad3a753718 Remove debug message 7 years ago
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.
7 years ago
Wim 5a8d7b5f6d Modify Send() to return also a message id 7 years ago
Wim 54216cec4b Remove unused function 7 years ago
Wim 12989bbd99 Handle same account in multiple gateways better 7 years ago
Wim 5b191f78a0 Update tests with gofmt 7 years ago
Wim 83ef61287e Refactor. Add tests 7 years ago
Wim c1c7961dd6 Fix in/out logic. Closes #224 7 years ago
Wim d3eef051b1 Fix message modification 7 years ago
Wim 6dee988b76 Fix megacheck / go vet issues 7 years ago
Wim 6256c066f1 Replace :emoji: with unicode chars. #215
Add vendor github.com/peterhellberg/emojilib
7 years ago
Wim 1b1a9ce250 Fix samechannel gateway issue. Closes #207 7 years ago
Wim 2ddc4f7ae9 Add UserID to each message. Closes #200 7 years ago
Wim 25b1af1e11 Add option IgnoreMessages to ignore messages based on regexp. (all). Closes #70 7 years ago
Wim 3bc219167a Remove need for channel when using api. Closes #195 7 years ago
Wim 8a55c97b4e Fix utf-8 issues #193 7 years ago
Wim 359d0f2910 Allow reuse of api in different gateways. See #189 7 years ago
Wim 5f30a98bc1 Add gateway name to messages 7 years ago
Wim c791423dd5 Add NOPINGNICK option. Closes #175 7 years ago
Wim 87229bab13 Fix sending to different channels on same account (slack). Closes #177 7 years ago
Wim b469c8ddbd Rejoin channel when kicked (irc). Closes #146 7 years ago
Wim eee0036c7f Modify iconurl correctly (mattermost). Closes #145 7 years ago
Wim 33dffd5ea8 Fix join/leave regression (irc) 7 years ago
Wim a16ad8bf3b Reuse connection when using same bridge with another gateway. See #87 7 years ago
Wim 2e4d58cb92 Refactor 7 years ago
Wim fd8cfb11fb Fail when bridge is unable to join a channel (general) 7 years ago
Wim 35025e164a Do not forward empty message from any bridge (general). Closes #128 7 years ago
Wim 73f01ad8d8 Add REST API support 7 years ago
Wim 62b165c0b4 Refactor samechannelgateway 7 years ago
Wim dc37232100 Refactor. Make extra options easier for other protocols 7 years ago
Wim 163f55f9c2 Refactor to handle disconnects/reconnects better.
Now try to reconnect every 60 seconds until forever.
7 years ago
Wim 991183e514 Fix IgnoreNicks (global). Closes #115 7 years ago
Wim 7685fe1724 Add channel key support (irc). Closes #27 8 years ago
Wim 2e54b97fc2 Add support for RemoteNickFormat in general configuration (samechannelgateway) 8 years ago
Wim e1641b2c2e Add support for RemoteNickFormat in general configuration 8 years ago
Wim e0e1e4be80 Add gateway.inout config for bidirectional bridges. Closes #85 8 years ago
Wim 449ed31e25 Fix ShowJoinPart from irc bridge. Closes #72 8 years ago
Wim af1ad82c8e Fix merge issue 8 years ago
Wim 4976338677 Merge branch 'refactor' 8 years ago
Wim 99d130d1ed Refactor 8 years ago
Wim 08ebee6b4f Validate channels for samechannelgateway. Fixes #73. 8 years ago
Wim 14830d9f1c Refactor gateway 8 years ago
Wim 2dbe0eb557 Add support for dynamic IconURL (slack). Closes #43 8 years ago
Wim c3a8b7a997 Refactor modifyMessage 8 years ago
Wim e93847a95e Launch every account only once. Fixes #48 8 years ago
Wim 47d38192b2 Only send to channels defined in config. Fixes #53 8 years ago
Wim db0e4ba8c5 Add error message about non-existing channels (slack) 8 years ago
Wim 2d6ed51d94 Bail out on samechannel gateway when a bridge fails to start 8 years ago
Wim 1accee1653 Bail out when a bridge fails to start 8 years ago
Wim fff6f08cb6 Add samechannel gateway. See #35 8 years ago
Wim d02a737e0c Cleanup debug messages 8 years ago
Wim 4737442185 Connect only once to each bridge 8 years ago
Wim a0b84beb9b Add Discord support 8 years ago
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
8 years ago