Commit Graph

248 Commits (7ec95f786d55aab69541cb3065ea2c9b8eaf9c43)

Author SHA1 Message Date
Wim a3470f8aec Send first message after connect (slack). Closes #252 7 years ago
Wim 01badde21d Add message debugging (gitter) 7 years ago
Wim 37c350f19f Convert utf-8 back to charset (irc). #247 7 years ago
Wim 9e03fcf162 Fix private channel joining bug (mattermost). Closes #248 7 years ago
Wim 9226252336 Replace mentions from other bridges. (slack). Closes #233 7 years ago
Wim f4fb83e787 Use the detected charset (irc) 7 years ago
Wim e7fcb25107 Add a charset option (irc). Closes #247 7 years ago
Wim 2f7df2df43 Do not add messages without ID to cache 7 years ago
Wim e45c551880 Add support for editing messages. Remove ZWSP as loopcheck (gitter) 7 years ago
Wim 7a86044f7a Add support for editing messages (telegram) 7 years ago
Wim 8b98f605bc Add support for editing messages (slack) 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 cfb8107138 Relay notices (matrix). Closes #243 7 years ago
Wim 43bd779fb7 Handle leave/join events (slack). Closes #246 7 years ago
Wim 7f9a400776 Add support for personal access tokens (mattermost)
* https://docs.mattermost.com/developer/personal-access-tokens.html
7 years ago
Wim e77c3eb20a Swap token/id. Also check for default webhookURL in isWebhookID (discord) 7 years ago
Wim 28710d0bc7 Allow a webhookurl per channel (discord). #239 7 years ago
anon724 67905089ba Add UseUserName option (discord) (#234) 7 years ago
Wim f2483af561 Do not modify username in action (discord) 7 years ago
Wim f8e6a69d6e Add action support for slack,mattermost,irc,gitter,matrix,xmpp,discord. #199 7 years ago
Wim 38d09dba2e Update vendor (go-irc) 7 years ago
Wim ba653c0841 Ignore edited messages with reactions (mattermost) 7 years ago
Wim 83ef61287e Refactor. Add tests 7 years ago
Wim bd97357f8d Disable message from other bots when using webhooks (slack) 7 years ago
Wim 0f791d7a9a Handle reconnections better (xmpp). Closes #222 7 years ago
Wim 0302e4da82 Fix webhookurl/webhookbindaddress panic (mattermost). Closes #221 7 years ago
Wim dc8743e0c0 Tag messages we send ourself using CallbackID hack (slack). Closes #219 7 years ago
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'
7 years ago
Wim 778abea2d9 Add support for fallback/text in attachments (slack) 7 years ago
Wim 20a7ef33f1 Make sure bot doesn't loop now we relay bot messages (slack) 7 years ago
Wim 04e0f001b0 Fix discordgo api changes 7 years ago
Wim 335ddf8db5 Fix lookup bot username (slack). #213 7 years ago
Wim 4aa646f6b0 Use GetFileLinks. Also show links to non-public files (mattermost) 7 years ago
Wim 9dcd51fb80 Refactor connecting logic slack/mattermost. Fixes #216 7 years ago
Wim 6dee988b76 Fix megacheck / go vet issues 7 years ago
Wim 8411f2aa32 Lookup bot username (slack). #213 7 years ago
Wim b75cf2c189 Replace HTML entities (slack). #215 7 years ago
Wim 870b89a8f0 Fix embeds (discord). Closes #202 7 years ago
Wim bfc7130ed8 Try to detect the charset and convert it to utf-8. (irc). Closes #209 #210 7 years ago
Wim 2338c69d40 Add UseInsecureURL option (telegram) 7 years ago
Wim c714501a0e Fix channel id off by 0x18000000000000 (steam) 7 years ago
Wim 830361e48b Deprecate URL,useAPI,BindAddress (slack,mattermost,rocketchat) 7 years ago
Wim 25ac4c708f Add more debugging (discord) 7 years ago
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.
7 years ago
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>
7 years ago
Wim 1b837b3dc7 Add ShowEmbeds option (discord). #202 7 years ago
Wim 276ac840aa Add initial steam support 7 years ago
Wim 62e9de1a3b Use the last (and biggest) photo to relay (telegram). Closes #184 7 years ago
Wim 2ddc4f7ae9 Add UserID to each message. Closes #200 7 years ago
Wim 2dd402675d Sent only the biggest picture to bridges (telegram) 7 years ago
Wim 25b1af1e11 Add option IgnoreMessages to ignore messages based on regexp. (all). Closes #70 7 years ago
Wim 75fb2b8156 Make reconnection more robust (irc). #153 7 years ago
Wim 2a403f8b85 Add initial sticker/video/photo/document support (telegram). #184 7 years ago
Wim c3d45a9f06 Do not relay join/part of ourselves (irc). Closes #190 7 years ago
Wim 511f653e6e Fix incorrect behaviour of EditDisable (mattermost). Fixes #197 7 years ago
Wim 4b839b9958 Avoid nil in usermembermap (discord). See #198 7 years ago
Wim 359d0f2910 Allow reuse of api in different gateways. See #189 7 years ago
Wim ad3cb0386b Add token authentication (api) 7 years ago
Wim 2eecaccd1c Change to lowercase JSON keys (api) 7 years ago
Wim 5f30a98bc1 Add gateway name to messages 7 years ago
Wim b8a2fcbaff Post valid JSON (api). See #185 7 years ago
Wim c0c4890887 Add hashtag to channel (discord) 7 years ago
Wim 9bcd131e66 Reset variables each loop (telegram). Closes #181 7 years ago
Wim 9d9cb32f4e Limit message length (irc). Closes #179 7 years ago
Wim 87229bab13 Fix sending to different channels on same account (slack). Closes #177 7 years ago
Wim 3812693111 Replace long ids in channel metions (discord). Fixes #174 7 years ago
Wim dd3c572256 Fix possible crash on nil (discord) 7 years ago
siinus ef278301e3 Fix JoinChannel argument to use IRC channel key (#172) 7 years ago
Wim 2888fd64b0 Add UseFirstName option (telegram). Closes #144 7 years ago
Wim 4036d4459b Add NoHomeServerSuffix. Option to disable homeserver on username (matrix). Closes #160. 7 years ago
Frank ee643de5b6 Add Compatibility for Cisco Jabber (xmpp) (#166) 7 years ago
Wim d300bb1735 Relay messages starting with ! (irc). Closes #164 7 years ago
Wim 4fcedabfd0 Revert "Add support for edited messages (gitter)"
This reverts commit 17b8b86d68.
Reverted because of lingering file descriptors (memory leak)
8 years ago
Wim 246c8e4f74 Ignore error on private channel join (slack) Fixes #150 8 years ago
Wim 4d2207aba7 Add support for edited messages (slack) 8 years ago
Wim 17b8b86d68 Add support for edited messages (gitter) 8 years ago
Wim fdb57230a3 Add support for edited messages (mattermost) 8 years ago
Wim 7469732bbc Add support for edited messages (telegram) 8 years ago
Wim d1dd6c3440 Add support for edited messages (discord) 8 years ago
Wim 02612c0061 Add support for sending edited messages 8 years ago
Wim 035c2b906a Strip custom emoji metadata (discord). Closes #148 8 years ago
Wim b469c8ddbd Rejoin channel when kicked (irc). Closes #146 8 years ago
Wim eee0036c7f Modify iconurl correctly (mattermost). Closes #145 8 years ago
Wim 89c66b9430 Reconnect on session removal (mattermost) 8 years ago
Wim bd38319d83 Add support for showing/hiding join/leave messages from mattermost. Closes #147 8 years ago
Wim 57176dadd4 Support edited messages (telegram). See #141 8 years ago
Wim dd449a8705 Remove debug info (irc) 8 years ago
Wim 587ad9f41d Remove space after nick (mattermost). Closes #142 8 years ago
Wim a16ad8bf3b Reuse connection when using same bridge with another gateway. See #87 8 years ago
Wim 2e4d58cb92 Refactor 8 years ago
Wim f935c573e9 Allow bot tokens for now without warning (slack). Closes #140 8 years ago
Wim c30ffeb81e Fix roomid bug (gitter) 8 years ago
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)
8 years ago
Wim eddc691fc9 Join rooms not already joined by the bot (gitter). See #135 8 years ago
Wim fd8cfb11fb Fail when bridge is unable to join a channel (general) 8 years ago
Wim 9407aa4600 Check if room exists when joining channel (gitter). Closes #135 8 years ago
Wim 32bbab8518 Do not use HTML parsemode by default. Set MessageFormat="HTML" to use it. (telegram) Closes #126 8 years ago
Wim 84c0b745af Use roomalias instead of internal ID (matrix) 8 years ago
Wim c5cfbc2297 Add matrix support 8 years ago