2019-05-13 10:37:49 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2019-06-06 10:26:24 +08:00
|
|
|
if Gem::Version.new(Discourse::VERSION::STRING) > Gem::Version.new("2.3.0.beta8")
|
|
|
|
DiscourseEvent.on(:site_setting_changed) do |setting_name, old_value, new_value|
|
|
|
|
isEnabledSetting = setting_name == 'chat_integration_telegram_enabled'
|
|
|
|
isAccessToken = setting_name == 'chat_integration_telegram_access_token'
|
|
|
|
|
|
|
|
if (isEnabledSetting || isAccessToken)
|
|
|
|
enabled = isEnabledSetting ? new_value == true : SiteSetting.chat_integration_telegram_enabled
|
2019-06-06 09:51:40 +08:00
|
|
|
|
2019-06-06 10:26:24 +08:00
|
|
|
if enabled
|
|
|
|
Scheduler::Defer.later("Setup Telegram Webhook") do
|
|
|
|
DiscourseChat::Provider::TelegramProvider.setup_webhook()
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
else
|
|
|
|
DiscourseEvent.on(site_setting_saved) do |sitesetting|
|
|
|
|
isEnabledSetting = sitesetting.name == 'chat_integration_telegram_enabled'
|
|
|
|
isAccessToken = sitesetting.name == 'chat_integration_telegram_access_token'
|
2017-07-19 16:28:02 +01:00
|
|
|
|
2019-06-06 10:26:24 +08:00
|
|
|
if (isEnabledSetting || isAccessToken)
|
|
|
|
enabled = isEnabledSetting ? sitesetting.value == 't' : SiteSetting.chat_integration_telegram_enabled
|
|
|
|
if enabled
|
|
|
|
Scheduler::Defer.later("Setup Telegram Webhook") do
|
|
|
|
DiscourseChat::Provider::TelegramProvider.setup_webhook()
|
|
|
|
end
|
2017-07-19 16:28:02 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2017-08-01 20:53:39 +01:00
|
|
|
end
|