Commit Graph

414 Commits (d379118772aa68d0b35bb5a98b5600dc81a89197)

Author SHA1 Message Date
Wim cac5d56d60 Refactor gitter 7 years ago
Wim bd2a672c14 Refactor mattermost 7 years ago
Wim 78238c85d4 Add share support between slack instances. Closes #369 7 years ago
Wim f82a9cc7ac Fix Update userlist on join (slack). Closes #372 7 years ago
Wim cce7624ab8 Update userlist on join (slack). Closes #372 7 years ago
Wim 7b21c1c2f4 Set event channels to lowercase (irc). Closes #375 7 years ago
Wim f8714d81f5 Add DebugLevel option (irc) 7 years ago
Wim 8622656005 Add more debug for events (irc) 7 years ago
Wim bab308508e Fix the UseInsecureURL text (telegram). Closes #184 7 years ago
Wim 67d2398fa8 Make matterclient work with prefixed log 7 years ago
Wim 5f3b6ec007 Disable echo banner and output (api) 7 years ago
Wim d1227b5fc9 Use prefixed-formatter for better logging 7 years ago
Wim 6ea368c383 Move Sirupsen => sirupsen 7 years ago
Wim e92b6de09f Add more debug 7 years ago
Wim e622587db4 Add label support in RemoteNickFormat 7 years ago
Wim f2efc06d1f Give api access to whole config.Message (and events). Closes #374 7 years ago
Wim a2b94452db Add more debug (telegram) 7 years ago
Wim 4c506f7cc3 Use MediaServerDownload instead of MediaServerUpload for avatars 7 years ago
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.
7 years ago
Wim f58be0d1c1 Add SHA to FileInfo 7 years ago
Wim a082b5a590 Remove unused code 7 years ago
Wim bae9484df2 Use discordgo ContentWithMoreMentionsReplace (discord) 7 years ago
Wim 2522158127 Add avator to fileinfo 7 years ago
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
7 years ago
Wim 83c28cb857 Check for a valid WebhookURL (discord). Closes #367 7 years ago
Wim df5bce27b0 Fix panic on nil messages (telegram). Closes #366 7 years ago
Wim 2b15739b48 Remove double close 7 years ago
Wim 3480c88e90 Do not close body on err. Closes #364 7 years ago
Wim 432cd0f99d Add more parsemode debug (telegram) 7 years ago
Wim d4a47671ea Add markdown support (telegram). #355 7 years ago
Wim 0bcd1e62f3 Add channel_purpose to ShowTopicChange. Ignore (un)pinned_item (slack). #353 7 years ago
Wim 80822b7fff Send chat notification if media is too big to be re-uploaded to MediaServer. See #359 7 years ago
Wim 78f1011f52 Add support for file comments (slack). Closes #346 7 years ago
Wim 67f6257617 Add ShowTopicChange option. Allow/disable topic change messages (currently only from slack). Closes #353 7 years ago
Wim 169c614489 Download files and reupload to supported bridges (mattermost). Closes #357 7 years ago
ValdikSS da908c438a Add space between colon and URL for uploaded media (#360) 7 years ago
Wim 9c9c4bf1f9 Fix build 7 years ago
Wim 7764493298 Add comment to file upload from telegram. Show comments on all bridges. Closes #358 7 years ago
Wim 64a20ee61b Add URL to message in webhook if available (mattermost). See #356 7 years ago
ValdikSS 2e2187ebf4 Enable Long Polling for Telegram. Reduces bandwidth consumption. (#350)
Fixes #349.
7 years ago
Wim 6a047f8722 Print only debug messages when specified (xmpp). Closes #345 7 years ago
Wim 7119e378a7 Add an extension to images without one (matrix). #331 7 years ago
Wim e1dc3032c1 Ignore <subject> messages (xmpp). #272 7 years ago
Wim 8830a5a1df Fix possible panics (matrix). Closes #333 7 years ago
Wim 9f15d38c1c Use upstream again (slack) 7 years ago
Anssi Kolehmainen 9a95293bdf Convert received IRC channel names to lowercase. Fixes #329 (#330) 7 years ago
Wim 0b3a06d263 Log ConnectionErrorEvent (slack) 7 years ago
Wim 9a6249c4f5 Increase debug logging (slack) 7 years ago
Wim 50bd51e461 Use a better check to join channel (slack) 7 years ago
Wim 8e78b3e6be Fix regression in mattermost bridge (mattermost). Closes #327 7 years ago
Wim 25d2ff3e9b Fix regression. Closes #323 7 years ago
Wim 31902d3e57 Add support for deleting messages from/to matrix (matrix). Closes #320 7 years ago
Wim 97c944bb63 Add RejoinDelay option. Delay to rejoin after channel kick (irc). Closes #322 7 years ago
Wim d0c4fe78ee Allow specifying maximum download size of media using MediaDownloadSize (slack,telegram,matrix) 7 years ago
Wim 265457b451 Refactor and add MediaDownloadSize to General 7 years ago
Wim 4a4a29c9f6 Fix panic (matrix). Closes #316 7 years ago
Wim 0a91b9e1c9 Fix incorrect forward from text line (telegram) 7 years ago
Wim f56163295c Remove unreachable code (api) 7 years ago
Wim d1c87c068b Also use HTML in edited messages (telegram). Closes #315 7 years ago
Wim fa20761110 Add support for Audio/Voice files (telegram). Closes #314 7 years ago
Wim e4a0e0a0e9 Add support for forwarded messages. Closes #313 7 years ago
Wim d30ae19e2a Add (simple, one listener) long-polling support (api). Closes #307 7 years ago
Wim 05eb75442a Split on UTF-8 for MessageSplit (irc). Closes #308 7 years ago
Wim 3496ed0c7e Fix irc ACTION regression (irc). Closes #306 7 years ago
Wim 67a9d133e9 Add quick & dirty sshchat support (https://github.com/shazow/ssh-chat) 7 years ago
Wim e0cbb69a4f Add MessageSplit option to split messages on MessageLength (irc). Closes #281 7 years ago
Wim 7ec95f786d Use mediaserver urls for irc,gitter and xmpp 7 years ago
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
7 years ago
Wim cbd73ee313 Add support for uploaded images/video/files (matrix) 7 years ago
Wim 34227a7a39 Add support for uploading images/video (matrix). Closes #302 7 years ago
Wim cd4c9b194f Add support for ReplaceNicks using regexp to replace nicks. Closes #269 7 years ago
Wim 98762a0235 Add webp extension to stickers if necessary (telegram) 7 years ago
Wim aff3964078 Add support for ReplaceMessages using regexp to replace messages. #269 7 years ago
Wim 0578b21270 Fix message sending (slack) 7 years ago
Wim 36a800c3f5 Add support for comments from slack file uploads (slack) 7 years ago
Wim 6d21f84187 Add extension to sticker/video/photo (telegram) 7 years ago
Wim 46f5acc4f9 Add the download actually to the message (telegram) 7 years ago
Wim 95d4dcaeb3 Add more debug info (telegram) 7 years ago
Wim 64c542e614 Add more debug info (telegram) 7 years ago
Wim 13d081ea80 Fix document bug (telegram) 7 years ago
Wim c0f9d86287 Fix telegram photo/document input handling (telegram) 7 years ago
Wim bcdecdaa73 Fix strict user handling of girc (irc). Closes #298 7 years ago
Wim 4fc48b5aa4 Fix panic on empty params 7 years ago
Wim 307ff77b42 Add ServerName to TLSConfig 7 years ago
Wim 9b500bc5f7 Replace sorcix/irc and go-ircevent with girc 7 years ago
rrigby 27e94c438d Add support for bridging to individual steam chats. (steam) (#294) 7 years ago
Patrick Connolly 58392876df Use room.URI instead of room.Name. (gitter) (#293) 7 years ago
Wim 115c4b1aa7 Fix missing arg for Errorf 7 years ago
Wim ba5649d259 Add helper 7 years ago
Wim 1b30575510 Download files from telegram and reupload to supported bridges (telegram). #278 7 years ago
Wim 7dbebd3ea7 Show error message when file upload fails (discord) 7 years ago
Wim 6f18790352 Add support to upload files to slack, from bridges with private urls like slack/mattermost/telegram. (slack) 7 years ago
Patrick Connolly bea0bbd0c2 Allow slack messages with variables (eg. @here) to be formatted correctly. (slack) (#288) 7 years ago
Wim 0530503ef2 Make megacheck happy again 7 years ago
Wim d1e8ff814b Add support to upload files to discord, from bridges with private urls like slack/mattermost/telegram. (discord) 7 years ago
Patrick Connolly 4f8ae761a2 Resolve slack channel to human-readable name. (slack) (#282) 7 years ago
Wim b530e92834 Use DisplayName instead of deprecated username (slack). Closes #276 7 years ago
Wim b7a8c6b60f Try again to strip colors correct. #286 7 years ago
Wim 41aa8ad799 Add StripNick option, only allow alphanumerical nicks. Closes #285 7 years ago
Wim 299b71d982 Strip irc colors correct, strip also ctrl chars (irc). Closes #286 7 years ago
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
7 years ago
Wim 4e1dc9f885 Use bot username if specified (slack). Closes #273 7 years ago
Wim 7aabe12acf Fix loop, make megacheck happy 7 years ago
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).
7 years ago
Wim b49fb2b69c Add support for Quakenet auth (irc). Closes #263 7 years ago
Wim 4bda29cb38 Try quoting previous messsage (telegram). #237 7 years ago
Wim 5f14141ec9 Try to not forward slack unfurls. Closes #266 7 years ago
Wim c088e45d85 Add more debug info (telegram) 7 years ago
Wim d59c51a94b Remove unnecessary check, make megacheck happy 7 years ago
Wim 47b7fae61b Fix loop from webhook by adding matterbridge prop (mattermost). Closes #261 7 years ago
Wim 1a40b0c1e9 Relay attachments from mattermost to slack (slack). Closes #260 7 years ago
Wim 82588b00c5 Use override username if specified (mattermost). #260 7 years ago
Wim 14490bea9f Add partial support for deleted messages (telegram) 7 years ago
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)
7 years ago
Wim 90a61f15cc Do not break messages on newline (slack). Closes #258 7 years ago
Wim 9039720013 Send images when text is empty regression. (mattermost). Closes #254 7 years ago
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