Commit Graph

52 Commits

Author SHA1 Message Date
Gabriel Grubba 57b460737c
FEATURE: add topic tags changed trigger to chat integration (#208)
* FEATURE: add topic tags changed trigger to chat integration

* FEATURE: add placeholder for reply to topic trigger

add description on how to use the placeholder

* DEV: Move slack message creation to provider

Add tests to new method

* FEATURE: add ${URL} to placeholder replacements and added tags link

If triggered when a topic tag is changed, message behavior will follow what user defined in message.

* DEV: Update tests with tags

* DEV: add post to topic for testing

* DEV: update test strings

* DEV: add early return for topic tags changed trigger

* DEV: move early return to use try/catch

* DEV: update `create_slack_message` to not send a tuple of values

* DEV: refactor method to be more readable

* FEATURE: add `${ADDED_AND_REMOVED}` for default texts

* DEV: Update typo in test

* DEV: Add tests to check when if `create_slack_message` raises an error

* DEV: Remove the `tag_added` from chat-integration filter

Added migration to handle the migration of the `tag_added` filter from the chat-integration plugin.

Only removed the logic from the plugin, data removal will happen in a future PR

* DEV: lint migration file

* DEV: update chat-integration to not show "tag_added" rules

* DEV: update added and missing tags logic

* DEV: update context variable name

* DEV: update migration to include `begin/rescue` block and added a list with available filters
2024-08-13 15:14:35 -03:00
Ted Johansson 4a11d27982
FIX: Move chat integration problem check message to correct locale key (#201)
As part of enhancing problem checks and admin notices, we standardized the location of the problem check messages' locale keys. However, we overlooked this one in the plugin, resulting in a missing translation on the dashboard.

This PR puts the locale key in the place expected by the admin notice system.
2024-06-11 17:42:45 +08:00
Ted Johansson 23d5dd2eab
FIX: Move GroupMe error message to server side translations (#196) 2024-05-24 21:51:51 +08:00
Keegan George 7b2bb33032
DEV: Remove unused locale (#154) 2023-01-05 10:15:14 -08:00
Martin Lim 4e73da8856
FEATURE: Introduce Guilded as a provider (#135)
Support for integration with https://www.guilded.gg/
2022-08-30 18:10:17 +01:00
David Taylor cd6e4a8b62
FEATURE: Allow `[quote]` to be disabled for slack transcripts (#120)
https://meta.discourse.org/t/222145
2022-04-01 13:49:34 +01:00
Blake Erickson 0eebd9f3ed
DEV: Adds post_to_slack scriptable for automation (#108)
This allows for the discourse automation plugin to have a "Send Slack
Message" script.

The script fields are a message, url, and slack channel. This will allow
for a custom slack message to be posted but can link back to an
arbitrary url (hopefully a discourse url) like a list of unanswered
topics instead of strictly only allowing a slack message that links back
to a Discourse Post object.
2022-02-25 12:17:20 -07:00
David Taylor 2a477ea398
FIX: Update dashboard warning link to point to new chat-integration URL (#89)
https://meta.discourse.org/t/chat-integration-error-links-to-the-wrong-url/204977
2021-10-01 17:08:40 +01:00
David Taylor cae4bf86fa
UX: Update button copy to replace 'Discourse' with 'Forum' (#71) 2021-04-22 21:12:56 +01:00
David Taylor 610364ff6d
FEATURE: Add support for slack message shortcuts for transcripts (#68)
Once configured, this adds a new item to the context menu of slack messages. When clicked, the menu item will generate a transcript and present the user with a custom "Post to Discourse" modal. This provides the same functionality as the existing slash-command interface, but is much more user friendly.
2021-04-22 18:50:11 +01:00
David Taylor 4261814162
FIX: Improve error handling for slack transcript generation (#63)
- Stop using `break` in a block - it doesn't work. The failure here was hidden because it was within a `defer` block, so would not cause a server error
- Refactor the error handling so that the error is passed back to Slack and displayed to the user
- Return specific error messages for user / message-history / message errors
- Tidy up the SlackCommandController to make all non-requestable methods private
- Add a test to ensure error messages are passed correctly to Slack
2021-03-01 19:07:31 +00:00
David Taylor 13fea5b803
FEATURE: Google Chat integration (#57) 2021-01-26 20:33:03 +00:00
Mathieu Trudel-Lapierre 0c0e86b772
FEATURE: Add support for Webex Teams (#49) 2020-12-11 09:43:03 +00:00
Ahmed Gagan fa5ef22262
FEATURE: Support for Microsoft Teams webhooks (#42) 2020-07-29 17:20:02 +01:00
Michael K Johnson da9106127a
FEATURE: Enable optional support for threading slack posts (#38)
When creating a new Discourse post from slack with the `post` feature, record the
slack `ts` thread ID for the resulting topic post using an HTML comment to pass
the `ts` through.

When notifying slack of new Discourse posts, record the slack `ts` thread ID in
the post's topic if it has not yet been recorded. (Normally, this will be done
for the topic post, except where notifications are being posted for old topics
before this feature was created.)

Add a new rule filter `thread` which posts threaded responses to slack if there
is a `ts` recorded for the post topic.

Modify the `trigger_notifications` interface to enable other integrations to
implement similar functionality.

Present the `thread` rule in the help text and admin UI only for the slack
providers.

https://meta.discourse.org/t/optionally-threading-posts-to-parent-topic-in-slack-integration/150759
2020-06-15 16:45:25 +01:00
Tosin Sonuyi ccbc41428b
GroupMe added as Provider (#36)
* adds groupme configuration and relative

* first pass at groupme provider

* add group id site setting w/ english translation

* rework to use bots groupme api intstead of developer, no access tokens reqd

also should catch 404 response codes

* add strings to locale yml files for i18n

* better error handling for multi-bot case

* add channel param for separate Groupme instances, include name in errorbody

* bugfix for multi bot msg forwarding

this gives us the ability to treat diff groupme instances like slack channels, lots of people use them this way for better or worse. use case is certain category posts only go to a particular GM instance

* add spec for groupme provider

* fix channel param constraint

* specify channels by groupme name, not bot api token

* fix some linting issues w/ spacing

* newline and trailing space lint fixes
2020-05-11 15:10:37 -04:00
Raimundo Herrera 695d56a3dd FEATURE: support for slack custom username (#22)
* FEATURE: support for slack custom username

* make slack username setting backwards compatible

* fix slack username behavior when empty string
2019-09-11 10:08:40 -04:00
David Taylor bf30b755cf Remove HipChat integration
As of February 15th, HipChat has been declared end-of-life. For more information, see https://community.atlassian.com/t5/Stride-articles/Stride-and-Hipchat-Cloud-have-reached-End-of-Life-updated/ba-p/940248
2019-04-15 17:56:01 +01:00
Tisza Gergő bf1939f08d FEATURE: Add Matrix option for using plain text instead of notice (#25)
Notices are problematic on certain IRC clients and lead to bans
if the Matrix channel is bridged to IRC.
2018-12-28 23:44:43 +00:00
Gerhard Schlager c9ff8d8cb6 FIX: Relative links in translations should work with subfolder 2018-11-07 23:26:36 +01:00
David Taylor fc721a1768 FEATURE: Improve channel error visibility in the admin panel, stop adding chat integration errors to logs 2018-08-20 12:06:10 +01:00
SidV a41ebcf225 Fix typos (#16) 2017-12-20 22:13:22 +08:00
Maja Komel 92d6a6ba0e Add notification support for Flowdock 2017-10-16 16:44:21 +02:00
Guo Xiang Tan 1f6bb6db1c Mark transcript as experimental first. 2017-10-10 12:23:21 +08:00
David Taylor 47a6a89e5a Defer processing of transcripts to avoid timeouts 2017-09-15 23:12:02 +01:00
David Taylor 1fa228b68c Add site setting to allow adding “content” to Discord messages
This can include ‘mentions’ such as `@everyone`
2017-09-01 21:03:31 +01:00
jafethdc e90d65f5d5 Add notifications support for Gitter 2017-08-30 18:11:06 -05:00
David Taylor 5ea6553236 Add support for Rocket.Chat 2017-08-23 16:43:27 +01:00
David Taylor 9b229b63f9 Use generic messages API for Zulip
It is now available to bots, so there is no need for the custom discourse endpoint any more :)
2017-08-23 12:36:11 +01:00
David Taylor e3f09d8eb5 Add Zulip support 2017-08-21 23:34:04 +01:00
David Taylor 148dd8df6b Tidy up Slack provider implementation 2017-08-21 15:28:37 +01:00
David Taylor 12f3b96e02 Improve slack transcript posting UI with message buttons 2017-08-04 00:47:04 +01:00
David Taylor 01d7fb47ef Display group rules correctly in slash commands 2017-08-01 19:16:47 +01:00
David Taylor 4b2e8af711 Backend support for group pms 2017-07-31 14:51:03 +01:00
David Taylor 5a4faa637f Add matrix support 2017-07-27 17:09:44 +01:00
David Taylor 5c93b7792c Add ‘view on slack’ link to transcripts 2017-07-26 19:51:44 +01:00
David Taylor e733c2564f Add mattermost slash command support 2017-07-26 13:09:05 +01:00
David Taylor 61a4fd2c23 Add Mattermost support 2017-07-25 22:14:48 +01:00
David Taylor c51e8ec3b5 Add HipChat support 2017-07-24 19:22:19 +01:00
David Taylor 858533a788 ‘Deprecate’ the webhook slack integration method (for now) 2017-07-24 17:44:01 +01:00
David Taylor 8ca4797797 Add transcript posting support to slack 2017-07-24 16:43:37 +01:00
David Taylor b5e2741214 Add discord support 2017-07-21 15:48:57 +01:00
David Taylor 7371c2ef72 Tidy up language strings 2017-07-20 12:07:40 +01:00
David Taylor bf0b645f31 Add site setting language strings 2017-07-19 17:41:08 +01:00
David Taylor 509e7bc997 Add telegram slash commands 2017-07-19 17:28:36 +01:00
David Taylor 2e94f23fbe Add Telegram provider.
Does not yet support slash commands, and is without tests.
2017-07-19 16:28:02 +01:00
David Taylor f001320574 Add integration tests for slack ‘slash commands’
Adapted from existing slack plugin
2017-07-06 23:30:27 +01:00
David Taylor 062aa8d875 Add create/delete rule functionality to the slack ‘slash commands’ 2017-07-06 21:42:37 +01:00
David Taylor e4ff1997c8 Add a helper class for common provider functionality
Initially implemented a ‘status_for_channel’ function, based on the existing slack plugin
2017-07-05 23:00:58 +01:00
David Taylor f40f602a4f Add validation to slack settings (adapted from old slack plugin) 2017-07-03 16:28:26 +01:00