Commit Graph

628 Commits

Author SHA1 Message Date
Wim e45c551880 Add support for editing messages. Remove ZWSP as loopcheck (gitter) 2017-08-28 23:07:12 +02:00
Wim e59d338d4e Use github.com/42wim/go-gitter for now 2017-08-28 23:07:11 +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 e84417430d Update PostMessage to also return and error. Add EditMessage function 2017-08-28 00:32:56 +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 ce1c5873ac Make megacheck happy 2017-08-17 00:00:41 +02:00
Wim 85ff1995fd Use mattermost v4 api (drops support for mattermost < 3.8) 2017-08-16 23:41:35 +02:00
Wim b963f83c6a Update mattermost vendor (3.7 => 4.1) 2017-08-16 23:37:37 +02:00
Wim f6297ebbb0 Bump version 2017-08-16 23:28:11 +02:00
Wim a5259f56c5 Release v1.0.1 2017-08-16 22:25:44 +02:00
Wim 3f75ed9c18 Add 4.1 support (mattermost) 2017-08-16 22:02:13 +02:00
Thracky 49ece51167 Add new file_ids parameter for Mattermost outgoing webhook (#240)
* Added file_id parameter for outgoing webhook

* Typo in the new fileids field name
2017-08-16 21:27:17 +02:00
Wim e77c3eb20a Swap token/id. Also check for default webhookURL in isWebhookID (discord) 2017-08-12 16:30:00 +02:00
Wim 59b2a5f8d0 Bump version 2017-08-12 14:54:19 +02:00
Wim 28710d0bc7 Allow a webhookurl per channel (discord). #239 2017-08-12 14:51:41 +02:00
Wim ad4d461606 Release v1.0.0 2017-08-05 15:50:21 +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 c28b87641e Release v1.0.0-rc1 2017-07-30 18:05:27 +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 54216cec4b Remove unused function 2017-07-30 16:12:33 +02:00
Wim 12989bbd99 Handle same account in multiple gateways better 2017-07-30 16:09:05 +02:00
Wim 38d09dba2e Update vendor (go-irc) 2017-07-28 14:26:26 +02:00
Wim fafd0c68e9 Update readme 2017-07-26 22:37:48 +02:00
Wim 41195c8e48 Fix double posting of edited messages by using lru cache (mattermost) 2017-07-25 23:57:27 +02:00
Wim a97804548e Add vendor (github.com/hashicorp/golang-lru) 2017-07-25 23:56:12 +02:00
Wim ba653c0841 Ignore edited messages with reactions (mattermost) 2017-07-25 23:19:50 +02:00
Wim 5b191f78a0 Update tests with gofmt 2017-07-25 20:20:55 +02:00
Wim 83ef61287e Refactor. Add tests 2017-07-25 20:11:52 +02:00
Wim 3527e09bc5 Update vendor 2017-07-25 20:10:40 +02:00
Wim ddc5b3268f Add screenshots 2017-07-24 17:36:57 +02:00
Wim 22307b1934 Release v0.16.3 2017-07-24 16:20:34 +02:00
Wim bd97357f8d Disable message from other bots when using webhooks (slack) 2017-07-22 20:03:40 +02:00
Wim 10dab1366e Return better error messages on mattermost connect 2017-07-22 18:13:13 +02:00
Wim 52fc94c1fe Remove old files. Update readme 2017-07-22 17:50:34 +02:00
Wim c1c7961dd6 Fix in/out logic. Closes #224 2017-07-22 17:25:22 +02:00
Wim d3eef051b1 Fix message modification 2017-07-21 17:04:03 +02:00
Wim 57654df81e Bump version 2017-07-20 23:17:02 +02:00
Wim 0f791d7a9a Handle reconnections better (xmpp). Closes #222 2017-07-20 23:16:43 +02:00
Wim 58779e0d65 Update readme 2017-07-19 00:31:26 +02:00
Wim 4ac361b5fd Add xmpp badge 2017-07-19 00:29:46 +02:00
Wim 1e2f27c061 Release v0.16.2 2017-07-18 23:48:00 +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