James Nylen
5ca3652ba7
Use Slack display names instead of the "name" field ( #29 )
...
* Use Slack display names instead of the "name" field
The "name" field is the left-hand side of the email address in many
cases. This information is not otherwise available so we shouldn't
expose it in forum posts.
* Fall back to real_name, add comments
* Store users as a hash
This should avoid a lot of O(n) lookups
* Format user mentions with the correct name also
* Fix the tests (first try)
* Fix the tests (second try); add a test for user mentions
* Fix the tests (third try)
* Empty commit to trigger Travis
* Fix the tests (fourth try)
* Fix the tests (fifth try)
* Change spaces to underscores
* Updates per feedback
2019-07-04 14:50:07 -04:00
Guo Xiang Tan
cef085d0b6
Fix the build.
2019-06-06 10:26:24 +08:00
Guo Xiang Tan
3eb8e97f37
DEV: Remove deprecation warning.
2019-06-06 09:51:40 +08:00
David Taylor
f75903cae5
FIX: Determine uncategorized category name using new core pattern
2019-06-04 18:47:32 +01:00
Tomas Varaneckas
95d8d5e9ea
FIX: make plugin compatible with older Discourse ( #28 )
...
@tgxworld
2019-05-16 08:24:17 +08:00
Guo Xiang Tan
ac288b9300
Add frozen string literal comment to files.
2019-05-13 10:37:49 +08: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
David Taylor
b7dff35722
FIX: Handle `mailto` links in slack messages
2019-01-03 11:14:26 +00: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
Mateusz Bugowski
1a08d64785
FIX: loading user.list longer than 1000 ( #24 )
2018-12-14 01:03:49 +00:00
Guo Xiang Tan
2b357b2dfe
Add support for new upload site settings.
...
44391ee8ab
2018-11-14 15:17:44 +08:00
Guo Xiang Tan
c44ac56d32
Make rubocop happy.
2018-06-08 09:52:35 +08:00
Sam
d481205999
Merge pull request #20 from davidtaylorhq/private_slash_commands
...
Slash command and transcript improvements
2018-05-18 10:47:37 +10:00
David Taylor
0ed6343874
Add basic support for thread transcripts
2018-04-08 03:22:58 +01:00
David Taylor
427cfc2305
Use generic ‘conversations’ API endpoint to enable transcripts for slack IMs and groups
2018-04-08 02:50:46 +01:00
David Taylor
180011c097
Fix slash commands in private groups
2018-04-08 02:26:36 +01:00
rohitsden
79288fc254
Update HipChat WebHook URL validation to check for anything that isn't space.
2018-01-13 21:58:40 -05:00
rohitsden
324aca0fad
Fix HipChat WebHook URL validation.
2018-01-12 19:36:51 -05:00
Francis Brunelle
1078f8089e
use SiteSetting.chat_integration_matrix_excerpt_length for the Matrix provider ( #17 )
2017-12-27 16:35:32 +08:00
Vinoth Kannan
8168c717a8
Return help text if message text is unavailable
2017-12-06 13:07:45 +05:30
Joshua Rosenfeld
2ca3fb1d21
Remove thumb_url from Rocket.Chat
...
Results in broken thumbnail appearing in all posts.
2017-11-30 09:56:47 -05:00
David Taylor
da9ee8dcb5
Fix mattermost icon selection
2017-11-27 16:14:43 +08:00
David Taylor
5f555849e5
Replace `render nothing: true` with a JSON response. This has the added benefit of showing a “loading” message ( #12 )
...
render:nothing was producing an error 500 for some reason
2017-11-27 16:08:19 +08:00
David Taylor
b69abe3913
Include attachments in message selection dropdowns ( #13 )
...
* Include attachments in message selection dropdowns
* DRY up message attachment string generation
* Add specs for attachments in UI
2017-11-27 16:07:54 +08:00
David Taylor
6ed0deedf8
Don’t load responses to threads ( #14 )
...
* Don’t load responses to threads
* Add test case for ignoring threaded messages
* Appease rubocop
2017-11-27 16:07:25 +08:00
Maja Komel
7889691cdb
fix rubocop offenses
2017-10-17 12:21:36 +02:00
Maja Komel
92d6a6ba0e
Add notification support for Flowdock
2017-10-16 16:44:21 +02:00
Guo Xiang Tan
2b74fe0767
Remove unnecessary extension.
2017-10-10 13:01:46 +08:00
Guo Xiang Tan
b19550502e
Fix the build.
2017-10-10 12:56:48 +08:00
Guo Xiang Tan
5d11f443c0
REFACTOR: No need for `return` at end of each method.
2017-10-10 12:02:27 +08:00
Guo Xiang Tan
efddfe1d9b
Minor refactor.
2017-10-10 10:08:26 +08:00
Guo Xiang Tan
f836047f90
REFACTOR: Clean up code in plugin.
2017-10-03 17:42:07 +08:00
David Taylor
47a6a89e5a
Defer processing of transcripts to avoid timeouts
2017-09-15 23:12:02 +01:00
David Taylor
6a976c4d66
Remove thumb_url from Mattermost, and restore accidental deletion from Slack
2017-09-09 23:08:45 +01:00
David Taylor
438a9d92fe
Remove incorrect thumb_url from mattermost
2017-09-09 21:07:07 +01:00
Guo Xiang Tan
16c5607fa4
Use `before_action` instead of `before_filter` for Rails 5.1 compatibility.
2017-09-04 10:44:32 +08: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
David Taylor
9d99f5659a
Adjust gitter regex
2017-08-31 01:51:28 +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
ccb8571da5
Fix hipchat colour regex
2017-08-16 15:51:46 +03:00
David Taylor
064079a4ed
Add auto-detection of first message in conversation
2017-08-15 18:19:24 +03:00
David Taylor
3314721232
RSpec tests for slack transcript posting
2017-08-15 17:44:51 +03:00
David Taylor
658553e875
Refactor transcript posting
2017-08-15 10:26:03 +03:00
David Taylor
9604edaf88
Allow selecting first transcript message using a URL
2017-08-04 13:06:57 +01:00
David Taylor
9dc5445b7b
Fix spec
2017-08-04 00:54:11 +01:00
David Taylor
12f3b96e02
Improve slack transcript posting UI with message buttons
2017-08-04 00:47:04 +01:00
David Taylor
cfaef26e5d
More modularisation for slack transcript generation
2017-08-03 17:24:49 +01:00
David Taylor
4d811ed83e
Make transcript generation object-oriented
2017-08-03 15:48:33 +01:00
David Taylor
4f9ad4efef
Correct rubocop offenses
2017-08-01 20:53:39 +01:00
David Taylor
f1df1f5234
Fix discord avatar URL
2017-07-31 14:47:27 +01:00
David Taylor
142687f4d4
Don’t send avatar URL to Discord, because it doesn’t specify a protocol
2017-07-29 19:52:46 +01:00
David Taylor
ce8acc9c26
Disallow duplicate channels - providers can define which fields should be ‘unique’
2017-07-28 15:47:46 +01:00
David Taylor
2275793f6c
Allow fields to be hidden from channel list (still visible in edit modal).
2017-07-28 14:15:53 +01:00
David Taylor
a5d62bd44d
Fix telegram error translation keys
2017-07-28 13:25:31 +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
95f99e5fcf
Improve slack transcript formatting
2017-07-26 19:27:22 +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
8ca4797797
Add transcript posting support to slack
2017-07-24 16:43:37 +01:00
David Taylor
0d9b251030
Allow telegram to send notifications to ‘broadcast channels’
2017-07-21 19:12:31 +01:00
David Taylor
701e246ad2
Support slash commands in telegram group chats
2017-07-21 17:55:33 +01:00
David Taylor
b5e2741214
Add discord support
2017-07-21 15:48:57 +01:00
David Taylor
9d91081f0c
Fix the post URL for telegram messages
2017-07-20 12:27:34 +01:00
David Taylor
970c38c7fe
Add telegram specs
2017-07-19 21:26:16 +01:00
David Taylor
236251ed11
Remove unnecessary log
2017-07-19 17:34:41 +01:00
David Taylor
509e7bc997
Add telegram slash commands
2017-07-19 17:28:36 +01:00
David Taylor
694bf919ce
Move slack command processor into common helper so it can be used by other providers
2017-07-19 16:57:33 +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
1ef9073027
Make CHANNEL_PARAMETERS a list
2017-07-17 17:53:32 +01:00
David Taylor
ebb6fa947d
Update slack provider to deal with new channel structure
2017-07-13 23:21:15 +01:00
David Taylor
4b25dcec8f
Allow providers to define a data schema for their channel parameters
2017-07-13 20:50:45 +01:00
David Taylor
bfb499d4cf
Refactor into /app directory, move everything out of plugin.rb
2017-07-13 13:32:11 +01:00
David Taylor
4207456716
Abstract away DiscourseChat::PluginModel to be used for other ActiveRecord models
2017-07-12 23:59:43 +01:00
David Taylor
56da3639ab
Use real ActiveRecord for the “Rule” model by extending the PluginStoreRow class.
...
This gives us all the activerecord awesomeness for free, like validations, safe form params etc.
2017-07-12 18:28:45 +01:00
David Taylor
f2c5223bc6
Remove accidental dependency on discourse-slack-official
2017-07-12 11:58:19 +01:00
David Taylor
95dd6bc09c
Add error handling to the slack API requests, and associated tests
2017-07-07 11:23:25 +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
527063aed0
Add helper function for deleting rules
2017-07-06 21:36:50 +01:00
David Taylor
aa6430e23e
Add helper method to intelligently create new rules (avoiding duplicates)
2017-07-06 01:11:26 +01:00
David Taylor
fd333d59b7
Add basic “slash command” functionality to the slack provider
...
Based on the existing slack plugin. Currently does not implement creating new rules or deleting rules.
2017-07-05 23:01:46 +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
95344c348f
Allow filtering of rules by channel
2017-07-05 22:38:53 +01:00
David Taylor
2f6d6f0d54
Automatically mount provider’s engines at /chat-integration/{provider_name}
...
Provider controllers are automatically disabled when the provider is disabled (works the same way as plugin controllers)
2017-07-05 15:03:02 +01:00
David Taylor
aaaffdf371
Add ‘send test message’ functionality to the admin interface
2017-07-04 23:35:45 +01:00
David Taylor
d97d35fd0d
Handle errors on trigger_notification
...
Providers can define their own errors, and these are presented in the user interface. e.g. Slack can define an error that says “That channel doesn’t exist”.
Errors in the UI disappear once a message has been sent successfully, or the rule is edited.
2017-07-04 19:37:56 +01:00
David Taylor
4be010fd07
Allow providers to specify a regex that the channel identifier is checked against during validation
2017-07-04 00:14:01 +01:00
David Taylor
444e380ca1
Tidy up admin user interface
2017-07-03 22:11:17 +01:00
David Taylor
0547543a1d
Add server-side validation to rules
2017-07-03 17:38:13 +01:00
David Taylor
f40f602a4f
Add validation to slack settings (adapted from old slack plugin)
2017-07-03 16:28:26 +01:00
David Taylor
1c416d5a81
Allow providers to be disabled, and tidy up translations
2017-07-03 15:53:26 +01:00
David Taylor
4643ad255c
Rename plugin to discourse-chat-integration
2017-07-03 11:08:14 +01:00
David Taylor
b824773a8a
Add tests for SlackProvider
2017-06-30 16:39:19 +01:00
David Taylor
0074f90f14
Allow sending by API instead of webhooks for slack
2017-06-30 15:28:44 +01:00