slack-ruby-client-bhe 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +17 -0
- data/.gitignore +4 -0
- data/.gitmodules +3 -0
- data/.rspec +2 -0
- data/.rubocop.yml +6 -0
- data/.rubocop_todo.yml +78 -0
- data/.travis.yml +26 -0
- data/CHANGELOG.md +79 -0
- data/CONTRIBUTING.md +157 -0
- data/Gemfile +5 -0
- data/LICENSE.md +22 -0
- data/README.md +385 -0
- data/RELEASING.md +69 -0
- data/Rakefile +19 -0
- data/UPGRADING.md +26 -0
- data/bin/commands.rb +21 -0
- data/bin/commands/api.rb +14 -0
- data/bin/commands/auth.rb +12 -0
- data/bin/commands/channels.rb +149 -0
- data/bin/commands/chat.rb +47 -0
- data/bin/commands/dnd.rb +47 -0
- data/bin/commands/emoji.rb +12 -0
- data/bin/commands/files.rb +72 -0
- data/bin/commands/groups.rb +167 -0
- data/bin/commands/im.rb +53 -0
- data/bin/commands/mpim.rb +53 -0
- data/bin/commands/oauth.rb +16 -0
- data/bin/commands/pins.rb +37 -0
- data/bin/commands/reactions.rb +53 -0
- data/bin/commands/rtm.rb +15 -0
- data/bin/commands/search.rb +40 -0
- data/bin/commands/stars.rb +37 -0
- data/bin/commands/team.rb +32 -0
- data/bin/commands/usergroups.rb +73 -0
- data/bin/commands/users.rb +57 -0
- data/bin/slack +50 -0
- data/examples/hi_real_time/Gemfile +5 -0
- data/examples/hi_real_time/hi.gif +0 -0
- data/examples/hi_real_time/hi.rb +32 -0
- data/examples/hi_real_time_and_web/Gemfile +5 -0
- data/examples/hi_real_time_and_web/hi.gif +0 -0
- data/examples/hi_real_time_and_web/hi.rb +24 -0
- data/examples/hi_real_time_async/Gemfile +5 -0
- data/examples/hi_real_time_async/hi.rb +29 -0
- data/examples/hi_web/Gemfile +3 -0
- data/examples/hi_web/hi.gif +0 -0
- data/examples/hi_web/hi.rb +12 -0
- data/examples/new_ticket/Gemfile +3 -0
- data/examples/new_ticket/new_ticket.rb +25 -0
- data/lib/slack-ruby-client.rb +29 -0
- data/lib/slack.rb +1 -0
- data/lib/slack/config.rb +21 -0
- data/lib/slack/messages/formatting.rb +30 -0
- data/lib/slack/real_time/api/message.rb +20 -0
- data/lib/slack/real_time/api/message_id.rb +14 -0
- data/lib/slack/real_time/api/ping.rb +16 -0
- data/lib/slack/real_time/api/typing.rb +17 -0
- data/lib/slack/real_time/client.rb +152 -0
- data/lib/slack/real_time/concurrency.rb +8 -0
- data/lib/slack/real_time/concurrency/celluloid.rb +93 -0
- data/lib/slack/real_time/concurrency/eventmachine.rb +39 -0
- data/lib/slack/real_time/config.rb +55 -0
- data/lib/slack/real_time/socket.rb +81 -0
- data/lib/slack/version.rb +3 -0
- data/lib/slack/web/api/endpoints.rb +53 -0
- data/lib/slack/web/api/endpoints/api.rb +24 -0
- data/lib/slack/web/api/endpoints/auth.rb +20 -0
- data/lib/slack/web/api/endpoints/channels.rb +220 -0
- data/lib/slack/web/api/endpoints/chat.rb +91 -0
- data/lib/slack/web/api/endpoints/dnd.rb +64 -0
- data/lib/slack/web/api/endpoints/emoji.rb +20 -0
- data/lib/slack/web/api/endpoints/files.rb +108 -0
- data/lib/slack/web/api/endpoints/groups.rb +247 -0
- data/lib/slack/web/api/endpoints/im.rb +85 -0
- data/lib/slack/web/api/endpoints/mpim.rb +84 -0
- data/lib/slack/web/api/endpoints/oauth.rb +32 -0
- data/lib/slack/web/api/endpoints/pins.rb +64 -0
- data/lib/slack/web/api/endpoints/presence.rb +23 -0
- data/lib/slack/web/api/endpoints/reactions.rb +89 -0
- data/lib/slack/web/api/endpoints/rtm.rb +27 -0
- data/lib/slack/web/api/endpoints/search.rb +65 -0
- data/lib/slack/web/api/endpoints/stars.rb +61 -0
- data/lib/slack/web/api/endpoints/team.rb +47 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +113 -0
- data/lib/slack/web/api/endpoints/users.rb +73 -0
- data/lib/slack/web/api/error.rb +14 -0
- data/lib/slack/web/api/mixins.rb +3 -0
- data/lib/slack/web/api/mixins/channels.id.json +20 -0
- data/lib/slack/web/api/mixins/channels.id.rb +26 -0
- data/lib/slack/web/api/mixins/groups.id.json +20 -0
- data/lib/slack/web/api/mixins/groups.id.rb +26 -0
- data/lib/slack/web/api/mixins/users.id.json +20 -0
- data/lib/slack/web/api/mixins/users.id.rb +26 -0
- data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +13 -0
- data/lib/slack/web/api/patches/chat.2.attachments-json.patch +17 -0
- data/lib/slack/web/api/schema/group.json +14 -0
- data/lib/slack/web/api/schema/method.json +45 -0
- data/lib/slack/web/api/tasks/generate.rake +61 -0
- data/lib/slack/web/api/templates/command.erb +34 -0
- data/lib/slack/web/api/templates/commands.erb +5 -0
- data/lib/slack/web/api/templates/endpoints.erb +21 -0
- data/lib/slack/web/api/templates/method.erb +49 -0
- data/lib/slack/web/client.rb +28 -0
- data/lib/slack/web/config.rb +41 -0
- data/lib/slack/web/faraday/connection.rb +29 -0
- data/lib/slack/web/faraday/request.rb +39 -0
- data/lib/slack/web/faraday/response/raise_error.rb +15 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/screenshots/register-bot.png +0 -0
- data/slack-ruby-client.gemspec +31 -0
- data/slack.png +0 -0
- data/spec/fixtures/slack/web/429_error.yml +83 -0
- data/spec/fixtures/slack/web/auth_test_error.yml +48 -0
- data/spec/fixtures/slack/web/auth_test_success.yml +57 -0
- data/spec/fixtures/slack/web/channels_info.yml +46 -0
- data/spec/fixtures/slack/web/groups_info.yml +43 -0
- data/spec/fixtures/slack/web/rtm_start.yml +73 -0
- data/spec/fixtures/slack/web/users_info.yml +130 -0
- data/spec/fixtures/slack/web/users_list.yml +72 -0
- data/spec/integration/integration_spec.rb +107 -0
- data/spec/slack/config_spec.rb +14 -0
- data/spec/slack/messages/formatting_spec.rb +43 -0
- data/spec/slack/real_time/api/message_spec.rb +15 -0
- data/spec/slack/real_time/api/ping_spec.rb +15 -0
- data/spec/slack/real_time/api/typing_spec.rb +15 -0
- data/spec/slack/real_time/client_spec.rb +198 -0
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +58 -0
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +49 -0
- data/spec/slack/slack_spec.rb +58 -0
- data/spec/slack/version_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/auth_spec.rb +20 -0
- data/spec/slack/web/api/endpoints/channels_spec.rb +11 -0
- data/spec/slack/web/api/endpoints/chat_spec.rb +33 -0
- data/spec/slack/web/api/endpoints/groups_spec.rb +11 -0
- data/spec/slack/web/api/endpoints/users_spec.rb +17 -0
- data/spec/slack/web/api/error_spec.rb +14 -0
- data/spec/slack/web/api/mixins/channels_spec.rb +31 -0
- data/spec/slack/web/api/mixins/groups_spec.rb +31 -0
- data/spec/slack/web/api/mixins/users_spec.rb +31 -0
- data/spec/slack/web/client_spec.rb +134 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/support/queue_with_timeout.rb +34 -0
- data/spec/support/real_time/concurrency/mock.rb +31 -0
- data/spec/support/real_time/connected_client.rb +16 -0
- data/spec/support/token.rb +10 -0
- data/spec/support/vcr.rb +8 -0
- metadata +392 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# This file was auto-generated by lib/slack/web/api/tasks/generate.rake
|
|
2
|
+
|
|
3
|
+
module Slack
|
|
4
|
+
module Web
|
|
5
|
+
module Api
|
|
6
|
+
module Endpoints
|
|
7
|
+
module Mpim
|
|
8
|
+
#
|
|
9
|
+
# This method closes a multiparty direct message channel.
|
|
10
|
+
#
|
|
11
|
+
# @option options [channel] :channel
|
|
12
|
+
# MPIM to close.
|
|
13
|
+
# @see https://api.slack.com/methods/mpim.close
|
|
14
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/mpim.close.json
|
|
15
|
+
def mpim_close(options = {})
|
|
16
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
17
|
+
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
18
|
+
post('mpim.close', options)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
#
|
|
22
|
+
# This method returns a portion of messages/events from the specified multiparty direct message channel.
|
|
23
|
+
# To read the entire history for a multiparty direct message, call the method with no latest or
|
|
24
|
+
# oldest arguments, and then continue paging using the instructions below.
|
|
25
|
+
#
|
|
26
|
+
# @option options [channel] :channel
|
|
27
|
+
# Multiparty direct message to fetch history for.
|
|
28
|
+
# @option options [timestamp] :latest
|
|
29
|
+
# End of time range of messages to include in results.
|
|
30
|
+
# @option options [timestamp] :oldest
|
|
31
|
+
# Start of time range of messages to include in results.
|
|
32
|
+
# @option options [Object] :inclusive
|
|
33
|
+
# Include messages with latest or oldest timestamp in results.
|
|
34
|
+
# @option options [Object] :unreads
|
|
35
|
+
# Include unread_count_display in the output?.
|
|
36
|
+
# @see https://api.slack.com/methods/mpim.history
|
|
37
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/mpim.history.json
|
|
38
|
+
def mpim_history(options = {})
|
|
39
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
40
|
+
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
41
|
+
post('mpim.history', options)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
#
|
|
45
|
+
# This method returns a list of all multiparty direct message channels that the user has.
|
|
46
|
+
#
|
|
47
|
+
# @see https://api.slack.com/methods/mpim.list
|
|
48
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/mpim.list.json
|
|
49
|
+
def mpim_list(options = {})
|
|
50
|
+
post('mpim.list', options)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
#
|
|
54
|
+
# This method moves the read cursor in a multiparty direct message channel.
|
|
55
|
+
#
|
|
56
|
+
# @option options [channel] :channel
|
|
57
|
+
# multiparty direct message channel to set reading cursor in.
|
|
58
|
+
# @option options [timestamp] :ts
|
|
59
|
+
# Timestamp of the most recently seen message.
|
|
60
|
+
# @see https://api.slack.com/methods/mpim.mark
|
|
61
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/mpim.mark.json
|
|
62
|
+
def mpim_mark(options = {})
|
|
63
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
64
|
+
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
|
65
|
+
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
66
|
+
post('mpim.mark', options)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
#
|
|
70
|
+
# This method opens a multiparty direct message.
|
|
71
|
+
#
|
|
72
|
+
# @option options [Object] :users
|
|
73
|
+
# Comma separated lists of users. The ordering of the users is preserved whenever a MPIM group is returned.
|
|
74
|
+
# @see https://api.slack.com/methods/mpim.open
|
|
75
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/mpim.open.json
|
|
76
|
+
def mpim_open(options = {})
|
|
77
|
+
throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
|
|
78
|
+
post('mpim.open', options)
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# This file was auto-generated by lib/slack/web/api/tasks/generate.rake
|
|
2
|
+
|
|
3
|
+
module Slack
|
|
4
|
+
module Web
|
|
5
|
+
module Api
|
|
6
|
+
module Endpoints
|
|
7
|
+
module Oauth
|
|
8
|
+
#
|
|
9
|
+
# This method allows you to exchange a temporary OAuth code for an API access token.
|
|
10
|
+
# This is used as part of the OAuth authentication flow.
|
|
11
|
+
#
|
|
12
|
+
# @option options [Object] :client_id
|
|
13
|
+
# Issued when you created your application.
|
|
14
|
+
# @option options [Object] :client_secret
|
|
15
|
+
# Issued when you created your application.
|
|
16
|
+
# @option options [Object] :code
|
|
17
|
+
# The code param returned via the OAuth callback.
|
|
18
|
+
# @option options [Object] :redirect_uri
|
|
19
|
+
# This must match the originally submitted URI (if one was sent).
|
|
20
|
+
# @see https://api.slack.com/methods/oauth.access
|
|
21
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/oauth.access.json
|
|
22
|
+
def oauth_access(options = {})
|
|
23
|
+
throw ArgumentError.new('Required arguments :client_id missing') if options[:client_id].nil?
|
|
24
|
+
throw ArgumentError.new('Required arguments :client_secret missing') if options[:client_secret].nil?
|
|
25
|
+
throw ArgumentError.new('Required arguments :code missing') if options[:code].nil?
|
|
26
|
+
post('oauth.access', options)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# This file was auto-generated by lib/slack/web/api/tasks/generate.rake
|
|
2
|
+
|
|
3
|
+
module Slack
|
|
4
|
+
module Web
|
|
5
|
+
module Api
|
|
6
|
+
module Endpoints
|
|
7
|
+
module Pins
|
|
8
|
+
#
|
|
9
|
+
# This method pins an item (file, file comment, channel message, or group message) to a particular channel.
|
|
10
|
+
# The channel argument is required and one of file, file_comment, or timestamp must also be specified.
|
|
11
|
+
#
|
|
12
|
+
# @option options [channel] :channel
|
|
13
|
+
# Channel to pin the item in.
|
|
14
|
+
# @option options [file] :file
|
|
15
|
+
# File to pin.
|
|
16
|
+
# @option options [Object] :file_comment
|
|
17
|
+
# File comment to pin.
|
|
18
|
+
# @option options [Object] :timestamp
|
|
19
|
+
# Timestamp of the message to pin.
|
|
20
|
+
# @see https://api.slack.com/methods/pins.add
|
|
21
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/pins.add.json
|
|
22
|
+
def pins_add(options = {})
|
|
23
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
24
|
+
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
25
|
+
post('pins.add', options)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
#
|
|
29
|
+
# This method lists the items pinned to a channel.
|
|
30
|
+
#
|
|
31
|
+
# @option options [channel] :channel
|
|
32
|
+
# Channel to get pinned items for.
|
|
33
|
+
# @see https://api.slack.com/methods/pins.list
|
|
34
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/pins.list.json
|
|
35
|
+
def pins_list(options = {})
|
|
36
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
37
|
+
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
38
|
+
post('pins.list', options)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
#
|
|
42
|
+
# This method un-pins an item (file, file comment, channel message, or group message) from a channel.
|
|
43
|
+
# The channel argument is required and one of file, file_comment, or timestamp must also be specified.
|
|
44
|
+
#
|
|
45
|
+
# @option options [channel] :channel
|
|
46
|
+
# Channel where the item is pinned to.
|
|
47
|
+
# @option options [file] :file
|
|
48
|
+
# File to un-pin.
|
|
49
|
+
# @option options [Object] :file_comment
|
|
50
|
+
# File comment to un-pin.
|
|
51
|
+
# @option options [Object] :timestamp
|
|
52
|
+
# Timestamp of the message to un-pin.
|
|
53
|
+
# @see https://api.slack.com/methods/pins.remove
|
|
54
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/pins.remove.json
|
|
55
|
+
def pins_remove(options = {})
|
|
56
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
57
|
+
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
58
|
+
post('pins.remove', options)
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# This file was auto-generated by lib/slack/web/api/tasks/generate.rake
|
|
2
|
+
|
|
3
|
+
module Slack
|
|
4
|
+
module Web
|
|
5
|
+
module Api
|
|
6
|
+
module Endpoints
|
|
7
|
+
module Presence
|
|
8
|
+
#
|
|
9
|
+
# Manually set user presence.
|
|
10
|
+
#
|
|
11
|
+
# @option options [Object] :presence
|
|
12
|
+
# Either `active` or `away`.
|
|
13
|
+
# @see https://api.slack.com/methods/presence.set
|
|
14
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/presence.set.json
|
|
15
|
+
def presence_set(options = {})
|
|
16
|
+
throw ArgumentError.new('Required arguments :presence missing') if options[:presence].nil?
|
|
17
|
+
post('presence.set', options)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# This file was auto-generated by lib/slack/web/api/tasks/generate.rake
|
|
2
|
+
|
|
3
|
+
module Slack
|
|
4
|
+
module Web
|
|
5
|
+
module Api
|
|
6
|
+
module Endpoints
|
|
7
|
+
module Reactions
|
|
8
|
+
#
|
|
9
|
+
# This method adds a reaction (emoji) to an item (file, file comment, channel message, group message, or direct message).
|
|
10
|
+
# One of file, file_comment, or the combination of channel and timestamp must be specified.
|
|
11
|
+
#
|
|
12
|
+
# @option options [Object] :name
|
|
13
|
+
# Reaction (emoji) name.
|
|
14
|
+
# @option options [file] :file
|
|
15
|
+
# File to add reaction to.
|
|
16
|
+
# @option options [Object] :file_comment
|
|
17
|
+
# File comment to add reaction to.
|
|
18
|
+
# @option options [channel] :channel
|
|
19
|
+
# Channel where the message to add reaction to was posted.
|
|
20
|
+
# @option options [Object] :timestamp
|
|
21
|
+
# Timestamp of the message to add reaction to.
|
|
22
|
+
# @see https://api.slack.com/methods/reactions.add
|
|
23
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/reactions.add.json
|
|
24
|
+
def reactions_add(options = {})
|
|
25
|
+
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
|
26
|
+
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
27
|
+
post('reactions.add', options)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
#
|
|
31
|
+
# This method returns a list of all reactions for a single item (file, file comment, channel message, group message, or direct message).
|
|
32
|
+
#
|
|
33
|
+
# @option options [file] :file
|
|
34
|
+
# File to get reactions for.
|
|
35
|
+
# @option options [Object] :file_comment
|
|
36
|
+
# File comment to get reactions for.
|
|
37
|
+
# @option options [channel] :channel
|
|
38
|
+
# Channel where the message to get reactions for was posted.
|
|
39
|
+
# @option options [Object] :timestamp
|
|
40
|
+
# Timestamp of the message to get reactions for.
|
|
41
|
+
# @option options [Object] :full
|
|
42
|
+
# If true always return the complete reaction list.
|
|
43
|
+
# @see https://api.slack.com/methods/reactions.get
|
|
44
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/reactions.get.json
|
|
45
|
+
def reactions_get(options = {})
|
|
46
|
+
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
47
|
+
post('reactions.get', options)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
#
|
|
51
|
+
# This method returns a list of all items (file, file comment, channel message, group message, or direct message) reacted to by a user.
|
|
52
|
+
#
|
|
53
|
+
# @option options [user] :user
|
|
54
|
+
# Show reactions made by this user. Defaults to the authed user.
|
|
55
|
+
# @option options [Object] :full
|
|
56
|
+
# If true always return the complete reaction list.
|
|
57
|
+
# @see https://api.slack.com/methods/reactions.list
|
|
58
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/reactions.list.json
|
|
59
|
+
def reactions_list(options = {})
|
|
60
|
+
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
61
|
+
post('reactions.list', options)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
#
|
|
65
|
+
# This method removes a reaction (emoji) from an item (file, file comment, channel message, group message, or direct message).
|
|
66
|
+
# One of file, file_comment, or the combination of channel and timestamp must be specified.
|
|
67
|
+
#
|
|
68
|
+
# @option options [Object] :name
|
|
69
|
+
# Reaction (emoji) name.
|
|
70
|
+
# @option options [file] :file
|
|
71
|
+
# File to remove reaction from.
|
|
72
|
+
# @option options [Object] :file_comment
|
|
73
|
+
# File comment to remove reaction from.
|
|
74
|
+
# @option options [channel] :channel
|
|
75
|
+
# Channel where the message to remove reaction from was posted.
|
|
76
|
+
# @option options [Object] :timestamp
|
|
77
|
+
# Timestamp of the message to remove reaction from.
|
|
78
|
+
# @see https://api.slack.com/methods/reactions.remove
|
|
79
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/reactions.remove.json
|
|
80
|
+
def reactions_remove(options = {})
|
|
81
|
+
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
|
82
|
+
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
83
|
+
post('reactions.remove', options)
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# This file was auto-generated by lib/slack/web/api/tasks/generate.rake
|
|
2
|
+
|
|
3
|
+
module Slack
|
|
4
|
+
module Web
|
|
5
|
+
module Api
|
|
6
|
+
module Endpoints
|
|
7
|
+
module Rtm
|
|
8
|
+
#
|
|
9
|
+
# This method starts a Real Time Messaging API session. Refer to the
|
|
10
|
+
# RTM API documentation for full details on how to use the RTM API.
|
|
11
|
+
#
|
|
12
|
+
# @option options [Object] :simple_latest
|
|
13
|
+
# Return timestamp only for latest message object of each channel (improves performance).
|
|
14
|
+
# @option options [Object] :no_unreads
|
|
15
|
+
# Skip unread counts for each channel (improves performance).
|
|
16
|
+
# @option options [Object] :mpim_aware
|
|
17
|
+
# Returns MPIMs to the client in the API response.
|
|
18
|
+
# @see https://api.slack.com/methods/rtm.start
|
|
19
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/rtm.start.json
|
|
20
|
+
def rtm_start(options = {})
|
|
21
|
+
post('rtm.start', options)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# This file was auto-generated by lib/slack/web/api/tasks/generate.rake
|
|
2
|
+
|
|
3
|
+
module Slack
|
|
4
|
+
module Web
|
|
5
|
+
module Api
|
|
6
|
+
module Endpoints
|
|
7
|
+
module Search
|
|
8
|
+
#
|
|
9
|
+
# This method allows to to search both messages and files in a single call.
|
|
10
|
+
#
|
|
11
|
+
# @option options [Object] :query
|
|
12
|
+
# Search query. May contains booleans, etc.
|
|
13
|
+
# @option options [Object] :sort
|
|
14
|
+
# Return matches sorted by either score or timestamp.
|
|
15
|
+
# @option options [Object] :sort_dir
|
|
16
|
+
# Change sort direction to ascending (asc) or descending (desc).
|
|
17
|
+
# @option options [Object] :highlight
|
|
18
|
+
# Pass a value of 1 to enable query highlight markers (see below).
|
|
19
|
+
# @see https://api.slack.com/methods/search.all
|
|
20
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/search.all.json
|
|
21
|
+
def search_all(options = {})
|
|
22
|
+
throw ArgumentError.new('Required arguments :query missing') if options[:query].nil?
|
|
23
|
+
post('search.all', options)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
#
|
|
27
|
+
# This method returns files matching a search query.
|
|
28
|
+
#
|
|
29
|
+
# @option options [Object] :query
|
|
30
|
+
# Search query. May contain booleans, etc.
|
|
31
|
+
# @option options [Object] :sort
|
|
32
|
+
# Return matches sorted by either score or timestamp.
|
|
33
|
+
# @option options [Object] :sort_dir
|
|
34
|
+
# Change sort direction to ascending (asc) or descending (desc).
|
|
35
|
+
# @option options [Object] :highlight
|
|
36
|
+
# Pass a value of 1 to enable query highlight markers (see below).
|
|
37
|
+
# @see https://api.slack.com/methods/search.files
|
|
38
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/search.files.json
|
|
39
|
+
def search_files(options = {})
|
|
40
|
+
throw ArgumentError.new('Required arguments :query missing') if options[:query].nil?
|
|
41
|
+
post('search.files', options)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
#
|
|
45
|
+
# This method returns messages matching a search query.
|
|
46
|
+
#
|
|
47
|
+
# @option options [Object] :query
|
|
48
|
+
# Search query. May contains booleans, etc.
|
|
49
|
+
# @option options [Object] :sort
|
|
50
|
+
# Return matches sorted by either score or timestamp.
|
|
51
|
+
# @option options [Object] :sort_dir
|
|
52
|
+
# Change sort direction to ascending (asc) or descending (desc).
|
|
53
|
+
# @option options [Object] :highlight
|
|
54
|
+
# Pass a value of 1 to enable query highlight markers (see below).
|
|
55
|
+
# @see https://api.slack.com/methods/search.messages
|
|
56
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/search.messages.json
|
|
57
|
+
def search_messages(options = {})
|
|
58
|
+
throw ArgumentError.new('Required arguments :query missing') if options[:query].nil?
|
|
59
|
+
post('search.messages', options)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# This file was auto-generated by lib/slack/web/api/tasks/generate.rake
|
|
2
|
+
|
|
3
|
+
module Slack
|
|
4
|
+
module Web
|
|
5
|
+
module Api
|
|
6
|
+
module Endpoints
|
|
7
|
+
module Stars
|
|
8
|
+
#
|
|
9
|
+
# This method adds a star to an item (message, file, file comment, channel, private group, or DM) on behalf of the authenticated user.
|
|
10
|
+
# One of file, file_comment, channel, or the combination of channel and timestamp must be specified.
|
|
11
|
+
#
|
|
12
|
+
# @option options [file] :file
|
|
13
|
+
# File to add star to.
|
|
14
|
+
# @option options [Object] :file_comment
|
|
15
|
+
# File comment to add star to.
|
|
16
|
+
# @option options [channel] :channel
|
|
17
|
+
# Channel to add star to, or channel where the message to add star to was posted (used with timestamp).
|
|
18
|
+
# @option options [Object] :timestamp
|
|
19
|
+
# Timestamp of the message to add star to.
|
|
20
|
+
# @see https://api.slack.com/methods/stars.add
|
|
21
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/stars.add.json
|
|
22
|
+
def stars_add(options = {})
|
|
23
|
+
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
24
|
+
post('stars.add', options)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
#
|
|
28
|
+
# This method lists the items starred by a user.
|
|
29
|
+
#
|
|
30
|
+
# @option options [user] :user
|
|
31
|
+
# Show stars by this user. Defaults to the authed user.
|
|
32
|
+
# @see https://api.slack.com/methods/stars.list
|
|
33
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/stars.list.json
|
|
34
|
+
def stars_list(options = {})
|
|
35
|
+
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
36
|
+
post('stars.list', options)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
#
|
|
40
|
+
# This method removes a star from an item (message, file, file comment, channel, private group, or DM) on behalf of the authenticated user.
|
|
41
|
+
# One of file, file_comment, channel, or the combination of channel and timestamp must be specified.
|
|
42
|
+
#
|
|
43
|
+
# @option options [file] :file
|
|
44
|
+
# File to remove star from.
|
|
45
|
+
# @option options [Object] :file_comment
|
|
46
|
+
# File comment to remove star from.
|
|
47
|
+
# @option options [channel] :channel
|
|
48
|
+
# Channel to remove star from, or channel where the message to remove star from was posted (used with timestamp).
|
|
49
|
+
# @option options [Object] :timestamp
|
|
50
|
+
# Timestamp of the message to remove star from.
|
|
51
|
+
# @see https://api.slack.com/methods/stars.remove
|
|
52
|
+
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/stars.remove.json
|
|
53
|
+
def stars_remove(options = {})
|
|
54
|
+
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
55
|
+
post('stars.remove', options)
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|