lib/ruboty/adapters/slack_rtm.rb in ruboty-slack_rtm-1.6.0 vs lib/ruboty/adapters/slack_rtm.rb in ruboty-slack_rtm-2.0.0
- old
+ new
@@ -1,9 +1,8 @@
require 'cgi'
require 'time'
require 'slack'
-require 'slack-rtmapi'
require 'ruboty/adapters/base'
module Ruboty
module Adapters
class SlackRTM < Base
@@ -66,18 +65,23 @@
realtime.main_loop
end
def url
- @url ||= ::SlackRTM.get_url(token: ENV['SLACK_TOKEN'])
+ @url ||= begin
+ response = Net::HTTP.post_form(URI.parse('https://slack.com/api/rtm.start'), token: ENV['SLACK_TOKEN'])
+ body = JSON.parse(response.body)
+
+ URI.parse(body['url'])
+ end
end
def client
@client ||= ::Slack::Client.new(token: ENV['SLACK_TOKEN'])
end
def realtime
- @realtime ||= ::SlackRTM::Client.new(websocket_url: url)
+ @realtime ||= ::Ruboty::SlackRTM::Client.new(websocket_url: url)
end
def expose_channel_name?
if @expose_channel_name.nil?
@expose_channel_name = ENV['SLACK_EXPOSE_CHANNEL_NAME'] == '1'