diff --git a/.gitignore b/.gitignore index 8d6a243f..b78e0506 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,7 @@ /tmp/ # Used by dotenv library to load environment variables. -# .env +.env ## Specific to RubyMotion: .dat* diff --git a/lib/IMG_9240 copy.jpeg b/lib/IMG_9240 copy.jpeg new file mode 100644 index 00000000..4e97ee76 Binary files /dev/null and b/lib/IMG_9240 copy.jpeg differ diff --git a/lib/channel.rb b/lib/channel.rb new file mode 100644 index 00000000..ae460afb --- /dev/null +++ b/lib/channel.rb @@ -0,0 +1,73 @@ +require_relative 'lib_helper.rb' +require_relative 'recipient' + +class Channel < Recipient + attr_reader :topic, :member_count + + def initialize(id:, name:, topic:, member_count:) + super(id: id, name: name) + @topic = topic + @member_count = member_count + end + + def details + return {id: id, name: name, topic: topic , member_count: member_count} + end + + + def self.get + url = "https://slack.com/api/conversations.list" + params = { token: KEY } + response = super(url, params) + # sleep(0.25) + return response + end + + def self.get_ids + response = (self.get)["channels"] + all_channel_ids = response.map do |channel_info| + channel_info["id"] + end + return all_channel_ids + end + + def self.get_names + response = (self.get)["channels"] + all_channel_names = response.map do |channel_info| + channel_info["name"] + end + return all_channel_names + end + + def self.get_topics + response = (self.get)["channels"] + all_topics = response.map do |channel_info| + channel_info["topic"]["value"] + end + return all_topics + end + + def self.get_member_counts + response = (self.get)["channels"] + member_counts = response.map do |channel_info| + channel_info["num_members"] + end + return member_counts + end + + def self.load_all + names = self.get_names + ids = self.get_ids + member_counts = self.get_member_counts + topics = self.get_topics + all_channels = [] + + ids.length.times do |index| + new_channel = Channel.new(name: names[index], id: ids[index], member_count:member_counts[index], topic:topics[index]) + all_channels << new_channel + end + + return all_channels + end + +end \ No newline at end of file diff --git a/lib/lib_helper.rb b/lib/lib_helper.rb new file mode 100644 index 00000000..68536e0d --- /dev/null +++ b/lib/lib_helper.rb @@ -0,0 +1,10 @@ +require 'httparty' +require 'awesome_print' +require 'dotenv' +require 'terminal-table' + + +Dotenv.load + + +KEY = ENV["SLACK_KEY"] diff --git a/lib/recipient.rb b/lib/recipient.rb new file mode 100644 index 00000000..45a56d87 --- /dev/null +++ b/lib/recipient.rb @@ -0,0 +1,30 @@ +require_relative 'lib_helper.rb' + +class Recipient + + attr_reader :id, :name + + def initialize(id:, name:) + @id = id + @name = name + end + + def self.get(url, params) + response = HTTParty.get(url, query: params) + + if response["ok"] == true + return response + else + raise SlackAPIError, "API request failed!" + end + end + + def details + raise NotImplementedError, "Do this either User or Channel" + end + + def self.load_all + raise NotImplementedError, "Do this either User or Channel" + end + +end \ No newline at end of file diff --git a/lib/slack.rb b/lib/slack.rb index 960cf2f7..6f7d3307 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,11 +1,42 @@ #!/usr/bin/env ruby +require 'awesome_print' +require 'httparty' +require 'dotenv' +Dotenv.load -def main - puts "Welcome to the Ada Slack CLI!" +require_relative 'lib_helper.rb' +require_relative 'recipient.rb' +require_relative 'user.rb' +require_relative 'channel.rb' +require_relative 'slackapierror.rb' +require_relative 'workspace.rb' - # TODO project - puts "Thank you for using the Ada Slack CLI" +def main + puts "\nWelcome to the Ada Slack CLI!\n\n" + ws1 = Workspace.new + + choices_hash = ws1.menu_choices_hash + main_menu = ws1.main_menu(headings: ["", "MAIN MENU"], rows_as_hash: choices_hash) + + quit_program = false + while quit_program == false + puts + puts main_menu + print "Please select from main menu: " + choice = gets.chomp() + + result = ws1.menu_action(choice) + + if result + if (result.class == User) || (result.class == Channel) + ws1.entity = result + end + end + + puts "Press any key to get back to menu" + gets + end end main if __FILE__ == $PROGRAM_NAME \ No newline at end of file diff --git a/lib/slack_playing.rb b/lib/slack_playing.rb new file mode 100644 index 00000000..9fc7b152 --- /dev/null +++ b/lib/slack_playing.rb @@ -0,0 +1,47 @@ +#!/usr/bin/env ruby +require 'awesome_print' +require 'httparty' +require 'dotenv' +Dotenv.load +# will raise error if key not found +Dotenv.require_keys("SLACK_KEY") +puts ENV["SLACK_KEY"] + +# THESE ARE THE 3 THINGS WE'RE ALLOWED TO DO ON THIS API +# chat:write:bot +# channels:read +# users:read + +def main + puts "\nWelcome to the Ada Slack CLI!\n\n" + + url = "https://slack.com/api/channels.list" + query_params = { token: ENV["SLACK_KEY"] } + response = HTTParty.get(url, query: query_params) + ap response + puts + url = "https://slack.com/api/users.list" + query_params = { token: ENV["SLACK_KEY"] } + response = HTTParty.get(url, query: query_params) + ap response + puts + # url = "https://slack.com/api/chat.postMessage" + # query_params = { token: ENV["SLACK_KEY"], channel: "CN5R2SQ8L", text: "CHECK THIS OUT!!!"} + # response = HTTParty.get(url, query: query_params) + # # ap response + # puts + + + url = "https://slack.com/api/chat.postEphemeral" + query_params = { token: ENV["SLACK_KEY"], channel: "CN5R2SQ8L", text: "HI!!", user: "UN69JD3V3"} + response = HTTParty.get(url, query: query_params) + ap response + puts + + + + + puts "\nThank you for using the Ada Slack CLI\n\n" +end + +main if __FILE__ == $PROGRAM_NAME \ No newline at end of file diff --git a/lib/slackapierror.rb b/lib/slackapierror.rb new file mode 100644 index 00000000..6bcc54da --- /dev/null +++ b/lib/slackapierror.rb @@ -0,0 +1,4 @@ +require_relative 'lib_helper.rb' + +class SlackAPIError < StandardError +end \ No newline at end of file diff --git a/lib/user.rb b/lib/user.rb new file mode 100644 index 00000000..92543f2f --- /dev/null +++ b/lib/user.rb @@ -0,0 +1,63 @@ +require_relative 'lib_helper.rb' +require_relative 'recipient' + +class User < Recipient + attr_reader :real_name + + def initialize(id:, name:, real_name:) + super(id: id, name: name) + @real_name = real_name + end + + def details + return {id: id, name: name, real_name: real_name} + end + + def self.get + url = "https://slack.com/api/users.list" + params = { token: KEY } + response = super(url, params) + # sleep(0.25) + return response + end + + def self.get_real_names + response = (self.get)["members"] + all_real_names = response.map do |member_info| + member_info["real_name"] + end + return all_real_names + end + + def self.get_names + response = (self.get)["members"] + all_names = response.map do |member_info| + member_info["name"] + end + return all_names + end + + def self.get_ids + response = (self.get)["members"] + all_ids = response.map do |member_info| + member_info["id"] + end + return all_ids + end + + def self.load_all + real_names = self.get_real_names + names = self.get_names + ids = self.get_ids + all_users = [] + + ids.length.times do |index| + new_user = User.new(id: ids[index], name: names[index], real_name: real_names[index]) + all_users << new_user + end + + return all_users + end + + +end \ No newline at end of file diff --git a/lib/workspace.rb b/lib/workspace.rb new file mode 100644 index 00000000..b6a3ae32 --- /dev/null +++ b/lib/workspace.rb @@ -0,0 +1,206 @@ +require_relative 'lib_helper.rb' +require_relative 'user.rb' +require_relative 'recipient.rb' + +class Workspace + + attr_reader :all_users, :all_channels + attr_accessor :entity + + def initialize() + # load all User instances + @all_users = User.load_all + + # make all Channel instances + @all_channels = Channel.load_all + + # default entity (user or channel) selection to nil + @entity = nil + end + + def menu_choices_hash + choices = { A: "LIST USERS", B: "LIST CHANNELS", C: "SEND MESSAGE", D: "SELECT USER", E: "SELECT CHANNEL", F: "DETAILS", Q: "QUIT" } + return choices + end + + def main_menu(headings: , rows_as_hash: ) + # arg headings: ["head1", "head2", etc] + # arg choices_hash: { ROW1: "Example R1", ROW: "Example R2", etc } + rows = [] + rows_as_hash.each do |key, value| + row = [key, value] + rows << row + end + + table = Terminal::Table.new(headings: headings, rows: rows ) + return table + end + + def get_all_users_details + all_users_details = [] + @all_users.each do |user_obj| + details = user_obj.details + all_users_details << details + end + return all_users_details + end + + def get_all_channels_details + all_channels_details = [] + @all_channels.each do |channel_obj| + details = channel_obj.details + all_channels_details << details + end + return all_channels_details + end + + def select_user(input) + input = input.upcase + + @all_users.each do |user| + if (input == user.id) || (input == user.name.upcase) + return user + end + end + raise ArgumentError.new("Inputed user doesn't exist") + + end + + def select_channel(input) + input = input.upcase + + @all_channels.each do |channel| + if (input == channel.id) || (input == channel.name.upcase) + return channel + end + end + raise ArgumentError.new("Inputed channel doesn't exist") + + end + + def show_all_recipients(array_of_recipient_objs:, enumerate:true) + if enumerate + headings = [""] + else + headings = [] + end + all_keys = array_of_recipient_objs[0].details.keys + all_keys.each do |key| + headings << key.to_s.upcase + end + + rows_in_array = [] + count = 0 + array_of_recipient_objs.each do |recipient_obj| + if enumerate + row = ["#{(count+65).chr}"] + else + row = [] + end + details = recipient_obj.details + details.each do |key, value| + row << value + end + + rows_in_array << row + count += 1 + end + + return Terminal::Table.new(headings: headings , rows: rows_in_array) + end + + def send_message + url = "https://slack.com/api/chat.postEphemeral" + begin + msg_recipient = get_msg_recipient + rescue => exception + puts exception.message + return false + end + + text = get_text + query_params = { token: ENV["SLACK_KEY"], channel: "CN69B7XMW", text: text, user: msg_recipient.id} + response = HTTParty.get(url, query: query_params) + + if response["ok"] == true + return response + else + raise SlackAPIError, "API request failed" + end + end + + def get_msg_recipient + # use if entity , else send back to main menu + if entity + return entity + else + raise SlackAPIError, "You must select a recipient user via Main Menu" + end + end + + def get_text + print "What is your message?\n>>> " + text = gets.chomp + return text + end + + def menu_action(choice) + choice = choice.upcase + + case choice + when "A", "LIST USERS" + puts show_all_recipients(array_of_recipient_objs: all_users) + + when "B", "LIST CHANNELS" + puts show_all_recipients(array_of_recipient_objs: all_channels) + + when "C", "SEND MESSAGE" + puts "SENDING MESSAGE" + send_message + + when "D", "SELECT USER" + print "Please enter a user's name or id: " + input = gets.chomp + begin + user = select_user(input) + puts "SUCCESS: User = #{user.name}" + return user + rescue => exception + puts exception.message + return false + end + + when "E", "SELECT CHANNEL" + print "Please enter a channel's name or id: " + input = gets.chomp + begin + channel = select_channel(input) + puts "SUCCESS: Channel = #{channel.name}" + return channel + rescue => exception + puts exception.message + return false + end + + when "F", "DETAILS" + puts "SHOWING DETAILS" + + begin + unless (entity.class == User) || (entity.class == Channel) + raise ArgumentError.new("No user or channel selected") + end + puts show_all_recipients(array_of_recipient_objs:[@entity], enumerate: false) + rescue => exception + puts exception.message + end + + when "Q", "QUIT" + puts "\nThank you for using the Ada Slack CLI\n\n" + exit + else + puts "INVALID INPUT, TRY AGAIN" + return false + end + return true + end +end \ No newline at end of file diff --git a/test/cassettes/.DS_Store b/test/cassettes/.DS_Store new file mode 100644 index 00000000..8654ff7a Binary files /dev/null and b/test/cassettes/.DS_Store differ diff --git a/test/cassettes/CT9.yml b/test/cassettes/CT9.yml new file mode 100644 index 00000000..95cc6115 --- /dev/null +++ b/test/cassettes/CT9.yml @@ -0,0 +1,315 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:20:39 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - fd150704-5772-420d-bc7d-052f8c63d303 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-lyqo + X-Cache: + - Miss from cloudfront + Via: + - 1.1 caf6806821bc479b28a6f1ce3043b8a6.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - Jq8uW876k64QJJnDvxa66LAE0jqh-OeADtu4CyXMTKYfmSYAq7Fihw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:20:39 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:20:43 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 44a584b8-3a58-41d1-a607-7f9aa8aa246f + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-sjev + X-Cache: + - Miss from cloudfront + Via: + - 1.1 4c7c693b007dfce603c83f138e31bccb.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - U7w5NK9Mc3_iFvA5tXQWU5ASRW9MABKyh-d2TrZxAWFsds-TP-97DQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:20:43 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:20:45 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - c1d42c12-3b2b-493f-9c54-b78af1975268 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-rsdr + X-Cache: + - Miss from cloudfront + Via: + - 1.1 324a68a6c25ee50d774953f3e15a611d.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - EAFW2KhRS03hqR855QnBzBHtlRSVKyJkg14ym-CWQVz7u-orZjgZbg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:20:45 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:20:46 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 997e81f5-6205-43b8-b1cd-12e94da36000 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-fc14 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 1b74ccf4cb51eacf97a0e6d60ae46a3f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - U8hBllsaJ0a-ch5f5aGHI12yhXUjkJDAMwk4-ylUJ6QF3h2UT0hFgQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:20:46 GMT +recorded_with: VCR 5.0.0 diff --git a/test/cassettes/RT1.yml b/test/cassettes/RT1.yml new file mode 100644 index 00000000..2ffaf84c --- /dev/null +++ b/test/cassettes/RT1.yml @@ -0,0 +1,142 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:33 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 8e26976a-7712-49ad-ba65-35c2bf33f039 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-shlo + X-Cache: + - Miss from cloudfront + Via: + - 1.1 559326ad73233233a9e52cb9e8601ede.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - mEQmVR5bRulb-oDwm0-z-SQzaiW8bGhQsnpnls5LQb276ToarXkzTA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:33 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token=fake + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '55' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:35 GMT + Server: + - Apache + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 0ca4779d-ea4f-409a-bb6c-fdacdf563410 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-dqjh + X-Cache: + - Miss from cloudfront + Via: + - 1.1 0732be5515ffeda639cfe5f22fb04df6.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - lM7IpPVe-hYyxvGBA_9miqibMzCf9r2VolF4VOmJCTMGCwZ_pG3fkA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"invalid_auth"}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:35 GMT +recorded_with: VCR 5.0.0 diff --git a/test/cassettes/UT1.yml b/test/cassettes/UT1.yml new file mode 100644 index 00000000..4587fb18 --- /dev/null +++ b/test/cassettes/UT1.yml @@ -0,0 +1,231 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '920' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:21:11 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - '058ee835-79f6-4e60-834a-448125febf5e' + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-zrg4 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 559326ad73233233a9e52cb9e8601ede.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - j0aGzeZyQ5BN9_JMhCTD6kVd8weZX7kCT_uqRopTUixMndFREqUZBw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420471,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:21:11 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '920' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:21:12 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - bf58a44f-23b2-4e97-8e2e-ca6a9331413d + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-odun + X-Cache: + - Miss from cloudfront + Via: + - 1.1 7022a5bbf9872d4a09d63e6cdb457dfe.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - XMTX3hgzEXmzZwM7BQrLvtccz0Bxz1BceDkMrMVjbV08WviDFih1vQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420472,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:21:12 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '922' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:21:13 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - cf0c390c-9551-4435-b13d-e2ec5739ee6c + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-d7ix + X-Cache: + - Miss from cloudfront + Via: + - 1.1 112d82578d402a38d8d02e8b857617e1.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - SrwBr3roTd4wgNcx54MVrKuGawTwq0CGoOeOqhFhbkFsmNIemOarRQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420473,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:21:13 GMT +recorded_with: VCR 5.0.0 diff --git a/test/cassettes/UT2.yml b/test/cassettes/UT2.yml new file mode 100644 index 00000000..a7b7ebbb --- /dev/null +++ b/test/cassettes/UT2.yml @@ -0,0 +1,226 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '920' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 05:34:39 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - cf534825-6953-4a67-8d7a-07dd9f18a633 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-8m7g + X-Cache: + - Miss from cloudfront + Via: + - 1.1 556b99c6be8d7078b9f067347c62df6b.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 04EbcRPX18L5oyJJg7BNutcA58jro0ARFLW08W7Y1wJDg6eD_p_tGg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568352879,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 05:34:39 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '921' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 05:34:40 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 18b96f9d-5841-4397-828d-9cd85ccfde9c + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-7ui7 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 7e87179efaa9e3c316bd3d3a74cfded8.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - bAXDVCDEGh68i2weVmFKtWQF848AExYG5gQRnF0Upb9ab_Pi905Ctw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568352880,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 05:34:40 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 429 + message: Too Many Requests + headers: + Content-Type: + - application/json; charset=utf-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 05:34:40 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 39948217-472d-4216-9c26-b90b79cfa7f3 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Retry-After: + - '9' + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-yx4k + X-Cache: + - Error from cloudfront + Via: + - 1.1 1a53057db389e96b4ef1bfbc925dde1c.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - yJgUchiDgWqagbM77X2_mHhtblqOogHzj99XL4CzN9vBPUEIuMEhtQ== + body: + encoding: UTF-8 + string: '{"ok":false,"error":"ratelimited"}' + http_version: + recorded_at: Fri, 13 Sep 2019 05:34:40 GMT +recorded_with: VCR 5.0.0 diff --git a/test/cassettes/WT1.yml b/test/cassettes/WT1.yml new file mode 100644 index 00000000..0ae58a54 --- /dev/null +++ b/test/cassettes/WT1.yml @@ -0,0 +1,2697 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '922' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 05:34:38 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - ff0480ec-0889-4087-aea4-be140b6ca67b + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-rzct + X-Cache: + - Miss from cloudfront + Via: + - 1.1 6172bb1a5d00a3b06ae3700570ebe117.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - jPstQkgAeIz6wrbuWffhEF4-cvSnxYCml0rir-QTvK9yZh2yc02NZw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568352878,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 05:34:38 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '922' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 05:34:38 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 30a8d941-ecda-4d0a-acff-ce83a621cf8f + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-tp0g + X-Cache: + - Miss from cloudfront + Via: + - 1.1 57a21088b36c69a83578b5a5579df58f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - KBPqtHkDf3j3JCwPiQzs7lnBHcliaHf5BRSvEoToJr0jb-8Z-Pz0ow== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568352878,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 05:34:38 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '922' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 05:34:38 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 3e2dbf83-2e1e-42f9-9836-d9c43dbf4ec9 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-pcsw + X-Cache: + - Miss from cloudfront + Via: + - 1.1 943c6a4d4ee43b18ee91634536f53eae.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 8qC8FzYEwv2Irk9BZHNy7bgdIxqU1fOCNiWG0cfSlnr3wO_Vznlj7w== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568352878,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 05:34:38 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 05:34:39 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 36329226-3440-4edd-993e-b5730c542dc5 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-ecjy + X-Cache: + - Miss from cloudfront + Via: + - 1.1 32c16f33c8f5601364fa8229b0d74dc3.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - ytcmyokEI9Lr57hwB7K3YOLGPODZ3l5qtCf2Jh1EJl_TgPluEXPN8Q== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 05:34:39 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 05:34:39 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 47ed5722-cd3d-4190-adcc-a29cfb5424aa + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-tp0g + X-Cache: + - Miss from cloudfront + Via: + - 1.1 39688168a2a3353be1f3c9378d12d89f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - oBp_iiI0ZTY0OP8uyCgznYlG2JsRZeUbwZT574Ina_bBkJp7h6ixuA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 05:34:39 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 05:34:39 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 90ca87a2-637d-4af9-beb0-5bb025869c10 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-u916 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e66162aafd55b64ba1478ff7105150fb.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - q15gKGmL_otHRdN7M_pVkADkzwICNvcCtse-ZpIIZCe24evkNra4_Q== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 05:34:39 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 05:34:39 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 84833a94-7096-45e4-86f3-de8327dbcc05 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-te4j + X-Cache: + - Miss from cloudfront + Via: + - 1.1 0732be5515ffeda639cfe5f22fb04df6.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - xawo9q9BGz-XU5rMzDdnNcM_kqUrUP_NNFpjsepxCfJTC3Km3jr3Rw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 05:34:39 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token=fake + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '55' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 05:34:40 GMT + Server: + - Apache + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 1a1b774b-7262-4e75-bfbe-7c57b248c8eb + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-yp93 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 1a53057db389e96b4ef1bfbc925dde1c.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - vC5CEeSbhqcaOB815oysNWnbyV0gfsW2kn_SxCJrYnZLnrBTU_mXiA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"invalid_auth"}' + http_version: + recorded_at: Fri, 13 Sep 2019 05:34:40 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '919' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:41:11 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - fa6ce18b-e36f-4c40-9ff3-308c137161d3 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-abpg + X-Cache: + - Miss from cloudfront + Via: + - 1.1 48b1d9f5c5a47a0b424a9637eb513cee.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - O7nmN1z5d2dMnhUTUZEBpSqVtX00EAe9ekhLwd-P-9Yh-t086f6yrA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568400071,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:41:11 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '919' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:41:11 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 6fa82dd4-d733-4805-b264-9fa802dce0be + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-qdiq + X-Cache: + - Miss from cloudfront + Via: + - 1.1 73bd23077f64204bc8f5efea09d16ebd.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - XRSzNdlarX1fkl2go0bSxIR38ghvAmY_AaN307SrhLh0B61kFsCpng== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568400071,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:41:11 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '919' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:41:11 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - c11ca6b4-8dc7-46a5-89b9-7377d3db12f1 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-cviw + X-Cache: + - Miss from cloudfront + Via: + - 1.1 c3d327d7fba3cf3679ba86e6faf3a795.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - qhyc9Cy_346sViN9j_4GqCRu6BuIj07fSUDgaMXmBX2IJQOw--ndmw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568400071,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:41:11 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:41:12 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - cb3a9dfc-9e39-49b2-994d-6c0279f94a3b + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-nzzu + X-Cache: + - Miss from cloudfront + Via: + - 1.1 15e808532464d90b13614947e41d0d22.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - kLNH2BBaAi7LSJJoln2UQGDKUnI9OxA8RcT_oXXXfv_zpJuQF4MP4A== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:41:12 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:41:12 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - d69c033d-07d8-4b37-9703-97e1ec8061e8 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-rm1u + X-Cache: + - Miss from cloudfront + Via: + - 1.1 490c6b39f412c738a30c226f07db749c.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - iE6z4T3DdUBdIg7qFuTrPWCKqfT-QTBrXXmUDlSWqZ4BwX_qUFhwfw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:41:12 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:41:12 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 007e31ec-dd83-4072-85fa-1c1641f9b25a + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-vc1o + X-Cache: + - Miss from cloudfront + Via: + - 1.1 29e43d3fc91041015ce0bbd989334a34.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - nKtXKnOxUBYBWG7Il52tiRWUDBArjZa-HvVUZMlucohxilLP4YvHJw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:41:12 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:41:12 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 3e174972-20f0-48d9-817c-d9f994a0143e + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-tgzy + X-Cache: + - Miss from cloudfront + Via: + - 1.1 bf3ec4bcb6f4f29d898c3c4e0f95a185.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - WoDxKnf3dQQQ3269bjlEWRnWBuO94b5Rp6OL_RvMoXhFokZU38awmg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:41:12 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=%20whaaat?&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:47:47 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 31847ae0-d789-4f0b-81fb-580cae4cb052 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-flcx + X-Cache: + - Miss from cloudfront + Via: + - 1.1 6faf668782fbb3c2aa466f6fccc76047.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - qGIGzZU3E3Uq_TwhOMbtsl97fMvK5SHkbIwNg1PZZAQINx-YczlFCw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400467.000500"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:47:47 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=whhhhh&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:47:55 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - eaf32011-7226-43e2-88e2-42230b1710e1 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-u916 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 9ee3511da39676ad61c7c07710f75c09.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - ivAjaUNL5z4ABdUhSXrnMDQJk26gepyrU96Evx_TYp4TEoxsc-pNgw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400475.000600"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:47:55 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=s&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:48:13 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 7b7f7ffc-61af-4f41-89f0-12b4aa954a80 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-lqa3 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 bf3ec4bcb6f4f29d898c3c4e0f95a185.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - XAhKPoXjKQRuX8J0efyGObcnv5ttNOfUb0IhD8fiB4GLKWK1eJmzkQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400493.000700"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:48:13 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=aa&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:48:14 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - ea6ce860-a6c6-46e0-9984-e1d0eac808d3 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-aw7t + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d2bb0dc1233d3ab1747a4a160c14c25b.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - YYTKiqWmnZEd8gqOjK5nt8NZR57KJe8LTCqXO-ADYwZYeveY4d8F3Q== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400494.000800"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:48:14 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=a&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:50:04 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 3a8a5437-28aa-48a8-93d5-aa4cef07971b + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-abpg + X-Cache: + - Miss from cloudfront + Via: + - 1.1 a66d43f94e7571e81183730b02e5a027.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - Q6eFHfIg5Pa0F7fm1EJwEJ3VcSBMSE_FnchF81u11T6MsZKLTMzQ1g== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400604.000900"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:50:04 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=sd&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:50:07 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - d163b151-dbed-478e-afde-3d0d7fe0ad59 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-jtdn + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e8276e704fe9ab202d1f5aa2709d2f93.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - x2MnFnKSwRxCiYdiefKZZM7Iey43T2A6ggneRu1QpxfB6K9x-yJ-_w== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400607.001000"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:50:07 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=d&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:50:08 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 85a38654-b02a-41bc-b7df-1a44427eed58 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-4oho + X-Cache: + - Miss from cloudfront + Via: + - 1.1 562f677992f98b6e62cd9704c95d2164.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - 0PHP9ICf_wMQTJh654yJDzAL6JNjnrJsFufk4OjwXWvfiq6LGnYM_g== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400608.001100"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:50:08 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=ds&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '55' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:50:10 GMT + Server: + - Apache + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 79e266a4-1cb2-4587-95c2-2f5182a4295b + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-qdiq + X-Cache: + - Miss from cloudfront + Via: + - 1.1 a65ed239b1dc93560d93932663ec96bd.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - vrkAlTJSaJPtI7CCL-6FCm5qD-wwCP3F83ycZydXINisHyTn99aFrw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"invalid_auth"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:50:10 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=ads&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:50:25 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 4044c447-2196-461e-8718-e1d26fce9ef9 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-zrg4 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 9ee3511da39676ad61c7c07710f75c09.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - 3a_mn6Yw4VGCSmUAuU2fCWUbsjjAZbHu9cbP5W5H2Vbt9oMsSX3wIw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400625.001200"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:50:25 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=dsf&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '55' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:50:36 GMT + Server: + - Apache + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 03b3908d-e311-473c-92e7-c92d7c79145a + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-o27m + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e109fb33da247873a89335ea6b680b25.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - 3HPE0o6iTTmfUq7mdekHSdu0tlf7ehqnV0cM_6Z6XpFAyfoYvDCbLg== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"invalid_auth"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:50:36 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=asfd&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '55' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:50:42 GMT + Server: + - Apache + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 0acee79e-b7e1-4f37-a0c1-c2e3fc0000f2 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-te4j + X-Cache: + - Miss from cloudfront + Via: + - 1.1 ceb7b8c925a9435b9b08b23014561fbb.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - rrkWUAevfHnKDW-6zLJ_lVkpYFFn1nrnzNfT07I-IyNh8-pLyy1EKQ== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"invalid_auth"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:50:43 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '55' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:50:44 GMT + Server: + - Apache + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - d443120a-cf65-46d1-99b6-608e0e4fb732 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-wsq7 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 c3d327d7fba3cf3679ba86e6faf3a795.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - MMauOMs2GCUIo2MhTbBU1G7PCj0VYsmZjusz6w9l34TsuNYDU_-eaw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"invalid_auth"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:50:44 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=exit&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:51:19 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 005b13e8-0813-4c94-ab30-8494a1aa8380 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-shry + X-Cache: + - Miss from cloudfront + Via: + - 1.1 490c6b39f412c738a30c226f07db749c.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - E0W-fS6JPZuTR7ixy_0OeR5h_UBIPr5J1iSxwRpFBcK_5b1PfVTNng== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400679.001300"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:51:19 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=k&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '55' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:51:22 GMT + Server: + - Apache + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - afd515a5-b2cf-4f98-8f54-2cdda159dfdc + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-te4j + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d2bb0dc1233d3ab1747a4a160c14c25b.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - KISwasD0na4X2lueM9hUvGg28VWOmv977K3heKa1xYVMaACZDM_CaQ== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"invalid_auth"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:51:22 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=%C3%A7&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '62' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:51:49 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 00f5f6c9-81ae-4044-b233-770a4f80b82b + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-asnz + X-Cache: + - Miss from cloudfront + Via: + - 1.1 c3d327d7fba3cf3679ba86e6faf3a795.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - BnRomk_lnnxpLFv1cTbQSV2WpJDU6GAmLIgXDkhio9UPLw3ryLJEww== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400709.001400"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:51:49 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:51:53 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 0c99b77a-1b39-467e-93d7-a15ed597bf0e + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-e5lk + X-Cache: + - Miss from cloudfront + Via: + - 1.1 cf334f8d204150d702090aa22e0fab56.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - NNA5qdggdI_1zcHkPkfOkyDzql41t68zfe7FoKOoo1m2TkcZmWeLKw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400713.001500"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:51:53 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=d&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '55' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:51:54 GMT + Server: + - Apache + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 38513e2d-d68d-4cb7-8090-838f90562f8b + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-78ya + X-Cache: + - Miss from cloudfront + Via: + - 1.1 4db3f26ee4fd9a14a343fada3315105f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - SWM2-FQu47A8N7I_UvUXDrLnGtbisL79rssWbYZLV59HjznH9MBPiA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"invalid_auth"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:51:54 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=f&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:52:01 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 35aa604f-027e-4195-bb0a-f4b4fa5b9408 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-90c1 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 c9175050329bc171442756cc6f0e0d88.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - "-4RXriqG4if7NwGKrXdIdnGDQE7rzb8jCXlbissspS5CJPl7gGX_8g==" + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568400721.001600"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:52:01 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=j&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '55' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:52:02 GMT + Server: + - Apache + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 47e372bc-328c-478f-b30a-e0d8c8ba9e8e + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-8emn + X-Cache: + - Miss from cloudfront + Via: + - 1.1 6bd725b6233f3b787d5f5373be153d66.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - uKIWOIr6agfYKT6jmRqynhT6oKzMgwcdDxGH15kUdOdmUrDxwMluqw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"invalid_auth"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:52:02 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '55' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 18:52:03 GMT + Server: + - Apache + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 23346d1a-c8b7-4b89-adef-f53b0f64c495 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-dzl1 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 bb14b7a4f45e3e0b1ae5065c59f7826f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - SogBNk-Xdur-AljFttjdksSKEXaTxnRMrPDwqlVCMOy2kJJzOJz-Mw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"invalid_auth"}' + http_version: + recorded_at: Fri, 13 Sep 2019 18:52:03 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=no&token=&user=USLACKBOT + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '62' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 19:43:57 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 892e39ae-5c2b-4f9b-b0af-f744e478eb5a + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-lzki + X-Cache: + - Miss from cloudfront + Via: + - 1.1 760139201585481b26f947c5f776103a.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 8Y3i2YN0plVu3bTSAOhynCp9z4-mFUMoeNuKsyCHRT9ket83BdvnOA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"user_not_in_channel"}' + http_version: + recorded_at: Fri, 13 Sep 2019 19:43:57 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=ok&token=&user=USLACKBOT + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '62' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 21:17:58 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - e3880e13-a720-44b9-813a-c5a18e7e2b99 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-hdxt + X-Cache: + - Miss from cloudfront + Via: + - 1.1 8ae6af4d17aae7471e5fe2792eb6abcd.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 1SSQ2IFcnPTW5RE-qrzFRm7P4iEZ4PrjIvPS_yrbCgyPZ8egKcN0kg== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"user_not_in_channel"}' + http_version: + recorded_at: Fri, 13 Sep 2019 21:17:58 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=pretending%20user%20typed%20something&token=&user=USLACKBOT + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '62' + Connection: + - keep-alive + Date: + - Fri, 13 Sep 2019 21:37:06 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 31bf0676-9453-4d03-9ef5-a1ebea3d0e31 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-mar4 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 098a28c90e7d4eca5d6cebe57828e74d.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO51-C1 + X-Amz-Cf-Id: + - GxWk0L-xmu2ZBSExevi_xc-sXnB9M49HjI5E98kf4hlkDraGnyOsvg== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"user_not_in_channel"}' + http_version: + recorded_at: Fri, 13 Sep 2019 21:37:06 GMT +recorded_with: VCR 5.0.0 diff --git a/test/cassettes/WT3.yml b/test/cassettes/WT3.yml new file mode 100644 index 00000000..69534ae6 --- /dev/null +++ b/test/cassettes/WT3.yml @@ -0,0 +1,969 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '922' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:20:22 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 061ce24a-84ef-45b2-b95e-d24f7eed7a55 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-1bev + X-Cache: + - Miss from cloudfront + Via: + - 1.1 2dc84924ce70e874a873764fe1415858.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19 + X-Amz-Cf-Id: + - MS7pJaWOBwot52LUbha7mX5lu1GiqlLgeTyOAAtwiQADHJD74auM4w== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420422,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:20:22 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '922' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:20:23 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 5297a740-3db9-4356-a71c-921a95bf4f02 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-vc1o + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e7a6b3b39a146e70091418a22590a905.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19 + X-Amz-Cf-Id: + - D2eJ0KWJmneK7LJTQCxpDGnzNMp46yxM10Aa8JvDe8Q8PsGsSjW58Q== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420423,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:20:23 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '920' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:20:25 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - fc9f1430-5c7f-477a-a1f8-c447781fc7cf + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-tzif + X-Cache: + - Miss from cloudfront + Via: + - 1.1 ca79756ec49e2babf1b916300304b2fb.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19 + X-Amz-Cf-Id: + - ybQV2RV2TeWFKELD9oJvtcvtPijoemFkkqPT6UW5kO9BoaIcBIqaOg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420425,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:20:25 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:20:26 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - ccf6dc78-5357-419c-bba4-6cf32651d999 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-o786 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 5e453826b188a987bac1483174eb6e97.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19 + X-Amz-Cf-Id: + - ahmqC7m-XHvfUr18VIS5uSFgru9jM_AxJnh5Ilyt2umqf0SPgFCm-A== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:20:26 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:20:27 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 0a1228a9-f663-4358-8c79-d683b9f5f0a2 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-6jb6 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 4c4ed81695980f3c6829b9fd229bd0f8.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19 + X-Amz-Cf-Id: + - jFQWHWDqkdJtEgOYv95hKAllqZKKfAqwAkTkH5YlhrfSuReWKiJjfg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:20:28 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:20:29 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - a81454f9-2eac-4615-aa35-db3fd071c114 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-odun + X-Cache: + - Miss from cloudfront + Via: + - 1.1 bbc0c6d660c6b9bfbf22053687e12fba.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19 + X-Amz-Cf-Id: + - qRzFIzuCe_fPkPnsFWoyof0qYYORqJmQqKKaCpfMQE_bQZL9yH7UWA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:20:29 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:20:30 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - f5acea7f-c687-4517-ba9d-d1a692d88692 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-g1op + X-Cache: + - Miss from cloudfront + Via: + - 1.1 4b41f5d4002cf5daabe6e170bd619abc.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19 + X-Amz-Cf-Id: + - Jm4LvTujWFVb6wV5pN7sCutS8CpjD-Jait2FIVoNgVrMCG-WvOXOMg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:20:30 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=pretending%20user%20typed%20something&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:00 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - d48f4960-ab5c-48ee-879f-026d28daa349 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-wuu0 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 a3bd0eb50c22e4d5fbda56a30b96002d.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - XwgvFLr4205hxULP-DBSTF5X3TlVh57_ZvTGVpdS7LAHzxFcqB2u9w== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568420580.000900"}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:00 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=pretending%20user%20typed%20something&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:01 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 4f1bf90e-60e0-4fa6-a24b-29d5ec06f7fb + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-wjvt + X-Cache: + - Miss from cloudfront + Via: + - 1.1 57a21088b36c69a83578b5a5579df58f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - DqE6cnP9Z8GBAkPeLBoX7uVnr6EKkObq19DVbAhygMuwyHoOldSHsw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568420581.001000"}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:01 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=pretending%20user%20typed%20something&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:01 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 6a12b77b-c326-4d3f-ba52-848c7641a6c2 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-x62j + X-Cache: + - Miss from cloudfront + Via: + - 1.1 82ea95080f526df99896343fb7269b07.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - IOymRtitrwKVcSUsHVpotXxAT1Og4HfXsE8qS6VBs1fw5IySy5SexA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568420581.001100"}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:01 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=pretending%20user%20typed%20something&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:01 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 5fdc4846-a2e9-4880-936b-1b3926e08ef9 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-y8fx + X-Cache: + - Miss from cloudfront + Via: + - 1.1 981753271eb5b6d11bc29d52f173a5da.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - ZwgISg1kUMIwCfikIXlNGckqSawGvftPZqh_RB7EWJBSM0j7cHZuLA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568420581.001200"}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:01 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=pretending%20user%20typed%20something&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:02 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - f09ca5ac-b6e5-4e8e-a398-8d19e14fefca + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-7ui7 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 591683988172c7980c4ebb318cbf18a9.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 8yMo4gcfT6lEgrIRNrnhC1tu4EUxucLJxa5rT5h6fII3BbqsmvVkOQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568420582.001300"}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:02 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=pretending%20user%20typed%20something&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:02 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 0d12a616-d56b-40c4-8e52-576834b8db95 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-u9rp + X-Cache: + - Miss from cloudfront + Via: + - 1.1 559326ad73233233a9e52cb9e8601ede.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - hVD9ju5tGlFlDSjVWZW44Tnb-EdRVAzaXd9_xJwW_X7ui_hoITvA7A== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568420582.001400"}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:02 GMT +recorded_with: VCR 5.0.0 diff --git a/test/cassettes/WT4.yml b/test/cassettes/WT4.yml new file mode 100644 index 00000000..7148294d --- /dev/null +++ b/test/cassettes/WT4.yml @@ -0,0 +1,614 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '919' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:02 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - dbfb9c2d-6d2f-41ae-91ab-70a76496df6b + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-q42r + X-Cache: + - Miss from cloudfront + Via: + - 1.1 be082a2326b7d49643607b097f1e7181.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - cWX1KVrbqzUdcE_vPhQs71uTV2z3Ttu3XwyO8g7bOvaFUmLIUsDLnw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420582,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:02 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '919' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:04 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 8832f2d4-2d53-43d2-aab8-21137c1832c3 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-78ya + X-Cache: + - Miss from cloudfront + Via: + - 1.1 6a9b42e38e76b7d4a4044ebe0e0eca09.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - wmpmfjxe05cTLxpZHgXF7VvJJbV_H1jocrhuXQxZ2Uo2-lJ8f4tGRA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420584,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:04 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '919' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:05 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 1ae8a177-91dd-4a8e-9089-11b02c61f042 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-x0x4 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 caf6806821bc479b28a6f1ce3043b8a6.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - UHER8NZ-euBeLyHC41BeYiEkrGj6sYGbZqqGzVMudGnIy-bvVuEFfQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420585,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:05 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:06 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - cf3928e4-8a2e-4fa2-953b-2b9082cd9d62 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-g8yt + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e66162aafd55b64ba1478ff7105150fb.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 8qBaNUFa4FbRD-i6yL642yg_t6GMnEl8ng-R65JlQN8-IpkYY6ywWg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:06 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:08 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - a50e1fff-c621-4d96-9896-c56c9aefde02 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-7kxn + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d6a002c70d55f415107618b0750d493d.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - QJd_vD3xiAQ_RTTt3OQQhoeWM0FJDG-l6dfRSQSEfSRNN7BnyIoHDA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:08 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:09 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 12fa437c-6401-48de-976d-1ed744c3c8a9 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-fc14 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 570075675953459325e00b7bcd171df3.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 77YqGyky_akixgU6vPIRATSlPcIRUz__4cGbCpR2L2O2FrwEKA7XLQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:09 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:10 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - e889a5de-e0a8-4a70-8c2e-06eea2f4e8f5 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-vdbk + X-Cache: + - Miss from cloudfront + Via: + - 1.1 476c2ba6d9f6cd69dbcedbd65688cbc0.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - lB9zqfdnUTibf0eubyJchOVwzYnh9kt8bEOx8DfdtBnbob15Z2FxzQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:11 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=fake%20message&token=&user=UN5R2S6GL + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '64' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:23:12 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 28a1c745-1f40-4851-ad75-4934fd0ca721 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - chat:write:bot + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-asnz + X-Cache: + - Miss from cloudfront + Via: + - 1.1 9046e5a276a05e60ee34c8475e92b8e7.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - vI8hzBnvdQKZoU9enIpouDpZP4vKe27PUTigavnPUUXpHN88O6C1kQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"message_ts":"1568420592.001500"}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:23:12 GMT +recorded_with: VCR 5.0.0 diff --git a/test/cassettes/WT_BOGUS_KEY.yml b/test/cassettes/WT_BOGUS_KEY.yml new file mode 100644 index 00000000..10eff275 --- /dev/null +++ b/test/cassettes/WT_BOGUS_KEY.yml @@ -0,0 +1,604 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '920' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:22:36 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 26dc79b0-ae6b-4344-a47d-e7b80d8d21df + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-i78l + X-Cache: + - Miss from cloudfront + Via: + - 1.1 981753271eb5b6d11bc29d52f173a5da.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - DnWwPgjLnNiPqCDG1SJcqw6o4076pgA8l5Rpa3yidD1OLHsdPs6OHA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420556,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:22:36 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '920' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:22:38 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - baccfdf0-4067-4d83-bf53-3033a8fbbcfd + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-mar4 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 57a21088b36c69a83578b5a5579df58f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 9Kxqvw2CYWZUY9Ws25OQBVJiM0ZqZzs1L_RG4-XTxEWuioOn1jVCDA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420558,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:22:38 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '920' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:22:39 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 38cd612d-dbbf-498e-98da-0e85fed7eff7 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - users:read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-f2n6 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 57a21088b36c69a83578b5a5579df58f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - GjYLAQ8puNfY9qy7sFpBCH-OOyHq8kPIFQsZjk5r8jobZDQX3nkSYA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TN5R2S66Q","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UN5R2S6GL","team_id":"TN5R2S66Q","name":"carolinewukaplan","deleted":false,"color":"9f69e7","real_name":"carolinewukaplan","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"carolinewukaplan","real_name_normalized":"carolinewukaplan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gae31c953abd","image_24":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ae31c953abd504187784a880a355e862.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0023-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071237,"has_2fa":false},{"id":"UN69JD3V3","team_id":"TN5R2S66Q","name":"eaball35","deleted":false,"color":"4bbe2e","real_name":"Emily + Ball","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Ball","real_name_normalized":"Emily Ball","display_name":"Emily Ball","display_name_normalized":"Emily + Ball","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g03612503791","image_24":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/03612503791308ef1493108d75a13426.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F80588%2Fimg%2Favatars%2Fuser_shapes%2Fava_0003-512.png","status_text_canonical":"","team":"TN5R2S66Q"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1568071316,"has_2fa":false}],"cache_ts":1568420559,"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:22:39 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:22:40 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - a66be888-ff3a-4bd7-a282-1530ced8681b + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-p70f + X-Cache: + - Miss from cloudfront + Via: + - 1.1 36810aa1793ee589dc8c194860296079.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - js8PitStyzOj_UUvC80U2UkXLv-woeOcd6drIbg92RTaiU1rMcPT8w== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:22:40 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:22:42 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 58d07ac1-2dde-4f69-886c-6dd9e82e963d + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-45gn + X-Cache: + - Miss from cloudfront + Via: + - 1.1 6172bb1a5d00a3b06ae3700570ebe117.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - IZzGNAFfFXyoTQUntERM7jQHZ20yMuqm_V631Iyg3ixyPA_z6mQhPQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:22:42 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:22:43 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 32b47e84-c942-426a-821d-37ecbfaea526 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-4phi + X-Cache: + - Miss from cloudfront + Via: + - 1.1 325ed3ba58a560748d886354beef39c0.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - NXMrVQ3ipdwTavzA3Ie5PbpzmYf0OPs_uUBdyqtyDcdb7lGjYf1k0A== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:22:43 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '621' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:22:44 GMT + Server: + - Apache + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - cdeb1825-bf46-4fee-936b-68b28315ac37 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write:bot + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Xss-Protection: + - '0' + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-0t0n + X-Cache: + - Miss from cloudfront + Via: + - 1.1 fda3b2797d2719576f6b916583a28e52.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 1mRcswCH3vb5MXRZnTp4PiAEjYTtJ2vJTlQdcMhLDT5_8E1jSqSJ1g== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CN5R2SQ8L","name":"slack-cli","is_channel":true,"is_group":false,"is_im":false,"created":1568071237,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-cli","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"fake + topic haha","creator":"UN5R2S6GL","last_set":1568157692},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":2},{"id":"CN69B7XMW","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2},{"id":"CN85CG01M","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1568071236,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UN5R2S6GL","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TN5R2S66Q"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UN5R2S6GL","last_set":1568071236},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UN5R2S6GL","last_set":1568071236},"previous_names":[],"num_members":2}],"response_metadata":{"next_cursor":""}}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:22:45 GMT +- request: + method: get + uri: https://slack.com/api/chat.postEphemeral?channel=CN69B7XMW&text=pretending%20user%20typed%20something&token=GARBAGE&user=USLACKBOT + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '55' + Connection: + - keep-alive + Date: + - Sat, 14 Sep 2019 00:22:46 GMT + Server: + - Apache + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 996a7c0c-041a-4290-a22a-14af5ccc9189 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-shlo + X-Cache: + - Miss from cloudfront + Via: + - 1.1 82ea95080f526df99896343fb7269b07.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - aV1UQXjzu1ODfYAML7jS7bthiLHiPGn3VQJjIHDxRFHwZUG3xDGxqg== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"invalid_auth"}' + http_version: + recorded_at: Sat, 14 Sep 2019 00:22:46 GMT +recorded_with: VCR 5.0.0 diff --git a/test/channel_test.rb b/test/channel_test.rb new file mode 100644 index 00000000..cc636c7b --- /dev/null +++ b/test/channel_test.rb @@ -0,0 +1,91 @@ +require_relative 'test_helper.rb' + + +describe "### TESTING CHANNEL ###" do + let (:response) { Channel.get } + + it "Does Channel.new work?" do + VCR.use_cassette("CT9") do + channel = Channel.new(id: "1", name:"espn", topic:"sports", member_count: "100") + assert(channel.class == Channel) + assert(channel.id == "1") + assert(channel.name == "espn") + end + end + + it "Does Channel.details work?" do + VCR.use_cassette("CT9") do + channel = Channel.new(id: "1", name:"espn", topic:"sports", member_count: "100") + result = channel.details + assert(result[:id] == "1") + assert(result[:name] == "espn") + end + end + + it "Does Channel#get work?" do + VCR.use_cassette("CT9") do + assert (response.class == HTTParty::Response) + assert (response["ok"] == true) + end + end + + it "Does Channel#get_names work?" do + VCR.use_cassette("CT9") do + all_channel_names = Channel.get_names + assert(all_channel_names.length == 3) + assert(all_channel_names.first == "slack-cli") + assert(all_channel_names[1] == "general") + assert(all_channel_names[2] == "random") + end + end + + it "Does Channel#get_topics work?" do + VCR.use_cassette("CT9") do + all_channel_topics = Channel.get_topics + assert(all_channel_topics.length == 3) + assert(all_channel_topics.first == "fake topic haha") + assert(all_channel_topics[1] == "Company-wide announcements and work-based matters") + assert(all_channel_topics[2] == "Non-work banter and water cooler conversation") + end + end + + it "Does Channel#get_member_count work?" do + VCR.use_cassette("CT9") do + member_counts = Channel.get_member_counts + assert(member_counts.length == 3) + assert(member_counts.first == 2) + assert(member_counts[1] == 2) + assert(member_counts[2] == 2) + end + end + + it "Does Channel#get_ids work?" do + VCR.use_cassette("CT9") do + channel_ids = Channel.get_ids + assert(channel_ids.length == 3) + assert(channel_ids.first == 'CN5R2SQ8L') + assert(channel_ids[1] == 'CN69B7XMW') + assert(channel_ids[2] == 'CN85CG01M') + end + end + + + it "Does Channels#load_all work?" do + VCR.use_cassette("CT9") do + all_channels = Channel.load_all + + ids = %w[CN5R2SQ8L CN69B7XMW CN85CG01M] + names = %w[slack-cli general random] + topics = ["fake topic haha", "Company-wide announcements and work-based matters", "Non-work banter and water cooler conversation"] + all_channels.each_with_index do |channel, index| + + assert (channel.class == Channel) + assert (channel.id == ids[index]) + assert (channel.name == names[index]) + assert (channel.topic == topics[index]) + end + + end + end + +end \ No newline at end of file diff --git a/test/recipient_test.rb b/test/recipient_test.rb new file mode 100644 index 00000000..ac4c70e1 --- /dev/null +++ b/test/recipient_test.rb @@ -0,0 +1,36 @@ +require_relative 'test_helper.rb' + +describe "##### RECIPIENT TEST #######" do + let (:recip1) { Recipient.new(id: "fake", name: "Fakey McFake") } + describe "Does Recipient.get work?" do + it "Does it return response as expected?" do + VCR.use_cassette("RT1") do + url = "https://slack.com/api/conversations.list" + response = Recipient.get(url, { token: ENV["SLACK_KEY"] }) + assert(response.class == HTTParty::Response) + assert(response["ok"] == true) + end + end + + it "Does it raise error as expected?" do + VCR.use_cassette("RT1") do + url = "https://slack.com/api/conversations.list" + expect{Recipient.get(url, { token: "fake" })}.must_raise SlackAPIError + end + end + end + + it "Is Recipient.details blocked as it's supposed to be?" do + VCR.use_cassette("RT1") do + expect{recip1.details}.must_raise NotImplementedError + end + end + + it "Is Recipient#load_all blocked as it's supposed to be?" do + VCR.use_cassette("RT1") do + expect{Recipient.load_all}.must_raise NotImplementedError + end + end + +end + diff --git a/test/slackapierror_test.rb b/test/slackapierror_test.rb new file mode 100644 index 00000000..8298cc4a --- /dev/null +++ b/test/slackapierror_test.rb @@ -0,0 +1,18 @@ +require_relative 'test_helper.rb' + +describe "is SlackAPIError working?" do + + it "is SlackAPIError an instance of StandardError?" do + assert(SlackAPIError.superclass == StandardError) + end + + it "can we successfuly raise it?" do + def tryThis + if true + raise SlackAPIError, "hahaha" + end + end + expect{ tryThis }.must_raise SlackAPIError + end + +end \ No newline at end of file diff --git a/test/test_helper.rb b/test/test_helper.rb index 90aeb408..d9e12e93 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -8,10 +8,29 @@ require 'minitest/reporters' require 'minitest/skip_dsl' require 'vcr' +require 'httparty' +require 'stringio' + +require_relative '../lib/recipient.rb' +require_relative '../lib/user.rb' +require_relative '../lib/channel.rb' +require_relative '../lib/slackapierror.rb' +require_relative '../lib/workspace.rb' + Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new VCR.configure do |config| config.cassette_library_dir = "test/cassettes" config.hook_into :webmock + config.default_cassette_options = { + :record => :new_episodes, # record new data when we don't have it yet + :match_requests_on => [:method, :uri, :body], # The http method, URI and body of a request all need to match + } + + config.filter_sensitive_data("") do + ENV["SLACK_KEY"] + end end + + diff --git a/test/user_test.rb b/test/user_test.rb new file mode 100644 index 00000000..6d98c2c5 --- /dev/null +++ b/test/user_test.rb @@ -0,0 +1,74 @@ +require_relative 'test_helper.rb' + +describe "### TESTING USER ###" do + let (:response) { User.get } + + it "Does User.new() work?" do + VCR.use_cassette("UT1") do + user1 = User.new(id: "123", name: "FakeyFake", real_name: "Fake Name") + assert (user1.class == User) + end + end + + it "Does User.get work?" do + VCR.use_cassette("UT1") do + assert (response.class == HTTParty::Response) + assert (response["ok"] == true) + end + end + + it "Does User.get_real_names work?" do + VCR.use_cassette("UT1") do + all_real_names = User.get_real_names + assert(all_real_names.length == 3) + assert(all_real_names.first == "Slackbot") + assert(all_real_names[1] == "carolinewukaplan") + assert(all_real_names[2] == "Emily Ball") + end + end + + it "Does User.get_names work?" do + VCR.use_cassette("UT1") do + all_names = User.get_names + assert(all_names.length == 3) + assert(all_names.first == "slackbot") + assert(all_names[1] == "carolinewukaplan") + assert(all_names[2] == "eaball35") + end + end + + it "Does User.get_ids work?" do + VCR.use_cassette("UT1") do + all_ids = User.get_ids + assert(all_ids.length == 3) + assert(all_ids.first == "USLACKBOT") + assert(all_ids[1] == "UN5R2S6GL") + assert(all_ids[2] == "UN69JD3V3") + end + end + + it "Does User.load_all work?" do + VCR.use_cassette("UT1") do + all_users = User.load_all + ids = %w[USLACKBOT UN5R2S6GL UN69JD3V3] + names = %w[slackbot carolinewukaplan eaball35] + real_names = ["Slackbot", "carolinewukaplan", "Emily Ball"] + all_users.each_with_index do |user, index| + assert (user.class == User) + assert (user.id == ids[index]) + assert (user.name == names[index]) + assert (user.real_name == real_names[index]) + end + end + end + + it "Does User.details work?" do + user1 = User.new(id: "123", name: "FakeyFake", real_name: "Fake Name") + result = user1.details + assert (result.class == Hash) + assert (result[:id] == "123") + assert (result[:name] == "FakeyFake") + assert (result[:real_name] == "Fake Name") + end + +end \ No newline at end of file diff --git a/test/workspace_test.rb b/test/workspace_test.rb new file mode 100644 index 00000000..8e664347 --- /dev/null +++ b/test/workspace_test.rb @@ -0,0 +1,419 @@ +require_relative 'test_helper.rb' + +describe "### WORKSPACE ###" do + + let (:ws1) { Workspace.new } + let (:user_ids) { %w[USLACKBOT UN5R2S6GL UN69JD3V3] } + let (:user_names) { %w[slackbot carolinewukaplan eaball35] } + let (:user_real_names) { ["Slackbot", "carolinewukaplan", "Emily Ball"] } + + let (:channel_ids) { %w[CN5R2SQ8L CN69B7XMW CN85CG01M] } + let (:channel_names) { %w[slack-cli general random] } + let (:channel_topics) { ["fake topic haha", "Company-wide announcements and work-based matters", "Non-work banter and water cooler conversation"] } + let (:channel_member_counts) { [2, 2, 2] } + + describe "Does Workspace.new work?" do + + it 'can create @all_users for new Workspace instance' do + VCR.use_cassette("WT3") do + assert(ws1.class == Workspace) + assert(ws1.all_users.length == 3) + index = 0 + ws1.all_users.each do |user| + assert(user.id == user_ids[index]) + assert(user.name == user_names[index]) + assert(user.real_name == user_real_names[index]) + index += 1 + end + end + end + + it 'can create @all_channels for new Workspace instance' do + VCR.use_cassette("WT3") do + assert(ws1.all_channels.length == 3) + index = 0 + ws1.all_channels.each do |channel| + assert(channel.class == Channel) + assert(channel.id == channel_ids[index]) + assert(channel.name == channel_names[index]) + assert(channel.topic == channel_topics[index]) + assert(channel.member_count == channel_member_counts[index]) + index += 1 + end + end + end + end + + describe "Does Workspace.menu_choices_hash() work?" do + it "does menu_choice_hash return the expected hash?" do + VCR.use_cassette("WT3") do + answer = { A: "LIST USERS", B: "LIST CHANNELS", C: "SEND MESSAGE", D: "SELECT USER", E: "SELECT CHANNEL", F: "DETAILS", Q: "QUIT" } + returned_hash = ws1.menu_choices_hash + assert(returned_hash.class == Hash) + assert (answer == returned_hash) + end + end + end + + describe "Does main_menu work?" do + it "Makes a table object?" do + VCR.use_cassette("WT3") do + table = ws1.main_menu(headings: ["A", "B", "C"], rows_as_hash: [["a", "b", "c"]]) + assert (table.class == Terminal::Table) + end + end + end + + describe "Does get_all_user_details work?" do + it "Returned object contains what we expected" do + VCR.use_cassette("WT3") do + results = ws1.get_all_users_details + assert(results.class == Array) + + results.each_with_index do |result, index| + assert(result.class == Hash) + assert(result[:id] == user_ids[index]) + assert(result[:name] == user_names[index]) + assert(result[:real_name] == user_real_names[index]) + end + end + end + end + + + describe "Does get_all_channel_details work?" do + it "Returned object contains what we expected" do + VCR.use_cassette("WT3") do + results = ws1.get_all_channels_details + assert(results.class == Array) + + results.each_with_index do |result, index| + assert(result.class == Hash) + assert(result[:id] == channel_ids[index]) + assert(result[:name] == channel_names[index]) + assert(result[:topic] == channel_topics[index]) + assert(result[:member_count] == 2) + end + end + end + end + + describe 'Does select_user work?' do + it 'returns user instance successfully' do + VCR.use_cassette("WT3") do + good_args = ["EABALL35", "eAbaLL35", "eaball35"] + good_args.each do |good| + result = ws1.select_user(good) + assert(result.class == User) + assert(result.id == "UN69JD3V3") + assert(result.real_name == "Emily Ball") + assert(result.name == "eaball35") + end + end + end + + it 'raises errors with bad argument' do + VCR.use_cassette("WT3") do + bad_args = ["", "GARBAGE", 123, Object.new] + bad_args.each do |bad| + expect {ws1.select_user("")}.must_raise ArgumentError + end + end + end + end + + describe "does select_channel work?" do + it 'returns channel instance successfully' do + VCR.use_cassette("WT3") do + good_args = ["general", "GEnEral", "GENERAL"] + good_args.each do |good| + result = ws1.select_channel(good) + assert(result.class == Channel) + assert(result.id == "CN69B7XMW") + assert(result.topic == "Company-wide announcements and work-based matters") + assert(result.member_count == 2) + end + end + end + + it 'raises errors with bad argument' do + VCR.use_cassette("WT3") do + bad_args = ["", "GARBAGE", 123, Object.new] + bad_args.each do |bad| + expect {ws1.select_channel("")}.must_raise ArgumentError + end + end + end + end + + describe 'main_menu works?' do + it 'returns table instance successfully' do + VCR.use_cassette("WT3") do + menu = ws1.main_menu(headings: ["h1", "h2"] , rows_as_hash: {k1: "v1", k2: "v2", k3: "v3"} ) + assert(menu.class == Terminal::Table) + # couldn't figure out how to test the headings... + # menu.headings is an array of something super long, not what we think it is + # expect(menu.headings).must_equal ["h1", "h2"] <- will fail + assert (menu.columns.length == 2) + assert (menu.columns[0] == [:k1, :k2, :k3]) + assert (menu.columns[1] == ["v1", "v2", "v3"]) + end + end + end + + describe "does show_all_recipients work?" do + it 'returns enumerated table instance successfully' do + VCR.use_cassette("WT3") do + all_users = ws1.all_users + result = ws1.show_all_recipients(array_of_recipient_objs: all_users, enumerate: true) + assert(result.class == Terminal::Table) + assert(result.columns.length == 4) + # couldn't figure out how to test the headings... + # menu.headings is an array of something super long, not what we think it is + assert(result.columns[0] == ["A", "B", "C"]) + assert(result.columns[1] == [user_ids[0], user_ids[1], user_ids[2]]) + assert(result.columns[2] == [user_names[0], user_names[1], user_names[2]]) + assert(result.columns[3] == [user_real_names[0], user_real_names[1], user_real_names[2]]) + end + end + + it 'returns non-enumerated table instance successfully' do + VCR.use_cassette("WT3") do + all_users = ws1.all_users + result = ws1.show_all_recipients(array_of_recipient_objs: all_users, enumerate: false) + assert(result.class == Terminal::Table) + assert(result.columns.length == 3) + # couldn't figure out how to test the headings... + # menu.headings is an array of something super long, not what we think it is + assert(result.columns[0] == [user_ids[0], user_ids[1], user_ids[2]]) + assert(result.columns[1] == [user_names[0], user_names[1], user_names[2]]) + assert(result.columns[2] == [user_real_names[0], user_real_names[1], user_real_names[2]]) + end + end + end + + describe "Does send_message work?" do + it 'sends msg successfully w/ correct args' do + VCR.use_cassette("WT4") do + ws1.entity = ws1.all_users[1] + + pretend_user_input = StringIO.new + pretend_user_input.puts "fake message" + pretend_user_input.rewind + + $stdin = pretend_user_input + + response = ws1.send_message + + $stdin = STDIN + assert(response.class == HTTParty::Response) + end + end + end + + + + describe "Does send_message work as expected when given no msg_recipient" do + it 'get_msg_recipient raises SlackAPIError if no msg_recipient' do + VCR.use_cassette("WT4") do + assert(ws1.entity == nil) + expect{ws1.get_msg_recipient}.must_raise SlackAPIError + + # but will get rescued by send_message, and returned as false + pretend_user_input = StringIO.new + pretend_user_input.puts "eaball35" + pretend_user_input.rewind + + $stdin = pretend_user_input + + assert(ws1.send_message == false) + $stdin = STDIN + end + end + end + + + describe 'menu_action work?' do + it 'does selecting "A" or "List Users" list the users' do + VCR.use_cassette("WT3") do + choices= ["A", "a", "LiSt UsErS", "List Users", "list users", "LIST USERS"] + choices.each do |choice| + results = ws1.menu_action(choice) + assert(results) + end + end + end + + it 'does selecting "B" or "List Channels" list the channels' do + VCR.use_cassette("WT3") do + choices= ["B", "b", "LiSt cHannElS", "List Channels", "list channels", "LIST CHANNELS"] + choices.each do |choice| + results = ws1.menu_action(choice) + assert(results) + end + end + end + + describe "does selecting 'C' or 'Send Message' work?" do + it "when no user msg_recipient, does it do what its supposed to?" do + VCR.use_cassette("WT3") do + choices= ["C", "c", "SEND MESSAGE", "send message", "Send Message", "sEnD MeSsage"] + choices.each do |choice| + assert(ws1.menu_action(choice)) + end + end + end + + it "when u have a user msg_recipient, does it send?" do + VCR.use_cassette("WT3") do + ws1.entity = ws1.all_users[1] + choices= ["C", "c", "SEND MESSAGE", "send message", "Send Message", "sEnD MeSsage"] + choices.each do |choice| + + pretend_user_input = StringIO.new + pretend_user_input.puts "pretending user typed something" + pretend_user_input.rewind + + $stdin = pretend_user_input + assert(ws1.menu_action(choice)) + + $stdin = STDIN + end + end + end + + it "does it raise SlackAPIError when given garbage token?" do + VCR.use_cassette("WT_BOGUS_KEY") do + CACHED_SLACK_KEY = ENV["SLACK_KEY"] + ENV["SLACK_KEY"] = "GARBAGE" + ws1.entity = ws1.all_users[0] + pretend_user_input = StringIO.new + pretend_user_input.puts "pretending user typed something" + pretend_user_input.rewind + + $stdin = pretend_user_input + expect{ws1.send_message}.must_raise SlackAPIError + $stdin = STDIN + + ENV["SLACK_KEY"] = CACHED_SLACK_KEY + end + end + + end + + describe "does selecting 'D' or 'Select User' work?" do + it 'if User does exist, does it select User?' do + VCR.use_cassette("WT3") do + choices= ["D", "d", "Select User", "SeLEcT User", "select user", "SELECT USER"] + choices.each do |choice| + pretend_user_input = StringIO.new + pretend_user_input.puts "eaball35" + pretend_user_input.rewind + + $stdin = pretend_user_input + + results = ws1.menu_action(choice) + + $stdin = STDIN + + p "it ran #{choice}" + assert(results.class == User) + end + end + end + + it "if user does not exist, does it return false?" do + VCR.use_cassette("WT3") do + pretend_user_input = StringIO.new + pretend_user_input.puts "GARBAGE" + pretend_user_input.rewind + + $stdin = pretend_user_input + + refute(ws1.menu_action("D")) + + $stdin = STDIN + end + end + end + + describe "does selecting 'E' or 'Select Channel' work?" do + it 'if channel does, does it select channel?' do + VCR.use_cassette("WT3") do + choices= ["E", "e", "Select Channel", "SeLEcT ChAnNeL", "select channel", "SELECT CHANNEL"] + choices.each do |choice| + pretend_user_input = StringIO.new + pretend_user_input.puts "random" + pretend_user_input.rewind + + $stdin = pretend_user_input + + results = ws1.menu_action(choice) + + $stdin = STDIN + + p "it ran #{choice}" + assert(results.class == Channel) + end + end + end + + it "if channel does not exist, does it return false?" do + VCR.use_cassette("WT3") do + pretend_user_input = StringIO.new + pretend_user_input.puts "GARBAGE" + pretend_user_input.rewind + + $stdin = pretend_user_input + + refute(ws1.menu_action("E")) + + $stdin = STDIN + end + end + end + + it 'does selecting "F" or "Details" select channel' do + # should return false if no Channel or User selected + VCR.use_cassette("WT3") do + choices= ["F", "f", "Details", "DeTaILs", "details", "DETAILS"] + choices.each do |choice| + results = ws1.menu_action(choice) + assert(results) + end + end + + # should return Channel/User object if Channel or User selected + VCR.use_cassette("WT3") do + ws1.entity = ws1.all_channels[0] + choices= ["F", "f", "Details", "DeTaILs", "details", "DETAILS"] + choices.each do |choice| + results = ws1.menu_action(choice) + assert(results) + end + end + end + + it 'does selecting bogus menu option kick back user to menu' do + VCR.use_cassette("WT3") do + choices= ["G", '123', "AAA", "bb"] + choices.each do |choice| + results = ws1.menu_action(choice) + refute(results) + end + end + end + + it 'does selecting "Q" or "Quit" let u quit?' do + VCR.use_cassette("WT3") do + choices = ["Q", "q", "QUIT", "quit", "Quit"] + choices.each do |choice| + expect{ ws1.menu_action(choice) }.must_raise SystemExit + end + end + end + + end + + +end