slack-ruby-client 0.5.4 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +17 -14
- data/CHANGELOG.md +7 -0
- data/CONTRIBUTING.md +2 -2
- data/Gemfile +1 -0
- data/README.md +32 -18
- data/Rakefile +4 -1
- data/UPGRADING.md +41 -3
- data/bin/commands.rb +1 -1
- data/bin/commands/api.rb +1 -1
- data/bin/commands/auth.rb +1 -1
- data/bin/commands/channels.rb +3 -3
- data/bin/commands/chat.rb +1 -1
- data/bin/commands/dnd.rb +1 -1
- data/bin/commands/emoji.rb +1 -1
- data/bin/commands/files.rb +2 -1
- data/bin/commands/groups.rb +1 -1
- data/bin/commands/im.rb +1 -1
- data/bin/commands/mpim.rb +1 -1
- data/bin/commands/oauth.rb +1 -1
- data/bin/commands/pins.rb +1 -1
- data/bin/commands/reactions.rb +1 -1
- data/bin/commands/rtm.rb +1 -1
- data/bin/commands/search.rb +1 -1
- data/bin/commands/stars.rb +1 -1
- data/bin/commands/team.rb +1 -1
- data/bin/commands/usergroups.rb +1 -1
- data/bin/commands/users.rb +10 -1
- data/examples/hi_real_time/hi.rb +5 -5
- data/examples/hi_real_time_and_web/hi.rb +4 -4
- data/examples/hi_real_time_async/hi.rb +5 -5
- data/lib/slack-ruby-client.rb +10 -0
- data/lib/slack/messages/message.rb +9 -0
- data/lib/slack/real_time/api/schema/event.json +22 -0
- data/lib/slack/real_time/api/templates/event_handler.erb +18 -0
- data/lib/slack/real_time/api/templates/event_handlers.erb +5 -0
- data/lib/slack/real_time/client.rb +31 -9
- data/lib/slack/real_time/config.rb +3 -1
- data/lib/slack/real_time/event_handlers.rb +66 -0
- data/lib/slack/real_time/event_handlers/accounts_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/bot_added.rb +16 -0
- data/lib/slack/real_time/event_handlers/bot_changed.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_archive.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_created.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_deleted.rb +16 -0
- data/lib/slack/real_time/event_handlers/channel_history_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/channel_joined.rb +22 -0
- data/lib/slack/real_time/event_handlers/channel_left.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_marked.rb +18 -0
- data/lib/slack/real_time/event_handlers/channel_rename.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_unarchive.rb +17 -0
- data/lib/slack/real_time/event_handlers/commands_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/dnd_updated.rb +18 -0
- data/lib/slack/real_time/event_handlers/dnd_updated_user.rb +18 -0
- data/lib/slack/real_time/event_handlers/email_domain_changed.rb +16 -0
- data/lib/slack/real_time/event_handlers/emoji_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_change.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_comment_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_comment_deleted.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_comment_edited.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_created.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_deleted.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_private.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_public.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_shared.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_unshared.rb +18 -0
- data/lib/slack/real_time/event_handlers/group_archive.rb +17 -0
- data/lib/slack/real_time/event_handlers/group_close.rb +16 -0
- data/lib/slack/real_time/event_handlers/group_history_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/group_joined.rb +16 -0
- data/lib/slack/real_time/event_handlers/group_left.rb +17 -0
- data/lib/slack/real_time/event_handlers/group_marked.rb +18 -0
- data/lib/slack/real_time/event_handlers/group_open.rb +16 -0
- data/lib/slack/real_time/event_handlers/group_rename.rb +17 -0
- data/lib/slack/real_time/event_handlers/group_unarchive.rb +17 -0
- data/lib/slack/real_time/event_handlers/im_close.rb +16 -0
- data/lib/slack/real_time/event_handlers/im_created.rb +16 -0
- data/lib/slack/real_time/event_handlers/im_history_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/im_marked.rb +18 -0
- data/lib/slack/real_time/event_handlers/im_open.rb +16 -0
- data/lib/slack/real_time/event_handlers/manual_presence_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/pin_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/pin_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/pref_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/presence_change.rb +17 -0
- data/lib/slack/real_time/event_handlers/reaction_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/reaction_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/reconnect_url.rb +18 -0
- data/lib/slack/real_time/event_handlers/star_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/star_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_created.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_self_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_self_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_updated.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_domain_change.rb +17 -0
- data/lib/slack/real_time/event_handlers/team_join.rb +16 -0
- data/lib/slack/real_time/event_handlers/team_migration_started.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_plan_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/team_pref_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/team_profile_change.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_profile_delete.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_profile_reorder.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_rename.rb +16 -0
- data/lib/slack/real_time/event_handlers/user_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/user_typing.rb +18 -0
- data/lib/slack/real_time/models.rb +7 -0
- data/lib/slack/real_time/models/base.rb +11 -0
- data/lib/slack/real_time/models/bot.rb +8 -0
- data/lib/slack/real_time/models/channel.rb +8 -0
- data/lib/slack/real_time/models/group.rb +8 -0
- data/lib/slack/real_time/models/im.rb +8 -0
- data/lib/slack/real_time/models/team.rb +8 -0
- data/lib/slack/real_time/models/user.rb +8 -0
- data/lib/slack/real_time/store.rb +47 -0
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints.rb +1 -1
- data/lib/slack/web/api/endpoints/api.rb +1 -1
- data/lib/slack/web/api/endpoints/auth.rb +1 -1
- data/lib/slack/web/api/endpoints/channels.rb +2 -4
- data/lib/slack/web/api/endpoints/chat.rb +1 -1
- data/lib/slack/web/api/endpoints/dnd.rb +1 -1
- data/lib/slack/web/api/endpoints/emoji.rb +1 -1
- data/lib/slack/web/api/endpoints/files.rb +4 -1
- data/lib/slack/web/api/endpoints/groups.rb +1 -1
- data/lib/slack/web/api/endpoints/im.rb +1 -1
- data/lib/slack/web/api/endpoints/mpim.rb +1 -1
- data/lib/slack/web/api/endpoints/oauth.rb +1 -1
- data/lib/slack/web/api/endpoints/pins.rb +1 -1
- data/lib/slack/web/api/endpoints/reactions.rb +1 -1
- data/lib/slack/web/api/endpoints/rtm.rb +1 -1
- data/lib/slack/web/api/endpoints/search.rb +1 -1
- data/lib/slack/web/api/endpoints/stars.rb +1 -1
- data/lib/slack/web/api/endpoints/team.rb +1 -1
- data/lib/slack/web/api/endpoints/usergroups.rb +1 -1
- data/lib/slack/web/api/endpoints/users.rb +1 -1
- data/lib/slack/web/api/mixins.rb +1 -0
- data/lib/slack/web/api/mixins/channels.id.rb +2 -2
- data/lib/slack/web/api/mixins/groups.id.rb +2 -2
- data/lib/slack/web/api/mixins/users.id.rb +2 -2
- data/lib/slack/web/api/mixins/users.search.json +19 -0
- data/lib/slack/web/api/mixins/users.search.rb +43 -0
- data/lib/slack/web/api/templates/command.erb +1 -1
- data/lib/slack/web/api/templates/commands.erb +1 -1
- data/lib/slack/web/api/templates/endpoints.erb +1 -1
- data/lib/slack/web/api/templates/method.erb +1 -1
- data/lib/slack/web/api/templates/method_spec.erb +20 -0
- data/lib/slack/web/faraday/connection.rb +1 -0
- data/lib/tasks/git.rake +7 -0
- data/lib/tasks/real_time.rake +45 -0
- data/lib/tasks/update.rake +9 -0
- data/lib/{slack/web/api/tasks/generate.rake → tasks/web.rake} +6 -6
- data/slack-ruby-client.gemspec +1 -0
- data/spec/fixtures/slack/web/rtm_start.yml +53 -22
- data/spec/integration/integration_spec.rb +5 -5
- data/spec/slack/real_time/client_spec.rb +72 -10
- data/spec/slack/real_time/event_handlers/bot_spec.rb +42 -0
- data/spec/slack/real_time/event_handlers/channel_spec.rb +116 -0
- data/spec/slack/real_time/event_handlers/group_spec.rb +90 -0
- data/spec/slack/real_time/event_handlers/im_spec.rb +47 -0
- data/spec/slack/real_time/event_handlers/team_spec.rb +58 -0
- data/spec/slack/real_time/event_handlers/user_spec.rb +61 -0
- data/spec/slack/real_time/rtm_start_spec.rb +13 -0
- data/spec/slack/real_time/store_spec.rb +11 -0
- data/spec/slack/slack_spec.rb +6 -6
- data/spec/slack/web/api/endpoints/api_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/{auth_spec.rb → custom_specs/auth_spec.rb} +0 -0
- data/spec/slack/web/api/endpoints/{channels_spec.rb → custom_specs/channels_spec.rb} +1 -1
- data/spec/slack/web/api/endpoints/{chat_spec.rb → custom_specs/chat_spec.rb} +0 -0
- data/spec/slack/web/api/endpoints/{groups_spec.rb → custom_specs/groups_spec.rb} +1 -1
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +23 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +12 -0
- data/spec/slack/web/api/endpoints/emoji_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/im_spec.rb +30 -0
- data/spec/slack/web/api/endpoints/mpim_spec.rb +30 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +22 -0
- data/spec/slack/web/api/endpoints/reactions_spec.rb +17 -0
- data/spec/slack/web/api/endpoints/rtm_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +22 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +35 -0
- data/spec/slack/web/api/mixins/channels_spec.rb +6 -6
- data/spec/slack/web/api/mixins/groups_spec.rb +6 -6
- data/spec/slack/web/api/mixins/users_spec.rb +12 -6
- data/spec/support/real_time/event.rb +11 -0
- metadata +159 -13
- data/spec/slack/web/api/endpoints/users_spec.rb +0 -17
data/bin/commands/stars.rb
CHANGED
data/bin/commands/team.rb
CHANGED
data/bin/commands/usergroups.rb
CHANGED
data/bin/commands/users.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# This file was auto-generated by lib/
|
1
|
+
# This file was auto-generated by lib/tasks/web.rake
|
2
2
|
|
3
3
|
desc 'Get info on members of your Slack team.'
|
4
4
|
command 'users' do |g|
|
@@ -54,4 +54,13 @@ command 'users' do |g|
|
|
54
54
|
puts JSON.dump($client.users_id(options))
|
55
55
|
end
|
56
56
|
end
|
57
|
+
|
58
|
+
g.desc 'This method searches for users.'
|
59
|
+
g.long_desc %( This method searches for users. )
|
60
|
+
g.command 'search' do |c|
|
61
|
+
c.flag 'user', desc: 'User to search for.'
|
62
|
+
c.action do |_global_options, options, _args|
|
63
|
+
puts JSON.dump($client.users_search(options))
|
64
|
+
end
|
65
|
+
end
|
57
66
|
end
|
data/examples/hi_real_time/hi.rb
CHANGED
@@ -8,19 +8,19 @@ end
|
|
8
8
|
client = Slack::RealTime::Client.new
|
9
9
|
|
10
10
|
client.on :hello do
|
11
|
-
puts "Successfully connected, welcome '#{client.self
|
11
|
+
puts "Successfully connected, welcome '#{client.self.name}' to the '#{client.team.name}' team at https://#{client.team.domain}.slack.com."
|
12
12
|
end
|
13
13
|
|
14
14
|
client.on :message do |data|
|
15
15
|
puts data
|
16
16
|
|
17
|
-
client.typing channel: data
|
17
|
+
client.typing channel: data.channel
|
18
18
|
|
19
|
-
case data
|
19
|
+
case data.text
|
20
20
|
when 'bot hi' then
|
21
|
-
client.message channel: data
|
21
|
+
client.message channel: data.channel, text: "Hi <@#{data.user}>!"
|
22
22
|
when /^bot/ then
|
23
|
-
client.message channel: data
|
23
|
+
client.message channel: data.channel, text: "Sorry <@#{data.user}>, what?"
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -8,16 +8,16 @@ end
|
|
8
8
|
client = Slack::RealTime::Client.new
|
9
9
|
|
10
10
|
client.on :hello do
|
11
|
-
puts "Successfully connected, welcome '#{client.self
|
11
|
+
puts "Successfully connected, welcome '#{client.self.name}' to the '#{client.team.name}' team at https://#{client.team.domain}.slack.com."
|
12
12
|
end
|
13
13
|
|
14
14
|
client.on :message do |data|
|
15
15
|
puts data
|
16
|
-
case data
|
16
|
+
case data.text
|
17
17
|
when 'bot hi' then
|
18
|
-
client.web_client.chat_postMessage channel: data
|
18
|
+
client.web_client.chat_postMessage channel: data.channel, text: "Hi <@#{data.user}>!"
|
19
19
|
when /^bot/ then
|
20
|
-
client.web_client.chat_postMessage channel: data
|
20
|
+
client.web_client.chat_postMessage channel: data.channel, text: "Sorry <@#{data.user}>, what?"
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
@@ -8,19 +8,19 @@ end
|
|
8
8
|
client = Slack::RealTime::Client.new
|
9
9
|
|
10
10
|
client.on :hello do
|
11
|
-
puts "Successfully connected, welcome '#{client.self
|
11
|
+
puts "Successfully connected, welcome '#{client.self.name}' to the '#{client.team.name}' team at https://#{client.team.domain}.slack.com."
|
12
12
|
end
|
13
13
|
|
14
14
|
client.on :message do |data|
|
15
15
|
puts data
|
16
16
|
|
17
|
-
client.typing channel: data
|
17
|
+
client.typing channel: data.channel
|
18
18
|
|
19
|
-
case data
|
19
|
+
case data.text
|
20
20
|
when 'bot hi' then
|
21
|
-
client.message channel: data
|
21
|
+
client.message channel: data.channel, text: "Hi <@#{data.user}>!"
|
22
22
|
when /^bot/ then
|
23
|
-
client.message channel: data
|
23
|
+
client.message channel: data.channel, text: "Sorry <@#{data.user}>, what?"
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
data/lib/slack-ruby-client.rb
CHANGED
@@ -2,6 +2,8 @@ require 'slack/version'
|
|
2
2
|
require 'slack/config'
|
3
3
|
|
4
4
|
# Messages
|
5
|
+
require 'hashie'
|
6
|
+
require 'slack/messages/message'
|
5
7
|
require 'slack/messages/formatting'
|
6
8
|
|
7
9
|
# Web API
|
@@ -9,6 +11,11 @@ require 'faraday'
|
|
9
11
|
require 'faraday_middleware'
|
10
12
|
require 'json'
|
11
13
|
require 'logger'
|
14
|
+
begin
|
15
|
+
require 'picky'
|
16
|
+
rescue LoadError
|
17
|
+
# ignore, only used in users_search
|
18
|
+
end
|
12
19
|
require 'slack/web/config'
|
13
20
|
require 'slack/web/api/error'
|
14
21
|
require 'slack/web/faraday/response/raise_error'
|
@@ -25,5 +32,8 @@ require 'slack/real_time/api/message_id'
|
|
25
32
|
require 'slack/real_time/api/ping'
|
26
33
|
require 'slack/real_time/api/message'
|
27
34
|
require 'slack/real_time/api/typing'
|
35
|
+
require 'slack/real_time/models'
|
28
36
|
require 'slack/real_time/config'
|
29
37
|
require 'slack/real_time/client'
|
38
|
+
require 'slack/real_time/store'
|
39
|
+
require 'slack/real_time/event_handlers'
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{
|
2
|
+
"type": "object",
|
3
|
+
"required": [
|
4
|
+
"name",
|
5
|
+
"desc"
|
6
|
+
],
|
7
|
+
"properties": {
|
8
|
+
"name": {
|
9
|
+
"type": "string"
|
10
|
+
},
|
11
|
+
"desc": {
|
12
|
+
"type": "string"
|
13
|
+
},
|
14
|
+
"long_desc": {
|
15
|
+
"type": "string"
|
16
|
+
},
|
17
|
+
"example": {
|
18
|
+
"type": "object",
|
19
|
+
"default": {}
|
20
|
+
}
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/real_time.rake
|
2
|
+
|
3
|
+
# module Slack
|
4
|
+
# module RealTime
|
5
|
+
# module EventHandlers
|
6
|
+
# module <%= class_name %>
|
7
|
+
# # <%= desc %>
|
8
|
+
# # @see https://api.slack.com/events/<%= name %>
|
9
|
+
# # @see https://github.com/dblock/slack-api-ref/blob/master/events/<%= name %>.json
|
10
|
+
# def self.call(_client, _data)
|
11
|
+
# # TODO
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
|
18
|
+
# Slack::RealTime::Client.events['<%= name %>'] = Slack::RealTime::EventHandlers::<%= class_name %>
|
@@ -9,7 +9,15 @@ module Slack
|
|
9
9
|
include Api::Message
|
10
10
|
include Api::Typing
|
11
11
|
|
12
|
+
@events = {}
|
13
|
+
|
14
|
+
class << self
|
15
|
+
attr_accessor :events
|
16
|
+
end
|
17
|
+
|
12
18
|
attr_accessor :web_client
|
19
|
+
attr_accessor :store
|
20
|
+
attr_accessor :url
|
13
21
|
attr_accessor(*Config::ATTRIBUTES)
|
14
22
|
|
15
23
|
def initialize(options = {})
|
@@ -17,13 +25,14 @@ module Slack
|
|
17
25
|
Slack::RealTime::Config::ATTRIBUTES.each do |key|
|
18
26
|
send("#{key}=", options[key] || Slack::RealTime.config.send(key))
|
19
27
|
end
|
28
|
+
@store_class = options.key?(:store_class) ? options[:store_class] : Slack::RealTime::Store
|
20
29
|
@token ||= Slack.config.token
|
21
30
|
@web_client = Slack::Web::Client.new(token: token)
|
22
31
|
end
|
23
32
|
|
24
|
-
[:
|
25
|
-
define_method
|
26
|
-
|
33
|
+
[:users, :self, :channels, :team, :teams, :groups, :ims, :bots].each do |store_method|
|
34
|
+
define_method store_method do
|
35
|
+
store.send(store_method) if store
|
27
36
|
end
|
28
37
|
end
|
29
38
|
|
@@ -71,9 +80,11 @@ module Slack
|
|
71
80
|
# @return [Slack::RealTime::Socket]
|
72
81
|
def build_socket
|
73
82
|
fail ClientAlreadyStartedError if started?
|
74
|
-
|
75
|
-
|
76
|
-
|
83
|
+
start = web_client.rtm_start(start_options)
|
84
|
+
data = Slack::Messages::Message.new(start)
|
85
|
+
@url = data.url
|
86
|
+
@store = @store_class.new(data) if @store_class
|
87
|
+
socket_class.new(@url, socket_options)
|
77
88
|
end
|
78
89
|
|
79
90
|
def socket_options
|
@@ -137,10 +148,21 @@ module Slack
|
|
137
148
|
|
138
149
|
def dispatch(event)
|
139
150
|
return false unless event.data
|
140
|
-
data = JSON.parse(event.data)
|
141
|
-
type = data
|
151
|
+
data = Slack::Messages::Message.new(JSON.parse(event.data))
|
152
|
+
type = data.type
|
142
153
|
return false unless type
|
143
|
-
|
154
|
+
type = type.to_s
|
155
|
+
run_handlers(type, data) if @store
|
156
|
+
run_callbacks(type, data)
|
157
|
+
end
|
158
|
+
|
159
|
+
def run_handlers(type, data)
|
160
|
+
handler = Slack::RealTime::Client.events[type]
|
161
|
+
handler.call(self, data) if handler
|
162
|
+
end
|
163
|
+
|
164
|
+
def run_callbacks(type, data)
|
165
|
+
callbacks = self.callbacks[type]
|
144
166
|
return false unless callbacks
|
145
167
|
callbacks.each do |c|
|
146
168
|
c.call(data)
|
@@ -9,7 +9,8 @@ module Slack
|
|
9
9
|
:token,
|
10
10
|
:websocket_ping,
|
11
11
|
:websocket_proxy,
|
12
|
-
:concurrency
|
12
|
+
:concurrency,
|
13
|
+
:start_options
|
13
14
|
]
|
14
15
|
|
15
16
|
attr_accessor(*Config::ATTRIBUTES)
|
@@ -19,6 +20,7 @@ module Slack
|
|
19
20
|
self.websocket_proxy = nil
|
20
21
|
self.token = nil
|
21
22
|
self.concurrency = method(:detect_concurrency)
|
23
|
+
self.start_options = {}
|
22
24
|
end
|
23
25
|
|
24
26
|
def concurrency
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# require 'slack/real_time/event_handlers/accounts_changed'
|
2
|
+
require 'slack/real_time/event_handlers/bot_added'
|
3
|
+
require 'slack/real_time/event_handlers/bot_changed'
|
4
|
+
require 'slack/real_time/event_handlers/channel_archive'
|
5
|
+
require 'slack/real_time/event_handlers/channel_created'
|
6
|
+
require 'slack/real_time/event_handlers/channel_deleted'
|
7
|
+
# require 'slack/real_time/event_handlers/channel_history_changed'
|
8
|
+
require 'slack/real_time/event_handlers/channel_joined'
|
9
|
+
require 'slack/real_time/event_handlers/channel_left'
|
10
|
+
# require 'slack/real_time/event_handlers/channel_marked'
|
11
|
+
require 'slack/real_time/event_handlers/channel_rename'
|
12
|
+
require 'slack/real_time/event_handlers/channel_unarchive'
|
13
|
+
# require 'slack/real_time/event_handlers/commands_changed'
|
14
|
+
# require 'slack/real_time/event_handlers/dnd_updated'
|
15
|
+
# require 'slack/real_time/event_handlers/dnd_updated_user'
|
16
|
+
require 'slack/real_time/event_handlers/email_domain_changed'
|
17
|
+
# require 'slack/real_time/event_handlers/emoji_changed'
|
18
|
+
# require 'slack/real_time/event_handlers/file_change'
|
19
|
+
# require 'slack/real_time/event_handlers/file_comment_added'
|
20
|
+
# require 'slack/real_time/event_handlers/file_comment_deleted'
|
21
|
+
# require 'slack/real_time/event_handlers/file_comment_edited'
|
22
|
+
# require 'slack/real_time/event_handlers/file_created'
|
23
|
+
# require 'slack/real_time/event_handlers/file_deleted'
|
24
|
+
# require 'slack/real_time/event_handlers/file_private'
|
25
|
+
# require 'slack/real_time/event_handlers/file_public'
|
26
|
+
# require 'slack/real_time/event_handlers/file_shared'
|
27
|
+
# require 'slack/real_time/event_handlers/file_unshared'
|
28
|
+
require 'slack/real_time/event_handlers/group_archive'
|
29
|
+
require 'slack/real_time/event_handlers/group_close'
|
30
|
+
# require 'slack/real_time/event_handlers/group_history_changed'
|
31
|
+
require 'slack/real_time/event_handlers/group_joined'
|
32
|
+
require 'slack/real_time/event_handlers/group_left'
|
33
|
+
# require 'slack/real_time/event_handlers/group_marked'
|
34
|
+
require 'slack/real_time/event_handlers/group_open'
|
35
|
+
require 'slack/real_time/event_handlers/group_rename'
|
36
|
+
require 'slack/real_time/event_handlers/group_unarchive'
|
37
|
+
require 'slack/real_time/event_handlers/im_close'
|
38
|
+
require 'slack/real_time/event_handlers/im_created'
|
39
|
+
# require 'slack/real_time/event_handlers/im_history_changed'
|
40
|
+
# require 'slack/real_time/event_handlers/im_marked'
|
41
|
+
require 'slack/real_time/event_handlers/im_open'
|
42
|
+
require 'slack/real_time/event_handlers/manual_presence_change'
|
43
|
+
# require 'slack/real_time/event_handlers/pin_added'
|
44
|
+
# require 'slack/real_time/event_handlers/pin_removed'
|
45
|
+
require 'slack/real_time/event_handlers/pref_change'
|
46
|
+
require 'slack/real_time/event_handlers/presence_change'
|
47
|
+
# require 'slack/real_time/event_handlers/reaction_added'
|
48
|
+
# require 'slack/real_time/event_handlers/reaction_removed'
|
49
|
+
# require 'slack/real_time/event_handlers/reconnect_url'
|
50
|
+
# require 'slack/real_time/event_handlers/star_added'
|
51
|
+
# require 'slack/real_time/event_handlers/star_removed'
|
52
|
+
# require 'slack/real_time/event_handlers/subteam_created'
|
53
|
+
# require 'slack/real_time/event_handlers/subteam_self_added'
|
54
|
+
# require 'slack/real_time/event_handlers/subteam_self_removed'
|
55
|
+
# require 'slack/real_time/event_handlers/subteam_updated'
|
56
|
+
require 'slack/real_time/event_handlers/team_domain_change'
|
57
|
+
require 'slack/real_time/event_handlers/team_join'
|
58
|
+
# require 'slack/real_time/event_handlers/team_migration_started'
|
59
|
+
require 'slack/real_time/event_handlers/team_plan_change'
|
60
|
+
require 'slack/real_time/event_handlers/team_pref_change'
|
61
|
+
# require 'slack/real_time/event_handlers/team_profile_change'
|
62
|
+
# require 'slack/real_time/event_handlers/team_profile_delete'
|
63
|
+
# require 'slack/real_time/event_handlers/team_profile_reorder'
|
64
|
+
require 'slack/real_time/event_handlers/team_rename'
|
65
|
+
require 'slack/real_time/event_handlers/user_change'
|
66
|
+
# require 'slack/real_time/event_handlers/user_typing'
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/real_time.rake
|
2
|
+
|
3
|
+
# module Slack
|
4
|
+
# module RealTime
|
5
|
+
# module EventHandlers
|
6
|
+
# module AccountsChanged
|
7
|
+
# # The list of accounts a user is signed into has changed.
|
8
|
+
# # @see https://api.slack.com/events/accounts_changed
|
9
|
+
# # @see https://github.com/dblock/slack-api-ref/blob/master/events/accounts_changed.json
|
10
|
+
# def self.call(_client, _data)
|
11
|
+
# # TODO
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# Slack::RealTime::Client.events['accounts_changed'] = Slack::RealTime::EventHandlers::AccountsChanged
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Slack
|
2
|
+
module RealTime
|
3
|
+
module EventHandlers
|
4
|
+
module BotAdded
|
5
|
+
# An integration bot was added.
|
6
|
+
# @see https://api.slack.com/events/bot_added
|
7
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/events/bot_added.json
|
8
|
+
def self.call(client, data)
|
9
|
+
client.bots[data.bot.id] = Models::Bot.new(data.bot)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
Slack::RealTime::Client.events['bot_added'] = Slack::RealTime::EventHandlers::BotAdded
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Slack
|
2
|
+
module RealTime
|
3
|
+
module EventHandlers
|
4
|
+
module BotChanged
|
5
|
+
# An integration bot was changed.
|
6
|
+
# @see https://api.slack.com/events/bot_changed
|
7
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/events/bot_changed.json
|
8
|
+
def self.call(client, data)
|
9
|
+
bot = client.bots[data.bot.id]
|
10
|
+
bot.merge!(data.bot) if bot
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
Slack::RealTime::Client.events['bot_changed'] = Slack::RealTime::EventHandlers::BotChanged
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Slack
|
2
|
+
module RealTime
|
3
|
+
module EventHandlers
|
4
|
+
module ChannelArchive
|
5
|
+
# A team channel was archived.
|
6
|
+
# @see https://api.slack.com/events/channel_archive
|
7
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/events/channel_archive.json
|
8
|
+
def self.call(client, data)
|
9
|
+
channel = client.channels[data.channel]
|
10
|
+
channel.is_archived = true if channel
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
Slack::RealTime::Client.events['channel_archive'] = Slack::RealTime::EventHandlers::ChannelArchive
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Slack
|
2
|
+
module RealTime
|
3
|
+
module EventHandlers
|
4
|
+
module ChannelCreated
|
5
|
+
# A team channel was created.
|
6
|
+
# @see https://api.slack.com/events/channel_created
|
7
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/events/channel_created.json
|
8
|
+
def self.call(client, data)
|
9
|
+
channel = Models::Channel.new(data.channel)
|
10
|
+
client.channels[channel.id] = channel
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
Slack::RealTime::Client.events['channel_created'] = Slack::RealTime::EventHandlers::ChannelCreated
|