Commit Graph

629 Commits

Author SHA1 Message Date
Wim bfa9a83d31
Refactor telegram (#649)
* Decrease complexity in Send() (makes codeclimate happy)
2018-12-12 23:50:08 +01:00
Wim 2f7b4d7f68
Refactor sshchat bridge (#650)
* Decrease complexity in Send()
* Add handleUploadFile() function
2018-12-12 23:47:07 +01:00
Wim d887855e16 Add bot debug info (slack) 2018-12-12 00:27:55 +01:00
Duco van Amstel a2754f15fc Enable errcheck linter (#646) 2018-12-08 17:04:10 +01:00
Wim f9fb33e696
Refactor steam bridge (#630)
* split up in different files
* decrease complexity
2018-12-07 23:48:24 +01:00
Wim f72d5de2d7 Disable some unparam checks (discord) 2018-12-07 23:48:00 +01:00
Duco van Amstel 0365c0786a Split Discord bridge in multiple files (#632) 2018-12-07 23:36:01 +01:00
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