Duco van Amstel
8a7efce941
Move golangci-lint configuration to file ( #635 )
2018-12-05 11:34:34 +01:00
Wim
4265d43096
Refactor handleUploadFile (matrix) ( #629 )
2018-12-03 16:51:11 +01:00
Wim
27f5a1a685
Fix multiple channel join regression. Closes #639
2018-12-03 16:37:12 +01:00
Wim
859ebad55d
Make slack-legacy change less restrictive ( #626 )
2018-12-02 23:09:21 +01:00
Patrick Connolly
e538a4d304
Update nlopes/slack to 4.1-dev ( #595 )
2018-12-01 19:55:35 +01:00
Wim
f94c2b40a3
Refactor mattermost bridge ( #622 )
...
* Split up in different files
* Decrease complexity
* Fix linting issues
2018-12-01 00:49:08 +01:00
Wim
7923cfe8f8
Fix telegram crash #620
2018-11-29 23:03:50 +01:00
Wim
df02f51c56
Fix regression on using server ID (discord). #619 #617
2018-11-28 23:50:40 +01:00
Patrick Connolly
fc5e3a6728
Create getChannelsByX functions to make codeclimate happy (slack) ( #610 )
2018-11-28 11:04:26 +01:00
Wim
57fbd3c723
Refactor irc handlers. Fix linting ( #611 )
2018-11-28 10:58:56 +01:00
Wim
25cd1e2cc1
Refactor telegram handlers. Fix linting ( #609 )
...
* Refactor telegram handlers. Fix linting
2018-11-28 10:57:59 +01:00
Patrick Connolly
f5659d455d
Sync channel topics between Slack bridges ( #585 )
...
Added logic to allow for configurable synchronisation of topics and purposes of channels between Slack bridges.
2018-11-26 09:47:04 +00:00
Duco van Amstel
09875fe160
Update direct dependencies where possible
2018-11-25 21:21:04 +01:00
Wim
f716b8fc0f
Merge pull request #606 from 42wim/fix-590
2018-11-25 20:40:22 +01:00
Wim
9f66f93641
Add option to send RAW commands after connection (irc). Fixes #490 ( #604 )
2018-11-25 19:32:16 +01:00
Wim
f00d4d7d3f
Make sure threaded files stay in thread (slack). Fixes #590
2018-11-25 19:27:45 +01:00
Wim
0929535b2e
Do not post empty messages (slack). Fixes #574
2018-11-25 19:26:47 +01:00
Wim
8869e253ca
Handle deleted/edited thread starting messages (slack). Fixes #600 ( #605 )
2018-11-25 10:08:57 +00:00
Wim
f4d4dc91b1
Add option to ignore failing bridge on start. Fixes #455 ( #603 )
2018-11-25 10:35:35 +01:00
Wim
c6fd65d1d7
Limit discord username via webhook to 32 chars
2018-11-23 20:52:31 +01:00
Wim
0795906533
Rework connection logic (irc)
...
If IRC connection fails on first connect, bail out.
Wait until after nickserv auth until joining channels (also after reconnects)
Don't do a separate irc timeout, some connections take a while #503
2018-11-23 00:26:50 +01:00
Wim
a2b45bc799
Fix Nickserv logic (irc) #602
2018-11-22 22:46:38 +01:00
Wim
ae32bae791
Add protocol to msg.ID in cache ( #596 )
2018-11-19 21:28:23 +01:00
Wim
32f57b7c26
Add links to slack bot and legacy config in error message (slack)
2018-11-18 17:14:47 +01:00
Duco van Amstel
ce21ba1545
Fix golint linter issues and enable it in CI ( #593 )
2018-11-15 20:43:43 +01:00
Duco van Amstel
c89085bf44
Fix and enable goimports linter ( #591 )
2018-11-15 19:24:22 +01:00
Patrick Connolly
4254ed3c63
Fix regression in skip logic (slack). ( #592 )
2018-11-15 19:23:46 +01:00
Duco van Amstel
85564a35fd
Fix IRC line splitting. Closes #584 ( #587 )
2018-11-14 22:43:52 +01:00
Patrick Connolly
09713d40ba
Fix file caching issue (slack). #572 ( #575 )
2018-11-14 21:00:21 +01:00
Duco van Amstel
16d5aeac7c
Make config.Config more unit-test friendly ( #586 )
2018-11-13 23:30:56 +01:00
Duco van Amstel
e19ba5a06a
Add new Slack connection and forked legacy Slack bridge ( #582 )
2018-11-13 20:51:19 +01:00
Wim
f7a5077d5d
Fix goconst linter failure
2018-11-13 20:40:15 +01:00
Wim
f8dc24bc09
Switch back go upstream bwmarrin/discordgo
...
Commit ffa9956c9b
got merged in.
2018-11-13 00:02:07 +01:00
Duco van Amstel
e9419f10d3
Restore file comments coming from Slack ( #583 )
2018-11-12 15:58:00 +01:00
Wim
d2ae3ebf9e
Disable Connect(), JoinChannel(), Send() for mattermost.plugin
2018-11-11 22:44:10 +01:00
Duco van Amstel
2f042ad915
Add more rate-limit handling (slack) ( #581 )
2018-11-10 22:09:41 +01:00
Wim
78401214b0
Make scopelint happy
2018-11-08 22:29:34 +01:00
Wim
b2a07aba3a
Make goconst linter happy
2018-11-08 22:20:03 +01:00
Wim
1e0bb3da95
Make gocritic linter happier
2018-11-08 22:01:29 +01:00
Wim
59994da176
Act only on UserTypingEvents when enabled
2018-11-08 21:52:10 +01:00
Patrick Connolly
3d281b3316
Add ability to show when user is typing across Slack bridges ( #559 )
2018-11-08 20:45:40 +01:00
Duco van Amstel
ea86849a58
Fix Slack edit usernames ( #570 )
2018-11-08 20:07:21 +01:00
Wim
399789811e
Make gocritic linter happy
2018-11-08 00:46:34 +01:00
Wim
8d117cb0a4
Make structcheck linter happy
2018-11-08 00:38:33 +01:00
Wim
588b8e0303
Make interfacer linter happy
2018-11-08 00:35:30 +01:00
Wim
1794922263
Make unparam linter happy
2018-11-08 00:29:30 +01:00
Patrick Connolly
f2703979a4
Clean up config loading. ( #561 )
2018-11-07 22:32:12 +01:00
Duco van Amstel
d2a1dc792f
Refactor and clean-up handlers. (slack) ( #533 )
2018-11-07 21:35:59 +01:00
David Hill
0e2522279e
Clean up various stuff ( #508 )
...
* various cleanups
2018-11-07 20:36:50 +01:00
Duco van Amstel
a1bf37e457
Do not join Slack channel without API access (slack) ( #563 )
2018-11-07 17:25:00 +01:00
Patrick Connolly
a20b7895a9
Preserve threading between Slack instances ( #529 )
...
* Opportunistically preserve Slack threading when parent thread in cache. [#529 ]
* Removed slack-specific processing from gateway.
* Added docs.
* Add option to enable threading, with default to off.
* Did cleanup on @42wim's comments.
* Update gateway/gateway.go
Co-Authored-By: patcon <patrick.c.connolly@gmail.com>
* Suggestion from @42wim :)
* Suggestions from @42wim.
* More suggestions.
2018-11-07 09:14:31 +01:00
Patrick Connolly
5666821e7b
Add a health endpoint to API ( #554 )
2018-11-07 09:11:59 +01:00
Patrick Connolly
5132d8f097
Stop setting API ring buffer capacity if not specified. ( #552 )
2018-11-05 21:53:51 +01:00
Patrick Connolly
7e62bc4819
Remove hyphens when auto-loading envvars from viper config ( #545 )
...
* When auto-loading envvars from toml keys, remove hyphens.
See: https://unix.stackexchange.com/questions/23659/can-shell-variable-include-character
2018-11-03 14:42:27 +01:00
NikkyAI
d058be25ad
Respond with message on connect (api) ( #550 )
...
fix #549
2018-11-02 16:35:13 +01:00
Duco van Amstel
1269be1d04
Prevent Slack API rate-limit overflow ( #539 )
2018-11-01 21:28:22 +01:00
Wim
e2b50d6194
Add better support for multiperson DM (mattermost)
2018-10-27 22:02:25 +02:00
Wim
107969c09a
Split up cookie token and personal token (mattermost). Fixes #530 ( #540 )
2018-10-26 16:47:56 +02:00
Patrick Connolly
d379118772
Fix bridge no longer POSTing username and avatar (slack) ( #536 )
...
* Fixed pointer/reference issue in populateUsers. [#536 ]
* Accepted codestyle suggestion.
* Update bridge/slack/helpers.go
Co-Authored-By: patcon <patrick.c.connolly@gmail.com>
* Update helpers.go
2018-10-24 21:12:20 +02:00
Duco van Amstel
f2cdda7278
Update Blackfriday dependency ( closes #522 ) ( #532 )
...
- Fixup Telegram bridge implementation to support updated dependency.
2018-10-22 19:48:29 +02:00
Duco van Amstel
6911458d15
Clean up message send logic (slack). ( #531 )
2018-10-22 19:43:57 +02:00
Duco van Amstel
6238effdc2
Clean up user and channel information management (slack) ( #521 )
2018-10-16 20:34:09 +02:00
Duco van Amstel
498377a230
Clean up code and strengthening (slack) ( #519 )
...
Changes include:
- Refactor of strings into package-wide constants.
- Predeclaration of regexps to be instantiated at package load time.
- Checking of unchecked errors.
- Structural changes:
- Adding verifications to type-casting code.
- Remove unnecessary 'len(X) > 0' checks before iterating over X.
- Remove unnecessary 'else' clause after 'if' with 'return'.
- Unexporting of public fields of Bridge struct.
- Formatting:
- One-field-per-line struct definitions.
2018-10-13 01:02:14 +02:00
Duco van Amstel
e15b0e04b8
Refactor slack bridge prelude ( #517 )
...
Distributing the source of the Slack bridge across multiple files to
increase readability and as a prelude to various refactors and
clean-ups.
2018-10-12 23:16:34 +02:00
NikkyAI
54adb0509e
Fix mentions cuttíng off all text after the mention (discord) ( #506 )
2018-09-29 20:02:59 +02:00
Wim
bd3a3b6eaf
Let webhook also replace mentions (discord). Closes #502
2018-09-22 22:15:19 +02:00
NikkyAI
296428d53e
Fix Discord mentions by populating the nickMemberMap at connect ( #498 )
2018-09-17 21:25:06 +02:00
Jerry Heiselman
a431a4fa04
Replace @... string with user mention if match found (discord) ( #492 ). Closes #460
...
* Added check for @-mention pattern and replacing it with a user with a matching Nick on incoming messages
2018-09-12 22:30:14 +02:00
Wim
330ddb6a30
Fix panic by using matterclient calls in the right place. Related to cb7278eb
(mattermost). Closes #491
2018-08-30 23:04:50 +02:00
Wim
52dbd702ad
Get up to 1000 channels and private/mp/im channels (slack). Related to #489
2018-08-28 22:33:07 +02:00
Wim
d7c3570ba3
Check nickname on kick (irc). Closes #488
2018-08-27 21:20:41 +02:00
Wim
b51fdbce9f
Add caching to fix issue with slack API changes (slack). #481
2018-08-18 00:12:05 +02:00
Wim
351b423e15
Add a bit more debugging (irc). #482
2018-08-16 23:02:28 +02:00
Wim
7690be1647
Fix slack file/image downloads after api changes (slack)
2018-08-10 00:39:07 +02:00
Wim
7f3cbcedc0
Use own forks for logrus-prefixed-formatter and discordgo
2018-08-06 21:11:13 +02:00
Wim
d71850cef6
Use UserID to look for avatar instead of username (slack). Closes #472
2018-08-06 16:44:15 +02:00
Wim
2597c9bfac
Clip too long messages sent to discord (discord). Closes #440
2018-07-22 00:28:17 +02:00
Wim
93307b57aa
Skip empty messages being sent with the webhook (discord). #469
2018-07-21 23:19:11 +02:00
Wim
618953c865
Remove ununsed function (slack)
2018-07-13 23:28:23 +02:00
Wim
e04dd78624
Add support for slack channels by ID. Closes #436
2018-07-13 23:23:11 +02:00
Wim
fa0c4025f7
Fix avatar uploads to work with MediaDownloadPath. Closes #454
2018-07-11 23:44:29 +02:00
John
2d2d185200
Stop numbers being stripped after non-color control codes (irc) ( #465 )
...
Currently numbers are stripped not just after the color control code (\x03) but also after other formatting such as bold (\x02) and italic (\x1D), which is both unnecessary and leads to missing text from irc. This fixes that by only stripping numbers after the color control code.
2018-07-11 22:50:49 +02:00
Wim
cb7278eb50
Use nickname instead of username if defined (mattermost). Closes #452
2018-07-03 22:41:09 +02:00
Wim
ed062e0ce5
Add a space before url in file uploads (discord). Closes #461
2018-06-29 22:35:29 +02:00
Wim
a69ef8402b
Fix previous commit
2018-06-28 21:19:02 +02:00
Wim
8779f67d2d
Allow join-leave and topic changes to webhook (discord)
2018-06-28 21:14:31 +02:00
Wim
e4b72136b8
Fix possible panic. #448
2018-06-19 22:53:45 +02:00
Wim
221a63d980
Fix build (telegram)
2018-06-18 23:49:28 +02:00
Wim
d02eda147c
Add support for MessageFormat=htmlnick (telegram). #444
2018-06-18 23:38:52 +02:00
Bruno Bierbaumer
6628a47f23
Add channel password support for XMPP ( #451 )
2018-06-18 22:55:45 +02:00
Wim
d2c02be3a0
Handle slack attachments sent to mattermost. Closes #447
2018-06-16 00:11:15 +02:00
Maxim
594492fbdd
Add Title from attachment slack message ( #446 )
2018-06-13 21:58:51 +02:00
Wim
bd9ea7a88d
Add MediaDownloadBlacklist option. Closes #442
2018-06-09 14:35:02 +02:00
Liam Stanley
51327a4056
Reconnect on quit. (irc) See #431 ( #445 )
...
* potential fixes for #431
* go: fix formatting/gofmt/goreturns
2018-06-09 12:47:40 +02:00
Remi Reuvekamp
33bd60528b
Add config option MediaDownloadPath ( #443 )
...
* Add config option MediaUploadPath
MediaDownloadPath can be used instead of MediaServerUpload, for when your
webserver is on the same system as matterbridge and matterbridge has
write access to the serve dir.
* Limit length of hash in MediaServer urls to 8chars
Full SHA256 is unnecessary for uniqueness.
Also; if a file has the same first 8 charachters of the SHA256 hash,
it's still not a problem, as long as the filename is not the same.
2018-06-08 22:30:35 +02:00
Wim
e307069d62
Ignore messages from ourself. (sshchat) Closes #439
2018-06-06 00:51:42 +02:00
ValdikSS
91db63294c
Add message correction support for XMPP ( #437 )
...
It works worse than it could be, since message correction in XMPP
works differently compared to other messengers. XMPP replaces old
message with old ID with new message with new ID. Matterbridge
remembers only old ID, that's why you can edit a message from
XMPP to the gateway only once.
Edited messages from other networks to XMPP are handled correctly
though.
2018-05-29 23:29:51 +02:00
Yuval Langer
6576409d60
Prevent white or black color codes (irc) ( #434 )
2018-05-29 22:52:01 +02:00
Patrick Connolly
045cb2058c
Fix regexp in replaceMention (slack). ( #435 )
2018-05-29 22:49:10 +02:00
Wim
07885f5810
Fix iconurl regression (mattermost,slack,rocketchat). Closes #430
2018-05-27 22:30:17 +02:00
Wim
696c518550
Add error message about webhook (slack)
2018-05-27 22:14:31 +02:00
Wim
411ef2691c
Use uuid instead of userid. Fixes #429
2018-05-27 21:50:00 +02:00
OyyoDams
f6eefa4ecc
Fix issue #432 - Avatar spoofing from Slack to Discord with uppercase in nick doesn't work ( #433 )
2018-05-26 13:25:26 +02:00
Kazuhiro NISHIYAMA
f1db166ac4
Fix format string bug (irc) ( #428 )
2018-05-18 21:45:39 +02:00
Yuval Langer
887c2bc56d
End IRC username formatting with a total formatting reset (irc) ( #425 )
...
* Add zero padding to the color code
* Change color ending into total formatting reset
2018-05-18 21:33:37 +02:00
Yuval Langer
f0738a93c3
[WIP] Colorize username sent to IRC using its crc32 IEEE checksum ( #423 )
...
* Colorize username sent to IRC using its crc32 IEEE checksum
* Add `ColorNicks` configuration variable
* Add `ColorNicks` setting
2018-05-11 23:02:43 +02:00
Wim
75381c2c6e
Add support for CJK to/from utf-8 (irc). #400
2018-05-11 21:55:53 +02:00
Wim
406a54b597
Add QuoteFormat option (telegram). Closes #413
2018-05-11 20:59:15 +02:00
ValdikSS
be04d1a862
Send attached files to XMPP in different message with OOB data and without body ( #421 )
...
Conversations can't show inline pictures if there's anything besides URL in the message body.
Workaround this issue by sending one usual message and one message with OOB data and without message body.
The second message should not be shown in the clients without OOB support, so the user won't see the empty message.
2018-05-09 23:04:10 +02:00
Wim
45296100df
Add initial zulip support
2018-05-07 21:35:48 +02:00
Wim
72ce7f06e9
Handle file comment better
2018-05-06 16:57:59 +02:00
Wim
346a7284f7
Handle file uploads to mediaserver (steam)
2018-05-06 16:32:24 +02:00
Wim
ee4ac67081
Fix possible nil when using channels (telegram). #410
2018-05-05 23:15:50 +02:00
Wim
96a47a60ad
Add support for reloading all settings automatically after changing config except connection and gateway configuration. Closes #373
2018-05-01 22:23:37 +02:00
Wim
b24a47ad7f
Handle channel posts correctly (telegram)
2018-04-29 22:31:11 +02:00
Wim
cd1fd1bb7c
Fix panic (telegram). Closes #410
2018-04-29 15:46:40 +02:00
Jerry Heiselman
76af9cba5a
Properly set Slack user who initiated slash command ( #394 )
...
* Properly set Slack user who initiated slash command
2018-04-25 21:27:34 +02:00
Wim
b69fc30902
Fix regression in ReplaceMessages and ReplaceNicks. Closes #407
2018-04-21 23:26:39 +02:00
Wim
99ce68e9ba
Use username if bot name is Slack API Tester (slack)
2018-04-20 01:01:45 +02:00
Wim
8a8b95228c
Remove message newline (telegram). #399
2018-04-19 22:05:00 +02:00
Wim
31a752fa21
Add missing import
2018-04-19 13:04:12 +02:00
Wim
a83831e68d
Remove empty newlines from messages (telegram) #399
2018-04-19 12:53:49 +02:00
ValdikSS
a12a8d4fe2
Send mediaserver link to Discord in Webhook mode (discord) ( #405 )
2018-04-17 23:52:48 +02:00
Wim
e57f3a7e6c
Add QuoteDisable option (telegram). Closes #399
2018-04-17 23:26:41 +02:00
Wim
68fbed9281
Make our callbackid more unique. Fixes issue with running multiple matterbridge on the same channel (slack,mattermost)
2018-04-13 22:01:03 +02:00
Jerry Heiselman
76360f89c1
Strip markdown URLs with blank text (slack) ( #392 )
2018-03-22 22:28:27 +01:00
Wim
b4aa637d41
Add channel debug (discord)
2018-03-17 22:56:58 +01:00
Wim
7c4334d0de
Remove unused import
2018-03-17 22:54:54 +01:00
Wim
062be8d7c9
Revert #378
2018-03-17 18:02:00 +01:00
Wim
8c0b04b995
Ignore restricted_acton on channel join (slack). Closes #387
2018-03-12 21:14:13 +01:00
Wim
e5989adf92
Add support for NoSendJoinPart. Closes #382
2018-03-06 21:35:47 +01:00
Wim
2133e0d1be
Use default values part 2 (irc)
2018-03-06 20:51:02 +01:00
Wim
a6f37f1d61
Use default values (irc)
2018-03-06 20:41:34 +01:00
Wim
9de9151826
Fix panic on sending messages between reconnects (irc). Closes #385
2018-03-05 22:50:38 +01:00
Wim
80fcf18e24
Remove debug messsage (mattermost)
2018-03-05 22:22:20 +01:00
Wim
ab94b5ca7a
Update regex for usergroup matching. Closes #379
2018-03-05 20:56:33 +01:00
Wim
8d2ce56c37
Fix regression (slack). Closes #384
2018-03-05 20:19:43 +01:00
Wim
1ec324354b
Fix empty messages (telegram)
2018-03-05 00:43:59 +01:00
Wim
16be6601c8
Fix incorrect skipmessage (xmpp)
2018-03-05 00:36:54 +01:00
Wim
98027446c8
Fix tests and make megacheck happy
2018-03-05 00:30:46 +01:00
Wim
f2f1d874e1
Use viper (github.com/spf13/viper) for configuration
2018-03-04 23:52:14 +01:00
Wim
79c4ad5015
Remove unused function
2018-03-03 11:08:39 +01:00
Wim
e24f1c7c87
Use replaceVariable for usergroups (slack) #379
2018-03-02 22:32:27 +01:00
Wim
dbf8a326d5
Escape html on username (telegram). Closes #378
2018-02-28 23:25:00 +01:00
Wim
0bc9c70c66
Add usergroup support (slack). Closes #379
2018-02-28 22:54:47 +01:00
Wim
594d2155e3
Improve debug messages
2018-02-28 22:23:29 +01:00
Wim
20dbd71306
Make megacheck happy
2018-02-27 23:38:36 +01:00
Wim
6a727b9723
Use our own version of go-xmpp with debug output to logrus
2018-02-27 23:22:12 +01:00
Wim
2110db6f0c
Add environment override back
2018-02-27 23:22:12 +01:00
Wim
2bac867382
Refactor using factory
2018-02-27 23:22:12 +01:00
Wim
5fbd8a3be0
Refactor xmpp
2018-02-27 23:22:11 +01:00
Wim
ad6440b603
Refactor telegram
2018-02-27 23:22:10 +01:00
Wim
064b6a915f
Small fixes to irc
2018-02-27 23:22:10 +01:00
Wim
1578ebb0e2
Refactor slack
2018-02-27 23:22:10 +01:00
Wim
73525a4bbc
Make gometalinter happier
2018-02-27 23:22:10 +01:00
Wim
d62f49d1fc
Skip events for webhook
2018-02-27 23:22:10 +01:00
Wim
63b88e77f2
Refactor matrix
2018-02-27 23:22:10 +01:00
Wim
3d8f15c20b
Refactor discord
2018-02-27 23:22:09 +01:00
Wim
cac5d56d60
Refactor gitter
2018-02-27 23:22:09 +01:00
Wim
bd2a672c14
Refactor mattermost
2018-02-27 23:22:09 +01:00
Wim
78238c85d4
Add share support between slack instances. Closes #369
2018-02-23 00:49:32 +01:00
Wim
f82a9cc7ac
Fix Update userlist on join (slack). Closes #372
2018-02-22 23:56:00 +01:00
Wim
cce7624ab8
Update userlist on join (slack). Closes #372
2018-02-22 23:36:22 +01:00
Wim
7b21c1c2f4
Set event channels to lowercase (irc). Closes #375
2018-02-22 22:51:32 +01:00
Wim
f8714d81f5
Add DebugLevel option (irc)
2018-02-22 18:56:21 +01:00
Wim
8622656005
Add more debug for events (irc)
2018-02-22 18:23:22 +01:00
Wim
bab308508e
Fix the UseInsecureURL text (telegram). Closes #184
2018-02-21 13:30:38 +01:00
Wim
67d2398fa8
Make matterclient work with prefixed log
2018-02-21 01:11:41 +01:00
Wim
5f3b6ec007
Disable echo banner and output (api)
2018-02-21 00:49:10 +01:00
Wim
d1227b5fc9
Use prefixed-formatter for better logging
2018-02-21 00:20:25 +01:00
Wim
6ea368c383
Move Sirupsen => sirupsen
2018-02-20 23:41:09 +01:00
Wim
e92b6de09f
Add more debug
2018-02-20 23:36:29 +01:00
Wim
e622587db4
Add label support in RemoteNickFormat
2018-02-20 18:57:46 +01:00
Wim
f2efc06d1f
Give api access to whole config.Message (and events). Closes #374
2018-02-20 18:36:44 +01:00
Wim
a2b94452db
Add more debug (telegram)
2018-02-20 17:51:23 +01:00
Wim
4c506f7cc3
Use MediaServerDownload instead of MediaServerUpload for avatars
2018-02-20 17:15:54 +01:00
Wim
7886f05e88
Download (and upload) avatar images from mattermost and telegram when mediaserver is configured. Closes #362
...
An extra avatarMap (cache) is created for mattermost and telegram.
If MediaServerUpload is configured, the avatar images of users are downloaded the first time a
user sends a message.
If this download succeeds a message with EVENT_AVATAR_DOWNLOAD is sent to the originating protocol.
This message also contains a SHA field (in msg.Extra["file"]), if this is not empty, the sha will
be added to the avatarMap. (so we now have a userid-sha cache)
Next time this user sends a message, the MediaServerUpload/sha/userid.png URL will be used as the
avatar field.
2018-02-20 01:15:25 +01:00
Wim
f58be0d1c1
Add SHA to FileInfo
2018-02-15 23:18:58 +01:00
Wim
a082b5a590
Remove unused code
2018-02-15 00:07:25 +01:00
Wim
bae9484df2
Use discordgo ContentWithMoreMentionsReplace (discord)
2018-02-14 23:05:50 +01:00
Wim
2522158127
Add avator to fileinfo
2018-02-14 22:20:27 +01:00
tsudoko
1d33e60e36
Truncate messages sent to IRC based on byte count ( #368 )
...
* Truncate messages sent to IRC based on byte count
* Avoid unnecessary string allocations
2018-02-08 23:28:33 +01:00
Wim
83c28cb857
Check for a valid WebhookURL (discord). Closes #367
2018-02-07 14:57:38 +01:00
Wim
df5bce27b0
Fix panic on nil messages (telegram). Closes #366
2018-02-07 14:28:48 +01:00
Wim
2b15739b48
Remove double close
2018-02-07 00:05:10 +01:00
Wim
3480c88e90
Do not close body on err. Closes #364
2018-02-07 00:04:02 +01:00
Wim
432cd0f99d
Add more parsemode debug (telegram)
2018-02-04 17:55:20 +01:00
Wim
d4a47671ea
Add markdown support (telegram). #355
2018-02-03 23:31:21 +01:00
Wim
0bcd1e62f3
Add channel_purpose to ShowTopicChange. Ignore (un)pinned_item (slack). #353
2018-02-03 01:15:57 +01:00
Wim
80822b7fff
Send chat notification if media is too big to be re-uploaded to MediaServer. See #359
2018-02-03 01:11:11 +01:00
Wim
78f1011f52
Add support for file comments (slack). Closes #346
2018-02-02 23:16:10 +01:00
Wim
67f6257617
Add ShowTopicChange option. Allow/disable topic change messages (currently only from slack). Closes #353
2018-02-02 21:08:13 +01:00
Wim
169c614489
Download files and reupload to supported bridges (mattermost). Closes #357
2018-02-02 20:23:55 +01:00
ValdikSS
da908c438a
Add space between colon and URL for uploaded media ( #360 )
2018-02-01 17:46:10 +01:00
Wim
9c9c4bf1f9
Fix build
2018-02-01 01:01:25 +01:00
Wim
7764493298
Add comment to file upload from telegram. Show comments on all bridges. Closes #358
2018-02-01 00:41:09 +01:00
Wim
64a20ee61b
Add URL to message in webhook if available (mattermost). See #356
2018-01-31 17:35:13 +01:00
ValdikSS
2e2187ebf4
Enable Long Polling for Telegram. Reduces bandwidth consumption. ( #350 )
...
Fixes #349 .
2018-01-29 12:07:26 +01:00
Wim
6a047f8722
Print only debug messages when specified (xmpp). Closes #345
2018-01-26 21:54:09 +01:00
Wim
7119e378a7
Add an extension to images without one (matrix). #331
2018-01-20 18:19:17 +01:00
Wim
e1dc3032c1
Ignore <subject> messages (xmpp). #272
2018-01-14 23:43:34 +01:00
Wim
8830a5a1df
Fix possible panics (matrix). Closes #333
2018-01-09 23:25:58 +01:00
Wim
9f15d38c1c
Use upstream again (slack)
2018-01-08 22:41:58 +01:00
Anssi Kolehmainen
9a95293bdf
Convert received IRC channel names to lowercase. Fixes #329 ( #330 )
2018-01-06 22:55:03 +01:00
Wim
0b3a06d263
Log ConnectionErrorEvent (slack)
2018-01-03 14:06:28 +01:00
Wim
9a6249c4f5
Increase debug logging (slack)
2018-01-02 14:39:27 +01:00
Wim
50bd51e461
Use a better check to join channel (slack)
2018-01-02 14:31:44 +01:00
Wim
8e78b3e6be
Fix regression in mattermost bridge (mattermost). Closes #327
2018-01-01 14:20:16 +01:00
Wim
25d2ff3e9b
Fix regression. Closes #323
2017-12-26 19:13:27 +01:00
Wim
31902d3e57
Add support for deleting messages from/to matrix (matrix). Closes #320
2017-12-25 00:55:39 +01:00
Wim
97c944bb63
Add RejoinDelay option. Delay to rejoin after channel kick (irc). Closes #322
2017-12-23 00:11:30 +01:00
Wim
d0c4fe78ee
Allow specifying maximum download size of media using MediaDownloadSize (slack,telegram,matrix)
2017-12-19 23:44:13 +01:00
Wim
265457b451
Refactor and add MediaDownloadSize to General
2017-12-19 23:15:03 +01:00
Wim
4a4a29c9f6
Fix panic (matrix). Closes #316
2017-12-11 12:25:28 +01:00
Wim
0a91b9e1c9
Fix incorrect forward from text line (telegram)
2017-12-11 12:15:26 +01:00
Wim
f56163295c
Remove unreachable code (api)
2017-12-10 15:20:17 +01:00
Wim
d1c87c068b
Also use HTML in edited messages (telegram). Closes #315
2017-12-10 15:16:17 +01:00
Wim
fa20761110
Add support for Audio/Voice files (telegram). Closes #314
2017-12-10 15:08:23 +01:00
Wim
e4a0e0a0e9
Add support for forwarded messages. Closes #313
2017-12-10 14:52:29 +01:00
Wim
d30ae19e2a
Add (simple, one listener) long-polling support (api). Closes #307
2017-12-07 23:48:44 +01:00
Wim
05eb75442a
Split on UTF-8 for MessageSplit (irc). Closes #308
2017-12-07 22:21:54 +01:00
Wim
3496ed0c7e
Fix irc ACTION regression (irc). Closes #306
2017-12-07 22:07:45 +01:00
Wim
67a9d133e9
Add quick & dirty sshchat support ( https://github.com/shazow/ssh-chat )
2017-12-03 01:29:25 +01:00
Wim
e0cbb69a4f
Add MessageSplit option to split messages on MessageLength (irc). Closes #281
2017-11-24 23:29:00 +01:00
Wim
7ec95f786d
Use mediaserver urls for irc,gitter and xmpp
2017-11-24 22:55:24 +01:00
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
2017-11-24 22:36:19 +01:00
Wim
cbd73ee313
Add support for uploaded images/video/files (matrix)
2017-11-22 00:28:40 +01:00
Wim
34227a7a39
Add support for uploading images/video (matrix). Closes #302
2017-11-21 23:50:27 +01:00
Wim
cd4c9b194f
Add support for ReplaceNicks using regexp to replace nicks. Closes #269
2017-11-20 23:27:27 +01:00
Wim
98762a0235
Add webp extension to stickers if necessary (telegram)
2017-11-20 22:12:51 +01:00
Wim
aff3964078
Add support for ReplaceMessages using regexp to replace messages. #269
2017-11-15 23:33:00 +01:00
Wim
0578b21270
Fix message sending (slack)
2017-11-13 19:50:18 +01:00
Wim
36a800c3f5
Add support for comments from slack file uploads (slack)
2017-11-13 00:20:31 +01:00
Wim
6d21f84187
Add extension to sticker/video/photo (telegram)
2017-11-12 22:04:35 +01:00
Wim
46f5acc4f9
Add the download actually to the message (telegram)
2017-11-12 18:09:38 +01:00
Wim
95d4dcaeb3
Add more debug info (telegram)
2017-11-12 17:49:10 +01:00
Wim
64c542e614
Add more debug info (telegram)
2017-11-12 17:46:44 +01:00
Wim
13d081ea80
Fix document bug (telegram)
2017-11-12 17:15:53 +01:00
Wim
c0f9d86287
Fix telegram photo/document input handling (telegram)
2017-11-12 11:46:32 +01:00
Wim
bcdecdaa73
Fix strict user handling of girc (irc). Closes #298
2017-11-11 23:16:58 +01:00
Wim
4fc48b5aa4
Fix panic on empty params
2017-11-08 22:55:48 +01:00
Wim
307ff77b42
Add ServerName to TLSConfig
2017-11-08 22:55:37 +01:00
Wim
9b500bc5f7
Replace sorcix/irc and go-ircevent with girc
2017-11-08 22:54:31 +01:00
rrigby
27e94c438d
Add support for bridging to individual steam chats. (steam) ( #294 )
2017-11-08 00:36:20 +01:00
Patrick Connolly
58392876df
Use room.URI instead of room.Name. (gitter) ( #293 )
2017-11-08 00:35:08 +01:00
Wim
115c4b1aa7
Fix missing arg for Errorf
2017-11-04 15:01:03 +01:00
Wim
ba5649d259
Add helper
2017-11-04 14:55:25 +01:00
Wim
1b30575510
Download files from telegram and reupload to supported bridges (telegram). #278
2017-11-04 14:50:17 +01:00
Wim
7dbebd3ea7
Show error message when file upload fails (discord)
2017-11-04 14:47:14 +01:00
Wim
6f18790352
Add support to upload files to slack, from bridges with private urls like slack/mattermost/telegram. (slack)
2017-11-03 23:10:16 +01:00
Patrick Connolly
bea0bbd0c2
Allow slack messages with variables (eg. @here) to be formatted correctly. (slack) ( #288 )
2017-11-03 20:32:28 +01:00
Wim
0530503ef2
Make megacheck happy again
2017-11-03 20:13:58 +01:00
Wim
d1e8ff814b
Add support to upload files to discord, from bridges with private urls like slack/mattermost/telegram. (discord)
2017-11-03 00:05:10 +01:00
Patrick Connolly
4f8ae761a2
Resolve slack channel to human-readable name. (slack) ( #282 )
2017-11-02 21:21:46 +01:00
Wim
b530e92834
Use DisplayName instead of deprecated username (slack). Closes #276
2017-11-02 17:11:42 +01:00
Wim
b7a8c6b60f
Try again to strip colors correct. #286
2017-10-28 14:28:15 +02:00
Wim
41aa8ad799
Add StripNick option, only allow alphanumerical nicks. Closes #285
2017-10-27 00:07:33 +02:00
Wim
299b71d982
Strip irc colors correct, strip also ctrl chars (irc). Closes #286
2017-10-26 23:04:44 +02:00
Patrick Connolly
76aafe1fa8
Allowed Slack bridge to extract simpler link format. ( #287 )
...
Links sometimes exist without bar delimiters.
See: https://api.slack.com/docs/message-formatting#linking_to_urls
2017-10-26 21:58:43 +02:00
Wim
4e1dc9f885
Use bot username if specified (slack). Closes #273
2017-10-12 20:33:37 +02:00
Wim
7aabe12acf
Fix loop, make megacheck happy
2017-09-21 23:15:04 +02:00
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).
2017-09-21 22:35:21 +02:00
Wim
b49fb2b69c
Add support for Quakenet auth (irc). Closes #263
2017-09-20 22:47:26 +02:00
Wim
4bda29cb38
Try quoting previous messsage (telegram). #237
2017-09-19 23:58:05 +02:00
Wim
5f14141ec9
Try to not forward slack unfurls. Closes #266
2017-09-19 22:33:26 +02:00
Wim
c088e45d85
Add more debug info (telegram)
2017-09-19 21:41:35 +02:00
Wim
d59c51a94b
Remove unnecessary check, make megacheck happy
2017-09-19 00:04:27 +02:00
Wim
47b7fae61b
Fix loop from webhook by adding matterbridge prop (mattermost). Closes #261
2017-09-18 23:53:30 +02:00
Wim
1a40b0c1e9
Relay attachments from mattermost to slack (slack). Closes #260
2017-09-18 23:51:27 +02:00
Wim
82588b00c5
Use override username if specified (mattermost). #260
2017-09-18 21:18:31 +02:00
Wim
14490bea9f
Add partial support for deleted messages (telegram)
2017-09-11 23:12:33 +02:00
Wim
ed01820722
Add support for deleting messages across bridges.
...
Currently fully support mattermost,slack and discord.
Message deleted on the bridge or received from other bridges will be
deleted.
Partially support for Gitter.
Gitter bridge will delete messages received from other bridges.
But if you delete a message on gitter, this deletion will not be sent to
other bridges (this is a gitter API limitation, it doesn't propogate edits
or deletes via the API)
2017-09-11 22:45:15 +02:00
Wim
90a61f15cc
Do not break messages on newline (slack). Closes #258
2017-09-10 18:19:33 +02:00
Wim
9039720013
Send images when text is empty regression. (mattermost). Closes #254
2017-09-08 00:16:17 +02:00
Wim
a3470f8aec
Send first message after connect (slack). Closes #252
2017-09-07 23:47:23 +02:00
Wim
01badde21d
Add message debugging (gitter)
2017-09-07 20:35:12 +02:00
Wim
37c350f19f
Convert utf-8 back to charset (irc). #247
2017-08-30 20:59:54 +02:00
Wim
9e03fcf162
Fix private channel joining bug (mattermost). Closes #248
2017-08-30 14:01:17 +02:00
Wim
9226252336
Replace mentions from other bridges. (slack). Closes #233
2017-08-29 23:34:50 +02:00
Wim
f4fb83e787
Use the detected charset (irc)
2017-08-29 21:35:36 +02:00
Wim
e7fcb25107
Add a charset option (irc). Closes #247
2017-08-29 21:31:03 +02:00
Wim
2f7df2df43
Do not add messages without ID to cache
2017-08-29 20:28:44 +02:00
Wim
e45c551880
Add support for editing messages. Remove ZWSP as loopcheck (gitter)
2017-08-28 23:07:12 +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
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