Commit Graph

536 Commits

Author SHA1 Message Date
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
Wim 1b15897135 Fix tight loop (gitter). Closes #68. 2016-11-02 16:13:22 +01:00
Wim be513622ac Add anti-flooding settings (irc). See #40 2016-11-01 22:52:28 +01:00
Wim 6f309f2108 Use names instead of id's for mentions (discord). Fixes #66 2016-10-30 22:55:34 +01:00
Wim 92d9db5a2d Override config from environment. See #50
Expects uppercase environment variables of MATTERBRIDGE_PROTOCOL_ACCOUNT_KEY="value"
e.g. you can override this config

[mattermost]
    [mattermost.work]
    Team="yourteam"
    Login="yourlogin"
    Password="yourpass"

by using
MATTERBRIDGE_MATTERMOST_WORK_TEAM="newteam"
MATTERBRIDGE_MATTERMOST_WORK_LOGIN="newlogin"
MATTERBRIDGE_MATTERMOST_WORK_PASSWORD="newpassword"
2016-10-30 22:32:29 +01:00
Wim 96620a3c2c Drop first received message on connection to avoid duplicates (slack). Fixes #55 2016-10-29 21:05:56 +02:00
Wim 5249568b8e Wait until the welcome message before connection is ok (irc). Fixes #62 2016-10-29 18:59:12 +02:00
Wim 4a336a6bba Forward channel notices too (irc) 2016-10-29 18:01:16 +02:00
Wim 035dc042a1 Fix teamid bug (mattermost) 2016-10-29 16:46:02 +02:00
Wim dfc513530b Ignore messages from ourself (irc bridge) 2016-10-29 16:35:16 +02:00
Wim 721e0a2dcd Ignore private queries (irc bridge) 2016-10-29 16:27:07 +02:00
Wim 8452eb12da Only respond to notices from nickserv (irc bridge) 2016-10-29 16:09:58 +02:00
Wim 475bed5e19 Add support for discord channel ID. See #57 2016-10-26 01:01:36 +02:00
Wim 40a967523c Ignore empty content from discord. Fixes #58 2016-10-26 00:12:31 +02:00
Wim d3a34af073 Add support for discord attachments. Fixes #59 2016-10-26 00:09:22 +02:00
Wim e7107cf782 Use RTM only on API (slack). Fix #56 2016-10-25 23:29:32 +02:00
Wim e93847a95e Launch every account only once. Fixes #48 2016-10-23 22:23:20 +02:00
Wim 545377742c Drop messages not from our mattermost team. Fixes #49 2016-10-23 21:16:14 +02:00
Wim 1e84afbd90 Rename discord guild to server. 2016-10-23 19:51:41 +02:00
Wim 4380c48b4b Add irc names callback only on command. Fixes #51 2016-10-23 18:19:11 +02:00
Wim db0e4ba8c5 Add error message about non-existing channels (slack) 2016-10-08 21:57:03 +02:00
Wim e52b040b9c Add more irc debug on connect (when debugging enabled) 2016-10-01 20:07:59 +02:00
Wim fff6f08cb6 Add samechannel gateway. See #35 2016-09-30 23:19:47 +02:00
Wim 0e527a4252 Fix slack channel join 2016-09-30 23:15:35 +02:00
Wim f10251a1a3 Fix mattermost bridge channel join 2016-09-30 22:59:30 +02:00
Wim 8c6be434ac Remove newline splitting from outgoing mattermost messages. Should be handled by receiving bridge. 2016-09-29 23:32:12 +02:00
Wim 3ca4309e8a Split newlines for irc (#37) 2016-09-29 21:21:24 +02:00
Wim e8a2e1af63 Fix IRC colors regexp 2016-09-22 23:48:05 +02:00
Wim 1d240140c9 Strip IRC colors. Closes #33 2016-09-21 00:33:40 +02:00
Wim 272eef544f Add support for mattermost attachments. Shows public link on bridges. Closes #32 2016-09-20 23:48:58 +02:00
Wim fd756c5332 Use specified config file 2016-09-20 23:18:51 +02:00
Wim dce600ad51 Fix joining slack/mattermost channels using the webhook 2016-09-20 12:20:44 +02:00
Wim d02a737e0c Cleanup debug messages 2016-09-20 00:21:14 +02:00
Wim 98ff59c716 Cleanup discord bridge debug/info messages 2016-09-20 00:15:30 +02:00
Wim 0e96e9f9be Cleanup slack bridge debug/info messages 2016-09-20 00:13:57 +02:00
Wim e8c7898583 Cleanup gitter bridge debug/info messages 2016-09-20 00:06:19 +02:00
Wim 11f4a6897a Cleanup xmpp bridge debug/info messages 2016-09-20 00:03:01 +02:00
Wim 002c5fd0d1 Cleanup mattermost bridge debug/info messages 2016-09-19 23:58:57 +02:00
Wim 18504ec08d Cleanup irc bridge debug/info messages 2016-09-19 23:35:47 +02:00
Wim 596096d6da Add the discord bridge for real 2016-09-19 21:05:13 +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
Wim b30e85836e Add Slack support 2016-09-05 16:34:37 +02:00
Wim 12389d602e Add Gitter support 2016-09-04 20:04:43 +02:00
Wim 106404d32f Fix info message 2016-08-20 18:08:59 +02:00
Wim e06efbad9f Remove unused code 2016-08-20 18:08:58 +02:00
Wim 3311c7f923 Refactor handleReceive 2016-08-20 18:08:58 +02:00
Wim 3a6c655dfb Remove redundant function 2016-08-20 18:08:58 +02:00
Wim e11d786775 Move nickformatting into bridge 2016-08-20 18:08:57 +02:00
Wim 889b6debc4 Add Connect() to Bridger interface 2016-08-20 18:08:57 +02:00
Wim 9cb3413d9c Add Enable per section (protocol) instead of in general section 2016-08-20 18:08:57 +02:00
Wim 96e21dd051 Add documentation about breaking API changes for mattermost 3.3.0. Start work on 0.6.0-dev 2016-08-15 21:11:50 +02:00
Wim 6c6000dbbd Update code to mattermost 3.3.0 API changes 2016-08-15 18:49:17 +02:00
Wim ff94796700 Refactor bridge. Allows bridging between every protocol 2016-08-14 22:44:59 +02:00
Wim 1f72ca4c4e Add initial XMPP support 2016-08-14 22:40:26 +02:00
Wim 79ffb76f6e Add (PLAIN) SASL support 2016-07-21 23:47:44 +02:00
Wim 300cfe044a Remove token check 2016-07-12 00:23:36 +02:00
Wim fb586f4a96 Remove Port from IRC config. Specify it with server 2016-07-11 23:30:42 +02:00
Wim ced371bece Add port to BindAddress 2016-07-11 23:22:56 +02:00
Wim a87cac1982 Remove multiple Token config. Use same channel setup as from matterbridge-plus 2016-07-11 22:55:58 +02:00
Wim 8fb5c7afa6 Remove UseSlackCircumfix. Use RemoteNickFormat 2016-07-11 21:26:13 +02:00
Wim aceb830378 Converge with matterbridge-plus 2016-07-11 21:23:33 +02:00