David Taylor
47a6a89e5a
Defer processing of transcripts to avoid timeouts
2017-09-15 23:12:02 +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
142925e4c4
Correct rubocop offence
2017-08-15 18:26:11 +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
9dc5445b7b
Fix spec
2017-08-04 00:54:11 +01:00
David Taylor
c634b3ee65
Only check for mentions on standard posts (not PMs)
2017-08-01 22:15:27 +01:00
David Taylor
6af31bb244
Fix precedence for group-based rules
2017-08-01 21:09:01 +01:00
David Taylor
4f9ad4efef
Correct rubocop offenses
2017-08-01 20:53:39 +01:00
David Taylor
01d7fb47ef
Display group rules correctly in slash commands
2017-08-01 19:16:47 +01:00
David Taylor
f3347b0a92
Add support for group mentions
2017-08-01 17:11:34 +01:00
David Taylor
209daf7801
Add group messages support to admin UI, and add a ‘type’ field for further improvements
2017-08-01 15:20:00 +01:00
David Taylor
4b2e8af711
Backend support for group pms
2017-07-31 14:51:03 +01:00
David Taylor
f1df1f5234
Fix discord avatar URL
2017-07-31 14:47:27 +01:00
David Taylor
04c711e438
Only load dummy providers in specs where they are required
2017-07-31 13:12:09 +01:00
David Taylor
5bf1b4a653
Add spec for editing channels
2017-07-29 19:29:19 +01:00
David Taylor
61fa0dbe0b
Replace `match?` with `match` for backwards compatibility with Ruby 2.3
2017-07-29 19:21:11 +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
5a4faa637f
Add matrix support
2017-07-27 17:09:44 +01:00
David Taylor
4add044f86
Fix intermittently failing spec
2017-07-26 21:14:29 +01:00
David Taylor
dac2dd3b25
Fix slack transcript spec
2017-07-26 20:04:46 +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
18aa827686
Remove timecop dependence
2017-07-25 22:14:32 +01:00
David Taylor
c51e8ec3b5
Add HipChat support
2017-07-24 19:22:19 +01:00
David Taylor
681f37bc2b
Workaround for intermittently failing redis spec
2017-07-24 17:48:06 +01:00
David Taylor
8ca4797797
Add transcript posting support to slack
2017-07-24 16:43:37 +01:00
David Taylor
2d7f25d7e6
Add support for chat transcripts
...
(still needs to be implemented by providers)
2017-07-24 16:13:53 +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
970c38c7fe
Add telegram specs
2017-07-19 21:26:16 +01:00
David Taylor
4422f14c6d
Move slash command specs into helper_spec
2017-07-19 18:22:50 +01:00
David Taylor
c5fdebd1bc
Store errors per-channel rather than per-rule, and update UI to match
2017-07-18 23:08:06 +01:00
David Taylor
d1d333523f
Order rules by precedence in the UI and slash commands
2017-07-18 21:36:07 +01:00
David Taylor
0a9ef040a1
Update specs for updated controller methods
2017-07-18 18:23:20 +01:00
David Taylor
2275b048f9
Destroy associated rules when a channel is destroyed
2017-07-18 16:42:05 +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
ab2e4c2de8
Allow looking up channel by data attributes (nested json values)
2017-07-13 22:50:14 +01:00
David Taylor
e850fb194b
Update helper to deal with the new channel structure
2017-07-13 22:13:03 +01:00
David Taylor
246c81ce5c
Update manager to deal with new channel structure
2017-07-13 21:47: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
e07a4da460
Model changes
2017-07-13 16:09:34 +01:00
David Taylor
b04b5c22dd
Refactor specs to match new directory structure
2017-07-13 14:01:30 +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
bc579fb6e1
Added rspec tests for admin controller
2017-07-10 21:04:37 +01:00
David Taylor
ba484dc9a1
Move ‘dummy provider’ logic into a shared context, to allow for use by multiple specs
2017-07-10 18:19:59 +01:00
David Taylor
52b8e3f3a6
Remove unneeded comments
2017-07-07 11:51: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
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
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
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
0547543a1d
Add server-side validation to rules
2017-07-03 17:38:13 +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
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
David Taylor
61caca3c5b
Use new DiscourseChat::Rule model throughout the backend code
2017-06-29 17:50:54 +01:00
David Taylor
cd3bd8d807
Add a “Rule” class, borrowing and extending the ActiveRecord-like design from data-explorer plugin
2017-06-29 17:01:04 +01:00
David Taylor
02692cf100
Added filtering logic for multiple providers, along with many RSpec tests.
...
General structure of the filter rules is taken from discourse-slack-official, but re-written to be more robust and easier to understand.
2017-06-27 19:43:29 +01:00