2017-07-03 11:08:14 +01:00
|
|
|
# name: discourse-chat-integration
|
2017-06-26 15:08:06 +01:00
|
|
|
# about: This plugin integrates discourse with a number of chat providers
|
|
|
|
# version: 0.1
|
2017-07-03 11:08:14 +01:00
|
|
|
# url: https://github.com/discourse/discourse-chat-integration
|
2017-07-13 13:32:11 +01:00
|
|
|
# author: David Taylor
|
2017-06-26 15:08:06 +01:00
|
|
|
|
2017-07-03 11:08:14 +01:00
|
|
|
enabled_site_setting :chat_integration_enabled
|
2017-06-26 15:08:06 +01:00
|
|
|
|
2017-07-03 22:11:17 +01:00
|
|
|
register_asset "stylesheets/chat-integration-admin.scss"
|
|
|
|
|
2017-07-03 16:28:26 +01:00
|
|
|
# Site setting validators must be loaded before initialize
|
2017-07-13 13:32:11 +01:00
|
|
|
require_relative "lib/discourse_chat/provider/slack/slack_enabled_setting_validator"
|
2017-06-29 17:50:54 +01:00
|
|
|
|
2017-06-26 15:08:06 +01:00
|
|
|
after_initialize do
|
|
|
|
|
2017-07-13 13:32:11 +01:00
|
|
|
require_relative "app/initializers/discourse_chat"
|
2017-08-01 20:53:39 +01:00
|
|
|
|
|
|
|
DiscourseEvent.on(:post_created) do |post|
|
2017-07-03 11:08:14 +01:00
|
|
|
if SiteSetting.chat_integration_enabled?
|
2017-06-30 11:10:11 +01:00
|
|
|
# This will run for every post, even PMs. Don't worry, they're filtered out later.
|
2017-07-13 13:32:11 +01:00
|
|
|
time = SiteSetting.chat_integration_delay_seconds.seconds
|
|
|
|
Jobs.enqueue_in(time, :notify_chats, post_id: post.id)
|
2017-06-29 17:50:54 +01:00
|
|
|
end
|
2017-06-26 19:19:50 +01:00
|
|
|
end
|
|
|
|
|
2017-07-03 15:53:26 +01:00
|
|
|
add_admin_route 'chat_integration.menu_title', 'chat'
|
2017-06-26 19:19:50 +01:00
|
|
|
|
2017-07-05 15:03:02 +01:00
|
|
|
DiscourseChat::Provider.mount_engines
|
|
|
|
|
2017-06-26 15:08:06 +01:00
|
|
|
end
|