Commit Graph

1129 Commits (f4ae61044888f591830e6c1be9a2bdb14f88943e)
 

Author SHA1 Message Date
Wim 01d0a9f412 Handle nil message (telegram). Fixes #777 5 years ago
Wim 8cc2d3b4fe Revert "Bail if any vars are nil, not if all (telegram) (#778)"
This reverts commit efd2c99862.
5 years ago
Wim aba9e4f3be Fix travis before_deploy 5 years ago
Wim 4d575ba13a Fix travis deploy condition and update to golangci-lint v1.16 5 years ago
Duco van Amstel 7f0e4ad448 Add CI fixes and improvements (#780)
* Update GolangCI-lint and lint config

The `algo` parameter for the `unparam` linter has been removed and we
should thus no longer specify it. Also, bumping the GolangCI-lint
version to the latest available minor release.

See: mvdan/unparam@e6a6d1c51b

* Fix and improve bintray CI script

* Further CI setup improvements

* Split-out CI steps into stand-alone scripts
5 years ago
Wim 17cc14a9d2 Send user_added and removed event through message channel (mattermost) 5 years ago
Wim 1f8016182c Return channelId for other channeltypes too (mattermost) 5 years ago
Wim caf9ef2c4b Bump travis to go 1.12.x 5 years ago
Wim 64b57f2da3
Ignore message_replied and hidden messages (slack). Fixes #709 (#779) 5 years ago
David Hill efd2c99862 Bail if any vars are nil, not if all (telegram) (#778) 5 years ago
Wim cc05ba8907 Thank DigitalOcean (https://digitalocean.com) for another year of sponsorship 5 years ago
Wim 16763b715a
Look up #channel too (rocketchat). Fix #773 (#775) 5 years ago
Wim ffaa598796 Bump version 5 years ago
Wim 858e16d34f Release v1.14.1 5 years ago
Wim a60e62efb1 Update doc wrt rocketchat api issue 5 years ago
David Hill 97f9d4be67 Fix double unlock (slack) (#771) 5 years ago
Wim fa4eec41f7 Release v1.14.0 5 years ago
Wim 77516c97db
Allow the # in rocketchat channels (backward compatible) (#769) 5 years ago
Wim cba01f0865 Update rocketchat documentation 5 years ago
Duco van Amstel 8b754017ca Fix race-condition in populateUser() (#767)
Fix the root-cause of #759 by introducing synchronisation points for
individual user fetches.
5 years ago
Wim a27600046e
Fix regression for legacy slack by #766 (#768) 5 years ago
Duco van Amstel fb2667631d Refactor channel and user management (slack) (#766) 5 years ago
Duco van Amstel b638f7037a Force Slack link unfurling (#763) 5 years ago
Duco van Amstel 74699a8262 Split-out Slack user and channel management (#762) 5 years ago
Duco van Amstel eabf2a4582 Check module files in CI run (#761) 5 years ago
Wim 325d62b41c Update vendor d5/tengo 5 years ago
Wim e955a056e2
Trim <p> and </p> tags (matrix). Closes #686 (#753) 5 years ago
Wim 723f8c5fd5 Only build travis on master branch 5 years ago
Wim a16137f53f Bump version 5 years ago
Wim d60b8b97f9 Add related projects to README 5 years ago
Wim 7b0bc51183 Release v1.14.0-rc2 5 years ago
Wim 53aa076555
Do not send duplicate messages (rocketchat). Fixes #745 (#752)
For an unknown reason we get duplicate messages (from the same channel)
using the realtime API when we have > 1 channel subscribed on.
Solution for now is caching the message ID in a LRU cache and ignoring
the duplicates.

This should be reviewed when we have actual editing support from the
realtime API
5 years ago
Wim f57370f33a
Add support for URL in messageEntities (telegram). Fixes #735 (#736) 5 years ago
Wim c557d51b6f
Need to specify /topic:mytopic for channel configuration (zulip). (#751)
Breaking change for zulip channel configuration.

For zulip the channel configuration will now need to specify also
the topic with /topic:yourtopic.

Example:
[[gateway.inout]]
account="zulip.streamchat"
channel="general/topic:mytopic"

This fixes the incorrect PR #701 which didn't work with multiple
gateways.
5 years ago
Wim df3fdc26a0
Use whatsapp forks (#750) 5 years ago
Wim af00c34aac
Do not relay any bot messages (discord) (#743) 5 years ago
Wim 120bf39f55
Handle file upload/download only once for each message (#742) 5 years ago
Wim 26a7e35f27
Add MediaConvertWebPToPNG option (telegram). (#741)
* Add MediaConvertWebPToPNG option (telegram).

When enabled matterbridge will convert .webp files to .png files
before uploading them to the mediaserver of the other bridges.

Fixes #398
5 years ago
Wim d44d2a5f00 Build on all branches 5 years ago
Wim 7f1d86b338
Fail gracefully on incorrect human input. Fixes #739 (#740) 5 years ago
Wim d8816280f0 Update changelog 5 years ago
Wim b09a73040f
Print errors as string instead of %#v (#738) 5 years ago
Wim 740b5f2602
Keep reconnecting until succeed (zulip) (#737) 5 years ago
Wim 96841c70c7 Fix regression in HTML handling (telegram). Closes #734
* Revert back to blackfriday v1
* Add testing
5 years ago
Wim f92735d35d Add goreleaser.yml 5 years ago
Wim 516fd3c92d Release v1.14.0-rc1 5 years ago
Wim a775b57134
Do not send topic changes on connect (xmpp). Fixes #732 (#733)
This checks if we get a topic change < 5 seconds after connection.
If that's the case, ignore it.
Also this PR makes the topic change an actual EventTopicChange.
5 years ago
Wim bf21604d42
Make all loggers derive from non-default instance (#728) 5 years ago
Wim 1bb39eba87
Add scripting (tengo) support for every incoming message (#731)
TengoModifyMessage allows you to specify the location of a tengo (https://github.com/d5/tengo/) script.
This script will receive every incoming message and can be used to modify the Username and the Text of that message.
The script will have the following global variables:
to modify: msgUsername and msgText
to read: msgChannel and msgAccount

The script is reloaded on every message, so you can modify the script on the fly.

Example script can be found in https://github.com/42wim/matterbridge/tree/master/gateway/bench.tengo
and https://github.com/42wim/matterbridge/tree/master/contrib/example.tengo

The example below will check if the text contains blah and if so, it'll replace the text and the username of that message.
text := import("text")
if text.re_match("blah",msgText) {
    msgText="replaced by this"
    msgUsername="fakeuser"
}

More information about tengo on: https://github.com/d5/tengo/blob/master/docs/tutorial.md and
https://github.com/d5/tengo/blob/master/docs/stdlib.md
5 years ago
Wim 3190703dc8
Support rewriting messages from relaybots using ExtractNicks. Fixes #466 (#730)
some examples:
this replaces a message like "Relaybot: <relayeduser> something interesting" to "relayeduser: something interesting"
ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ]
you can use multiple entries for multiplebots
this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else"
ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ]
OPTIONAL (default empty)
ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ]
5 years ago