Slack Integration (#170)

* slack integration

* recomment server variables

* recomment server variables
This commit is contained in:
Joshua Arts
2017-05-09 10:26:01 -04:00
committed by Jesus Federico
parent 924ca25ef1
commit a2cfdc838f
9 changed files with 72 additions and 4 deletions

View File

@ -91,7 +91,7 @@ class BbbController < ApplicationController
# the user can join the meeting
if user
if bbb_res[:returncode] && current_user == user
JoinMeetingJob.perform_later(user.encrypted_id, params[:id])
JoinMeetingJob.perform_later(user, params[:id], base_url)
# user will be waiting for a moderator
else

View File

@ -18,6 +18,9 @@ class EndMeetingJob < ApplicationJob
queue_as :default
def perform(room, meeting)
Rails.configuration.slack_notifier.ping I18n.t('slack.meeting_end', meeting: meeting) if !Rails.configuration.slack_notifier.nil?
ActionCable.server.broadcast "#{room}-#{meeting}_meeting_updates_channel",
action: 'meeting_ended'
end

View File

@ -17,8 +17,13 @@
class JoinMeetingJob < ApplicationJob
queue_as :default
def perform(room, meeting)
ActionCable.server.broadcast "#{room}-#{meeting}_meeting_updates_channel",
def perform(user, meeting, base_url)
join_message = I18n.t('slack.meeting_join', user: user.name, meeting: meeting) + "(#{base_url})"
formatted = Slack::Notifier::Util::LinkFormatter.format(join_message)
Rails.configuration.slack_notifier.ping formatted if !Rails.configuration.slack_notifier.nil?
ActionCable.server.broadcast "#{user.encrypted_id}-#{meeting}_meeting_updates_channel",
action: 'moderator_joined',
moderator: 'joined'
end

View File

@ -22,6 +22,11 @@ class RecordingUpdatesJob < ApplicationJob
def perform(room, record_id)
recording = bbb_get_recordings({recordID: record_id})[:recordings].first
full_id = "#{room}-#{recording[:metadata][:"meeting-name"]}"
change = (recording[:metadata][:"gl-listed"] == "true") ? I18n.t('slack.published') : I18n.t('slack.unpublished')
slack_message = I18n.t('slack.recording_visibility', meeting: recording[:metadata][:"meeting-name"], change: change)
Rails.configuration.slack_notifier.ping slack_message if !Rails.configuration.slack_notifier.nil?
ActionCable.server.broadcast "#{room}_recording_updates_channel",
action: 'update',
id: record_id,