Commit Graph

34 Commits

Author SHA1 Message Date
David Taylor 148dd8df6b Tidy up Slack provider implementation 2017-08-21 15:28:37 +01: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 ce8acc9c26 Disallow duplicate channels - providers can define which fields should be ‘unique’ 2017-07-28 15:47:46 +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 8ca4797797 Add transcript posting support to slack 2017-07-24 16:43:37 +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 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 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 062aa8d875 Add create/delete rule functionality to the slack ‘slash commands’ 2017-07-06 21:42:37 +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 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 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
David Taylor 3f0462d40c Implement slack provider, based on existing plugin.
Currently only implements the “Webhook” method, not the “Web API” method
2017-06-30 13:09:36 +01:00
David Taylor 4ad9ad6a7a Move lib files inside a discourse_chat directory, and make the notifications run on a delay after post creation 2017-06-30 11:10:11 +01:00