diff --git a/lib/channel.rb b/lib/channel.rb new file mode 100644 index 00000000..f93739f4 --- /dev/null +++ b/lib/channel.rb @@ -0,0 +1,30 @@ +require_relative "recipient" + +class Channel < Recipient + attr_reader :topic, :member_count + + def initialize(slack_id, name, topic, member_count) + super(slack_id, name) + @topic = topic + @member_count = member_count + end + + def details + # return details formatted with table_print gem + return tp self, :slack_id, :name, :topic, :member_count + end + + def self.list_all + response = Channel.get("conversations.list") + all = response["channels"].map do |channel| + Channel.new( + channel["name"], + channel["id"], + channel["topic"]["value"], + channel["num_members"] + ) + end + return all + end + +end \ No newline at end of file diff --git a/lib/json/bot-settings.json b/lib/json/bot-settings.json new file mode 100644 index 00000000..de84e606 --- /dev/null +++ b/lib/json/bot-settings.json @@ -0,0 +1 @@ +"{\"profile\":{\"title\":\"\",\"phone\":\"\",\"skype\":\"\",\"real_name\":\"Jessica Stone\",\"real_name_normalized\":\"Jessica Stone\",\"display_name\":\"Jessica\",\"display_name_normalized\":\"Jessica\",\"fields\":null,\"status_text\":\"\",\"status_emoji\":\":rainbow:\",\"status_expiration\":0,\"avatar_hash\":\"g3f062ade197\",\"email\":\"jstone4815@gmail.com\",\"first_name\":\"Jessica\",\"last_name\":\"Stone\",\"image_24\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png\",\"image_32\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png\",\"image_48\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png\",\"image_72\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png\",\"image_192\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png\",\"image_512\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png\",\"status_text_canonical\":\"\"},\"ok\":true,\"username\":\"jessica\"}" \ No newline at end of file diff --git a/lib/recipient.rb b/lib/recipient.rb new file mode 100644 index 00000000..dd1a756c --- /dev/null +++ b/lib/recipient.rb @@ -0,0 +1,59 @@ +require 'httparty' +require 'dotenv' + +Dotenv.load + +BASE_URL = "https://slack.com/api/" +TOKEN = ENV["SLACK_TOKEN"] +QUERY = { + token: TOKEN, + pretty: 1 +} + +class Recipient + attr_reader :slack_id, :name + + def initialize(slack_id, name) + @slack_id = slack_id + @name = name + end + + def send_message(message) + response = HTTParty.post(BASE_URL + "chat.postMessage", { + headers: { + "Content-Type": "application/x-www-form-urlencoded" + }, + query: { + token: TOKEN, + channel: @slack_id, + text: message + } + }) + + if response.code == 200 && response.parsed_response["ok"] + return true + else + raise SlackApiError, "We encountered a problem: #{response["error"]}" + end + end + + def self.get(endpoint) + response = HTTParty.get(BASE_URL + endpoint, query: QUERY) + if response.code == 200 && response["ok"] + return response + else + raise SlackApiError, "We encountered a problem: #{response["error"]}" + end + end + + def details + # implement in child class + end + + def self.list_all + # implement in child class + end +end + +class SlackApiError < Exception +end \ No newline at end of file diff --git a/lib/slack.rb b/lib/slack.rb index 8a0b659b..904c405d 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,12 +1,96 @@ #!/usr/bin/env ruby +require_relative 'workspace' +require 'table_print' + +WORKSPACE = Workspace.new def main puts "Welcome to the Ada Slack CLI!" - workspace = Workspace.new - # TODO project + puts "This workspace has #{WORKSPACE.users.length} users and #{WORKSPACE.channels.length} channels" + + input = "" + until input == "quit" + puts "\nWhat would you like to do?" + list_options + input = gets.chomp.downcase + + case input + when "1", "list users" + list_users + when "2", "list channels" + list_channels + when "3", "select user" + select_user + when "4", "select channel" + select_channel + when "5", "details" + show_details + when "6", "send message" + send_message + when "7", "customize bot" + customize_bot + when "8", "quit" + input = "quit" + else + puts "That's not a valid option, please try again." + end + end puts "Thank you for using the Ada Slack CLI" end +def list_options + options = ["list users", "list channels", "select user", "select channel", "details", "send message", "customize bot", "quit"] + options.each_with_index do |option, i| + puts "#{i + 1}. #{option}" + end +end + +def send_message + if WORKSPACE.selected == "" + puts "Please select a recipient before sending a message." + return + end + + message = "" + until message != "" + puts "Enter the message you would like to send to the selected recipient: " + message = gets.chomp + end + WORKSPACE.selected.send_message(message) +end + +def list_users + tp WORKSPACE.users, :slack_id, :name, :real_name +end + +def list_channels + tp WORKSPACE.channels, :slack_id, :name, :topic, :member_count +end + +def select_user + print "\nProvide the name or Slack ID of the user you want to select: " + WORKSPACE.select_user(gets.chomp.upcase) + puts "No match found." if WORKSPACE.selected == "" +end + +def select_channel + print "\nProvide the name or Slack ID of the channel you want to select: " + WORKSPACE.select_channel(gets.chomp.upcase) + puts "No match found." if WORKSPACE.selected == "" +end + +def show_details + puts "Please make a selection first" if !WORKSPACE.show_details +end + +def customize_bot + print "Enter a new name for the bot: " + new_bot_name = gets.chomp + print "Enter a new status emoji for the bot (Syntax > :emoji_name:): " + new_status_emoji = gets.chomp + WORKSPACE.customize_bot(new_bot_name, new_status_emoji) +end + main if __FILE__ == $PROGRAM_NAME \ No newline at end of file diff --git a/lib/user.rb b/lib/user.rb new file mode 100644 index 00000000..5036946a --- /dev/null +++ b/lib/user.rb @@ -0,0 +1,32 @@ +require_relative 'recipient' +require 'table_print' + +class User < Recipient + attr_reader :slack_id, :name, :real_name, :status_text, :status_emoji + + def initialize(slack_id, name, real_name, status_text, status_emoji) + super(slack_id, name) + @real_name = real_name + @status_text = status_text + @status_emoji = status_emoji + end + + def details + return tp self, :slack_id, :name, :real_name, :status_text, :status_emoji + end + + def self.list_all + response = self.get("users.list") + all = response["members"].map do |member| + User.new( + member["id"], + member["name"], + member["real_name"], + member["profile"]["status_text"], + member["profile"]["status_emoji"] + ) + end + return all + end + +end \ No newline at end of file diff --git a/lib/workspace.rb b/lib/workspace.rb new file mode 100644 index 00000000..5a7c13f4 --- /dev/null +++ b/lib/workspace.rb @@ -0,0 +1,76 @@ +require_relative "user" +require_relative "channel" +require 'json' + +class Workspace + attr_reader :users, :channels + attr_accessor :selected + + def initialize + @users = User.list_all + @channels = Channel.list_all + @selected = "" + end + + def select_channel(input) + select("channel", input) + end + + def select_user(input) + select("user", input) + end + + # helper method for select_channel and select_user + def select(type, input) + instance_variable_get("@#{type}s").each do |item| + if item.slack_id.upcase == input.upcase || item.name.upcase == input.upcase + @selected = item + break + else + @selected = "" + end + end + end + + def show_details + return @selected == "" ? nil : @selected.details + end + + # https://api.slack.com/methods/users.profile.set + def customize_bot(username, emoji) + response = HTTParty.post(BASE_URL + "users.profile.set", { + headers: { + "Content-Type": "application/json", + }, + query: { + token: TOKEN, + profile: ({ + "display_name": username, + "status_emoji": emoji + }).to_json + } + }) + + if response.code == 200 && response["ok"] + # https://stackoverflow.com/questions/27163085/read-and-write-json-data-from-form-to-file + # opens a file using the path provided + # w+: Read-write - overwrites the existing file or creates new file if no file exists + File.open("./lib/json/bot-settings.json", "w+") do |file| + # generates a JSON file from the argument provided (response) and writes it into the file + file.write(JSON.generate(response)) + end + else + if response["error"] == "profile_status_set_failed_not_emoji_syntax" + puts "Please try again, and use proper emoji syntax (:emoji_name:)" + elsif response["error"] == "profile_status_set_failed_not_valid_emoji" + puts "Please try again, #{emoji} is not in our library." + else + puts "#{response["error"]}" + end + end + end + + # TODO: As a user, I can see a history of messages sent to the currently selected recipient. If I change recipients, the message list should also change. + def message_history + end +end \ No newline at end of file diff --git a/test/cassettes/channel-details.yml b/test/cassettes/channel-details.yml new file mode 100644 index 00000000..c8616c39 --- /dev/null +++ b/test/cassettes/channel-details.yml @@ -0,0 +1,263 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/conversations.list?pretty=1&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: + - '668' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:20:36 GMT + Server: + - Apache + X-Slack-Req-Id: + - 7d6c28e9dae8f408ad2a9f5136e6c285 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-4tm2 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 f126db770f21f288439f44d357978a27.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - f7xXM4dW9re0nqGuQ0gavNy0oNccRGmW1_U73PaYfiyA_Q-SBV08mA== + body: + encoding: ASCII-8BIT + string: | + { + "ok": true, + "channels": [ + { + "id": "CV5KNMDKN", + "name": "slack-cli", + "is_channel": true, + "is_group": false, + "is_im": false, + "created": 1583868526, + "is_archived": false, + "is_general": false, + "unlinked": 0, + "name_normalized": "slack-cli", + "is_shared": false, + "parent_conversation": null, + "creator": "UV5KNL1UL", + "is_ext_shared": false, + "is_org_shared": false, + "shared_team_ids": [ + "TV5KNL1LL" + ], + "pending_shared": [], + "pending_connected_team_ids": [], + "is_pending_ext_shared": false, + "is_member": true, + "is_private": false, + "is_mpim": false, + "topic": { + "value": "", + "creator": "", + "last_set": 0 + }, + "purpose": { + "value": "", + "creator": "", + "last_set": 0 + }, + "previous_names": [], + "num_members": 4 + }, + { + "id": "CV63MEVG8", + "name": "general", + "is_channel": true, + "is_group": false, + "is_im": false, + "created": 1583868525, + "is_archived": false, + "is_general": true, + "unlinked": 0, + "name_normalized": "general", + "is_shared": false, + "parent_conversation": null, + "creator": "UV5KNL1UL", + "is_ext_shared": false, + "is_org_shared": false, + "shared_team_ids": [ + "TV5KNL1LL" + ], + "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": "UV5KNL1UL", + "last_set": 1583868525 + }, + "purpose": { + "value": "This channel is for workspace-wide communication and announcements. All members are in this channel.", + "creator": "UV5KNL1UL", + "last_set": 1583868525 + }, + "previous_names": [], + "num_members": 5 + }, + { + "id": "CV63MEZTJ", + "name": "random", + "is_channel": true, + "is_group": false, + "is_im": false, + "created": 1583868525, + "is_archived": false, + "is_general": false, + "unlinked": 0, + "name_normalized": "random", + "is_shared": false, + "parent_conversation": null, + "creator": "UV5KNL1UL", + "is_ext_shared": false, + "is_org_shared": false, + "shared_team_ids": [ + "TV5KNL1LL" + ], + "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": "UV5KNL1UL", + "last_set": 1583868525 + }, + "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": "UV5KNL1UL", + "last_set": 1583868525 + }, + "previous_names": [], + "num_members": 4 + } + ], + "response_metadata": { + "next_cursor": "" + } + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:20:36 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: + - '54' + Connection: + - keep-alive + Date: + - Mon, 23 Mar 2020 19:31:30 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 5cd55865d27197e1ed9e65d647e255ce + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-qsab + X-Cache: + - Miss from cloudfront + Via: + - 1.1 943c6a4d4ee43b18ee91634536f53eae.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - Go1mKq1jyzAD5POXdwFeS91PTtiBZHwAHuea3TWfBh1204amPXlolQ== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"token_revoked"}' + http_version: null + recorded_at: Mon, 23 Mar 2020 19:31:30 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/channels-list-fail.yml b/test/cassettes/channels-list-fail.yml new file mode 100644 index 00000000..9a03ce8f --- /dev/null +++ b/test/cassettes/channels-list-fail.yml @@ -0,0 +1,136 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/channelsfail.list?pretty=1&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: + - '91' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:20:01 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - '09d8d6443d613950d10f7e457df7ee0f' + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-cexh + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e66162aafd55b64ba1478ff7105150fb.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - _IfAJ7hQFpFcssgYE_nd6E2OZJ7BGhkRcTAshVliO7aWd5GfL4XbUQ== + body: + encoding: ASCII-8BIT + string: | + { + "ok": false, + "error": "unknown_method", + "req_method": "channelsfail.list" + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:20:01 GMT +- request: + method: get + uri: https://slack.com/api/channelsfail.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: + - '83' + Connection: + - keep-alive + Date: + - Mon, 23 Mar 2020 19:31:30 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 2a82f63e90d768d2b50655933f475263 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-mbv8 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 eab8a154a09e69260fbfe4df90182b2f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 3bxQzFXm45-M3XphOotcDs5nCeJczW6iDONxnMS2HluSKVoAdcCWPw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"channelsfail.list"}' + http_version: null + recorded_at: Mon, 23 Mar 2020 19:31:30 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/channels-list.yml b/test/cassettes/channels-list.yml new file mode 100644 index 00000000..e1f64b00 --- /dev/null +++ b/test/cassettes/channels-list.yml @@ -0,0 +1,252 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/channels.list?pretty=1&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: + - '654' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:20:01 GMT + Server: + - Apache + X-Slack-Req-Id: + - 1d808829f68ad96d86ccce52f9b7b9d9 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-suv8 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 36810aa1793ee589dc8c194860296079.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - BlB-kdgKMB62mAFYGofmTGmw0OA9AozLTyPRX2v1WEd9jikeJCMyAA== + body: + encoding: ASCII-8BIT + string: | + { + "ok": true, + "channels": [ + { + "id": "CV5KNMDKN", + "name": "slack-cli", + "is_channel": true, + "created": 1583868526, + "is_archived": false, + "is_general": false, + "unlinked": 0, + "creator": "UV5KNL1UL", + "name_normalized": "slack-cli", + "is_shared": false, + "is_org_shared": false, + "is_member": true, + "is_private": false, + "is_mpim": false, + "members": [ + "UV5KWEASY", + "UV5KNL1UL", + "UV66MLLSH", + "UV66H40LV" + ], + "topic": { + "value": "", + "creator": "", + "last_set": 0 + }, + "purpose": { + "value": "", + "creator": "", + "last_set": 0 + }, + "previous_names": [], + "num_members": 4 + }, + { + "id": "CV63MEVG8", + "name": "general", + "is_channel": true, + "created": 1583868525, + "is_archived": false, + "is_general": true, + "unlinked": 0, + "creator": "UV5KNL1UL", + "name_normalized": "general", + "is_shared": false, + "is_org_shared": false, + "is_member": true, + "is_private": false, + "is_mpim": false, + "members": [ + "UV5KWEASY", + "UV5KNL1UL", + "UV66MLLSH", + "UV66H40LV", + "UUV2F0L67" + ], + "topic": { + "value": "Company-wide announcements and work-based matters", + "creator": "UV5KNL1UL", + "last_set": 1583868525 + }, + "purpose": { + "value": "This channel is for workspace-wide communication and announcements. All members are in this channel.", + "creator": "UV5KNL1UL", + "last_set": 1583868525 + }, + "previous_names": [], + "num_members": 5 + }, + { + "id": "CV63MEZTJ", + "name": "random", + "is_channel": true, + "created": 1583868525, + "is_archived": false, + "is_general": false, + "unlinked": 0, + "creator": "UV5KNL1UL", + "name_normalized": "random", + "is_shared": false, + "is_org_shared": false, + "is_member": true, + "is_private": false, + "is_mpim": false, + "members": [ + "UV5KWEASY", + "UV5KNL1UL", + "UV66MLLSH", + "UV66H40LV" + ], + "topic": { + "value": "Non-work banter and water cooler conversation", + "creator": "UV5KNL1UL", + "last_set": 1583868525 + }, + "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": "UV5KNL1UL", + "last_set": 1583868525 + }, + "previous_names": [], + "num_members": 4 + } + ], + "response_metadata": { + "next_cursor": "" + } + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:20:01 GMT +- request: + method: get + uri: https://slack.com/api/channels.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: + - '54' + Connection: + - keep-alive + Date: + - Mon, 23 Mar 2020 19:31:29 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - d76a5715e69eaf20a90e9f36a7474081 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-t1i0 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 7eb3b782ab09047ce0d11ee03763894c.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - cuY0MisGB2ltzrk4aFYQIjs1NDIjsbRXMuUVHWEvEufM84c5WfnM4Q== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"token_revoked"}' + http_version: null + recorded_at: Mon, 23 Mar 2020 19:31:29 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/send-message.yml b/test/cassettes/send-message.yml new file mode 100644 index 00000000..73d1a44c --- /dev/null +++ b/test/cassettes/send-message.yml @@ -0,0 +1,1166 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/conversations.list?pretty=1&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: + - '668' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 19:37:16 GMT + Server: + - Apache + X-Slack-Req-Id: + - 4665bf67acba95c40c4e7276eb52fe0b + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-ws1c + X-Cache: + - Miss from cloudfront + Via: + - 1.1 7022a5bbf9872d4a09d63e6cdb457dfe.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 7KoOJjIRg1xyA8fXvsm81IoliILiQuCyT8MicPZow7WW5VIqrPu3vw== + body: + encoding: ASCII-8BIT + string: | + { + "ok": true, + "channels": [ + { + "id": "CV5KNMDKN", + "name": "slack-cli", + "is_channel": true, + "is_group": false, + "is_im": false, + "created": 1583868526, + "is_archived": false, + "is_general": false, + "unlinked": 0, + "name_normalized": "slack-cli", + "is_shared": false, + "parent_conversation": null, + "creator": "UV5KNL1UL", + "is_ext_shared": false, + "is_org_shared": false, + "shared_team_ids": [ + "TV5KNL1LL" + ], + "pending_shared": [], + "pending_connected_team_ids": [], + "is_pending_ext_shared": false, + "is_member": true, + "is_private": false, + "is_mpim": false, + "topic": { + "value": "", + "creator": "", + "last_set": 0 + }, + "purpose": { + "value": "", + "creator": "", + "last_set": 0 + }, + "previous_names": [], + "num_members": 4 + }, + { + "id": "CV63MEVG8", + "name": "general", + "is_channel": true, + "is_group": false, + "is_im": false, + "created": 1583868525, + "is_archived": false, + "is_general": true, + "unlinked": 0, + "name_normalized": "general", + "is_shared": false, + "parent_conversation": null, + "creator": "UV5KNL1UL", + "is_ext_shared": false, + "is_org_shared": false, + "shared_team_ids": [ + "TV5KNL1LL" + ], + "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": "UV5KNL1UL", + "last_set": 1583868525 + }, + "purpose": { + "value": "This channel is for workspace-wide communication and announcements. All members are in this channel.", + "creator": "UV5KNL1UL", + "last_set": 1583868525 + }, + "previous_names": [], + "num_members": 5 + }, + { + "id": "CV63MEZTJ", + "name": "random", + "is_channel": true, + "is_group": false, + "is_im": false, + "created": 1583868525, + "is_archived": false, + "is_general": false, + "unlinked": 0, + "name_normalized": "random", + "is_shared": false, + "parent_conversation": null, + "creator": "UV5KNL1UL", + "is_ext_shared": false, + "is_org_shared": false, + "shared_team_ids": [ + "TV5KNL1LL" + ], + "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": "UV5KNL1UL", + "last_set": 1583868525 + }, + "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": "UV5KNL1UL", + "last_set": 1583868525 + }, + "previous_names": [], + "num_members": 4 + } + ], + "response_metadata": { + "next_cursor": "" + } + } + http_version: null + recorded_at: Sun, 15 Mar 2020 19:37:16 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=slack-cli&text=the%20test%20message&token= + body: + encoding: UTF-8 + string: '' + headers: + Content-Type: + - application/x-www-form-urlencoded + 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: + - '327' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 19:39:34 GMT + Server: + - Apache + X-Slack-Req-Id: + - feb726b162caac1999f030a80b8530cd + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-q9vr + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e4d3d5aafc7d7d582423c073065ab563.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - NAJODJN9YOiZ_v2aJAZ78Xux_nCx1uIYVB8CJ3rDSMLRZEZO5Jgcvg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channel":"CV5KNMDKN","ts":"1584301174.000100","message":{"bot_id":"BV8C35QUD","type":"message","text":"the + test message","user":"UV5KNL1UL","ts":"1584301174.000100","team":"TV5KNL1LL","bot_profile":{"id":"BV8C35QUD","deleted":false,"name":"Space + - Jessica - API Project","updated":1583952595,"app_id":"AV8C3U6A3","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TV5KNL1LL"}}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 19:39:34 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=bogus&text=the%20test%20message&token= + body: + encoding: UTF-8 + string: '' + headers: + Content-Type: + - application/x-www-form-urlencoded + 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: + - '60' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 19:58:21 GMT + Server: + - Apache + X-Slack-Req-Id: + - 75592cf952529462ebc685c3580152b7 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-9vsr + X-Cache: + - Miss from cloudfront + Via: + - 1.1 1a53057db389e96b4ef1bfbc925dde1c.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - LoU3WDPSek9UcRVUnoJbl1bGgeh6e4m81khRoIzX6K5Yem6_zqX_hA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"channel_not_found"}' + http_version: null + recorded_at: Sun, 15 Mar 2020 19:58:21 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=slack-cli&text=&token= + body: + encoding: UTF-8 + string: '' + headers: + Content-Type: + - application/x-www-form-urlencoded + 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: + - '50' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 20:09:24 GMT + Server: + - Apache + X-Slack-Req-Id: + - e2ee9d6094cbe7c3eac8b973e1ebb92b + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-adkr + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d90109c5a0c30f43223e0db85921c5c2.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - lbWLghi6T8jop7MYCwHVAq8TBPsazuHvYd4RIo0BmJbueJChPzOBOg== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"no_text"}' + http_version: null + recorded_at: Sun, 15 Mar 2020 20:09:24 GMT +- request: + method: get + uri: https://slack.com/api/users.list?pretty=1&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: + - '2149' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 22:19:52 GMT + Server: + - Apache + X-Slack-Req-Id: + - 767b527f0c1f433900cce3e281b5c722 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-f54k + X-Cache: + - Miss from cloudfront + Via: + - 1.1 6172bb1a5d00a3b06ae3700570ebe117.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - vYVmhObECuP5CjKVW-bCKlL7sWSbblFjzO57ysm6e6aktVs-JdYOkw== + body: + encoding: ASCII-8BIT + string: | + { + "ok": true, + "members": [ + { + "id": "USLACKBOT", + "team_id": "TV5KNL1LL", + "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": "TV5KNL1LL" + }, + "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": "UUTE7TU58", + "team_id": "TV5KNL1LL", + "name": "time_ross_api_project", + "deleted": false, + "color": "e0a729", + "real_name": "time_ross_api_project", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "time_ross_api_project", + "real_name_normalized": "time_ross_api_project", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "gde749a9a5c8", + "api_app_id": "AV5PEF4JG", + "always_active": false, + "bot_id": "BUTE7TQ0J", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583872726 + }, + { + "id": "UUV2F0L67", + "team_id": "TV5KNL1LL", + "name": "space_jessica_api_pro", + "deleted": false, + "color": "5b89d5", + "real_name": "space_jessica_api_pro", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jessica_api_pro", + "real_name_normalized": "space_jessica_api_pro", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ga3ae7173902", + "api_app_id": "AV8C3U6A3", + "always_active": false, + "bot_id": "BUWDPRGQH", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583883147 + }, + { + "id": "UUVR12XJ6", + "team_id": "TV5KNL1LL", + "name": "jeta", + "deleted": false, + "color": "2b6836", + "real_name": "jeta", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "jeta", + "real_name_normalized": "jeta", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g25d2f18ae89", + "api_app_id": "AVAEDFTTR", + "always_active": false, + "bot_id": "BV85DAQP6", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583959127 + }, + { + "id": "UV5KNL1UL", + "team_id": "TV5KNL1LL", + "name": "jstone4815", + "deleted": false, + "color": "9f69e7", + "real_name": "Jessica Stone", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Jessica Stone", + "real_name_normalized": "Jessica Stone", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g3f062ade197", + "first_name": "Jessica", + "last_name": "Stone", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583952236, + "has_2fa": false + }, + { + "id": "UV5KWEASY", + "team_id": "TV5KNL1LL", + "name": "syrosalynyu", + "deleted": false, + "color": "4bbe2e", + "real_name": "Ross", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Ross", + "real_name_normalized": "Ross", + "display_name": "Ross", + "display_name_normalized": "Ross", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g1d2dde50ccd", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583868729, + "has_2fa": false + }, + { + "id": "UV66H40LV", + "team_id": "TV5KNL1LL", + "name": "jeta.bajrami", + "deleted": false, + "color": "e7392d", + "real_name": "Jeta", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Jeta", + "real_name_normalized": "Jeta", + "display_name": "Jeta", + "display_name_normalized": "Jeta", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g8bc5d18fcd8", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583870734, + "has_2fa": false + }, + { + "id": "UV66MLLSH", + "team_id": "TV5KNL1LL", + "name": "quinruby0", + "deleted": false, + "color": "3c989f", + "real_name": "quin", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "quin", + "real_name_normalized": "quin", + "display_name": "quin", + "display_name_normalized": "quin", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ge32b4d91cd0", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583870863, + "has_2fa": false + }, + { + "id": "UV678M5JL", + "team_id": "TV5KNL1LL", + "name": "space_jessica_stone_a", + "deleted": true, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jessica_stone_a", + "real_name_normalized": "space_jessica_stone_a", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "gb05f6b63392", + "api_app_id": "AV66BRT7A", + "always_active": false, + "bot_id": "BV67TC6GM", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_bot": true, + "is_app_user": false, + "updated": 1583880597 + }, + { + "id": "UV69D9Z1B", + "team_id": "TV5KNL1LL", + "name": "space_jeta_api_projec", + "deleted": true, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jeta_api_projec", + "real_name_normalized": "space_jeta_api_projec", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ga3f6f6c4f3a", + "api_app_id": "AUTECGKJN", + "always_active": false, + "bot_id": "BV84UJ3RD", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_bot": true, + "is_app_user": false, + "updated": 1583957762 + }, + { + "id": "UV8DATUPQ", + "team_id": "TV5KNL1LL", + "name": "time_quin_api_project", + "deleted": false, + "color": "674b1b", + "real_name": "time_quin_api_project", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "time_quin_api_project", + "real_name_normalized": "time_quin_api_project", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g180c140de8a", + "api_app_id": "AV8D2QGFQ", + "always_active": false, + "bot_id": "BUUNT1ZMZ", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583871903 + } + ], + "cache_ts": 1584310792, + "response_metadata": { + "next_cursor": "" + } + } + http_version: null + recorded_at: Sun, 15 Mar 2020 22:19:52 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=USLACKBOT&text=the%20test%20message&token= + body: + encoding: UTF-8 + string: '' + headers: + Content-Type: + - application/x-www-form-urlencoded + 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: + - '329' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 22:19:52 GMT + Server: + - Apache + X-Slack-Req-Id: + - c9616b8deeac445da83ffd275d0b14a9 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-jap3 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 caf6806821bc479b28a6f1ce3043b8a6.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - KmMJdndEI4c7O2bwX4OPrGG4AwDPGbZL6rwAfo9KGpAXnBYAYMp0dQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channel":"DUT9W371Q","ts":"1584310792.000400","message":{"bot_id":"BV8C35QUD","type":"message","text":"the + test message","user":"UV5KNL1UL","ts":"1584310792.000400","team":"TV5KNL1LL","bot_profile":{"id":"BV8C35QUD","deleted":false,"name":"Space + - Jessica - API Project","updated":1583952595,"app_id":"AV8C3U6A3","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TV5KNL1LL"}}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 22:19:52 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: + - '54' + Connection: + - keep-alive + Date: + - Mon, 23 Mar 2020 19:31:30 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - a7d7de98803b8507af3e50b118c7f872 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-9hkc + X-Cache: + - Miss from cloudfront + Via: + - 1.1 7e87179efaa9e3c316bd3d3a74cfded8.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 0hE9JeODPzGiLjuapVWcMs3q1iw_-Zzh7vLpXIzCG5W2ba2FM9yyhw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"token_revoked"}' + http_version: null + recorded_at: Mon, 23 Mar 2020 19:31:30 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: + - '54' + Connection: + - keep-alive + Date: + - Mon, 23 Mar 2020 19:31:30 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - r + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 44a3ee6a7fbe9f69fe5cb1e91115f234 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-dyrq + X-Cache: + - Miss from cloudfront + Via: + - 1.1 1b74ccf4cb51eacf97a0e6d60ae46a3f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - sLX8_y3N7UNVC8sFKMmSAwPY5dTZ9DWetU7Owl2AAI2dYbNCz5egBA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"token_revoked"}' + http_version: null + recorded_at: Mon, 23 Mar 2020 19:31:30 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/user-details.yml b/test/cassettes/user-details.yml new file mode 100644 index 00000000..c420db57 --- /dev/null +++ b/test/cassettes/user-details.yml @@ -0,0 +1,688 @@ +--- +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: + - '1990' + Connection: + - keep-alive + Date: + - Thu, 12 Mar 2020 04:57:21 GMT + Server: + - Apache + X-Slack-Req-Id: + - 10bbb2f652e93bacc96d18dddd500a21 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-zk2s + X-Cache: + - Miss from cloudfront + Via: + - 1.1 995664ee945c06fc706b5cb8e0e650dc.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - yxA4lsXImBdlzvHgJq5AVuIH-Qp1XlEiLgar76bPLKJVrN3eeJc7pw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV5KNL1LL","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":"TV5KNL1LL"},"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":"UUTE7TU58","team_id":"TV5KNL1LL","name":"time_ross_api_project","deleted":false,"color":"e0a729","real_name":"time_ross_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_ross_api_project","real_name_normalized":"time_ross_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gde749a9a5c8","api_app_id":"AV5PEF4JG","always_active":false,"bot_id":"BUTE7TQ0J","image_24":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583872726},{"id":"UUV2F0L67","team_id":"TV5KNL1LL","name":"space_jessica_api_pro","deleted":false,"color":"5b89d5","real_name":"space_jessica_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_api_pro","real_name_normalized":"space_jessica_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3ae7173902","api_app_id":"AV8C3U6A3","always_active":false,"bot_id":"BUWDPRGQH","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583883147},{"id":"UUVR12XJ6","team_id":"TV5KNL1LL","name":"jeta","deleted":false,"color":"2b6836","real_name":"jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"jeta","real_name_normalized":"jeta","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g25d2f18ae89","api_app_id":"AVAEDFTTR","always_active":false,"bot_id":"BV85DAQP6","image_24":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583959127},{"id":"UV5KNL1UL","team_id":"TV5KNL1LL","name":"jstone4815","deleted":false,"color":"9f69e7","real_name":"Jessica + Stone","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jessica + Stone","real_name_normalized":"Jessica Stone","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3f062ade197","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583952236,"has_2fa":false},{"id":"UV5KWEASY","team_id":"TV5KNL1LL","name":"syrosalynyu","deleted":false,"color":"4bbe2e","real_name":"Ross","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Ross","real_name_normalized":"Ross","display_name":"Ross","display_name_normalized":"Ross","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g1d2dde50ccd","image_24":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583868729,"has_2fa":false},{"id":"UV66H40LV","team_id":"TV5KNL1LL","name":"jeta.bajrami","deleted":false,"color":"e7392d","real_name":"Jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jeta","real_name_normalized":"Jeta","display_name":"Jeta","display_name_normalized":"Jeta","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g8bc5d18fcd8","image_24":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870734,"has_2fa":false},{"id":"UV66MLLSH","team_id":"TV5KNL1LL","name":"quinruby0","deleted":false,"color":"3c989f","real_name":"quin","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"quin","real_name_normalized":"quin","display_name":"quin","display_name_normalized":"quin","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge32b4d91cd0","image_24":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870863,"has_2fa":false},{"id":"UV678M5JL","team_id":"TV5KNL1LL","name":"space_jessica_stone_a","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_stone_a","real_name_normalized":"space_jessica_stone_a","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gb05f6b63392","api_app_id":"AV66BRT7A","always_active":false,"bot_id":"BV67TC6GM","image_24":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583880597},{"id":"UV69D9Z1B","team_id":"TV5KNL1LL","name":"space_jeta_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jeta_api_projec","real_name_normalized":"space_jeta_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3f6f6c4f3a","api_app_id":"AUTECGKJN","always_active":false,"bot_id":"BV84UJ3RD","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583957762},{"id":"UV8DATUPQ","team_id":"TV5KNL1LL","name":"time_quin_api_project","deleted":false,"color":"674b1b","real_name":"time_quin_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1583871903}],"cache_ts":1583989041,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Thu, 12 Mar 2020 04:57:21 GMT +- request: + method: get + uri: https://slack.com/api/users.list?pretty=1&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: + - '60' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:09:35 GMT + Server: + - Apache + X-Slack-Req-Id: + - c441976914bdf471cf7746f916b49e7c + Referrer-Policy: + - no-referrer + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Vary: + - Accept-Encoding + X-Accepted-Oauth-Scopes: + - users:read + X-Slack-Backend: + - r + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Content-Type-Options: + - nosniff + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-vmz3 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 4d8620b80ebe37d366388e117039aa8e.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 9K90F8yhfnRcmD1XPUi0cas1fcM9xXj_VJxCXcn2NSW4oZYdITucOg== + body: + encoding: ASCII-8BIT + string: | + { + "ok": false, + "error": "not_authed" + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:09:35 GMT +- request: + method: get + uri: https://slack.com/api/users.list?pretty=1&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: + - '2149' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:10:18 GMT + Server: + - Apache + X-Slack-Req-Id: + - ff0ed9cc929928fa81efef2c1285b2ef + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-7jn1 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 1f6e68152880a39d72e6bf2996cd6a61.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - KmfOxF1TNNuUNG1JJBDTnwP3PnEXUUKGtNOor_Y1afBYWTsPtRuOfg== + body: + encoding: ASCII-8BIT + string: | + { + "ok": true, + "members": [ + { + "id": "USLACKBOT", + "team_id": "TV5KNL1LL", + "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": "TV5KNL1LL" + }, + "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": "UUTE7TU58", + "team_id": "TV5KNL1LL", + "name": "time_ross_api_project", + "deleted": false, + "color": "e0a729", + "real_name": "time_ross_api_project", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "time_ross_api_project", + "real_name_normalized": "time_ross_api_project", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "gde749a9a5c8", + "api_app_id": "AV5PEF4JG", + "always_active": false, + "bot_id": "BUTE7TQ0J", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583872726 + }, + { + "id": "UUV2F0L67", + "team_id": "TV5KNL1LL", + "name": "space_jessica_api_pro", + "deleted": false, + "color": "5b89d5", + "real_name": "space_jessica_api_pro", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jessica_api_pro", + "real_name_normalized": "space_jessica_api_pro", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ga3ae7173902", + "api_app_id": "AV8C3U6A3", + "always_active": false, + "bot_id": "BUWDPRGQH", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583883147 + }, + { + "id": "UUVR12XJ6", + "team_id": "TV5KNL1LL", + "name": "jeta", + "deleted": false, + "color": "2b6836", + "real_name": "jeta", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "jeta", + "real_name_normalized": "jeta", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g25d2f18ae89", + "api_app_id": "AVAEDFTTR", + "always_active": false, + "bot_id": "BV85DAQP6", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583959127 + }, + { + "id": "UV5KNL1UL", + "team_id": "TV5KNL1LL", + "name": "jstone4815", + "deleted": false, + "color": "9f69e7", + "real_name": "Jessica Stone", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Jessica Stone", + "real_name_normalized": "Jessica Stone", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g3f062ade197", + "first_name": "Jessica", + "last_name": "Stone", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583952236, + "has_2fa": false + }, + { + "id": "UV5KWEASY", + "team_id": "TV5KNL1LL", + "name": "syrosalynyu", + "deleted": false, + "color": "4bbe2e", + "real_name": "Ross", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Ross", + "real_name_normalized": "Ross", + "display_name": "Ross", + "display_name_normalized": "Ross", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g1d2dde50ccd", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583868729, + "has_2fa": false + }, + { + "id": "UV66H40LV", + "team_id": "TV5KNL1LL", + "name": "jeta.bajrami", + "deleted": false, + "color": "e7392d", + "real_name": "Jeta", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Jeta", + "real_name_normalized": "Jeta", + "display_name": "Jeta", + "display_name_normalized": "Jeta", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g8bc5d18fcd8", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583870734, + "has_2fa": false + }, + { + "id": "UV66MLLSH", + "team_id": "TV5KNL1LL", + "name": "quinruby0", + "deleted": false, + "color": "3c989f", + "real_name": "quin", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "quin", + "real_name_normalized": "quin", + "display_name": "quin", + "display_name_normalized": "quin", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ge32b4d91cd0", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583870863, + "has_2fa": false + }, + { + "id": "UV678M5JL", + "team_id": "TV5KNL1LL", + "name": "space_jessica_stone_a", + "deleted": true, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jessica_stone_a", + "real_name_normalized": "space_jessica_stone_a", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "gb05f6b63392", + "api_app_id": "AV66BRT7A", + "always_active": false, + "bot_id": "BV67TC6GM", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_bot": true, + "is_app_user": false, + "updated": 1583880597 + }, + { + "id": "UV69D9Z1B", + "team_id": "TV5KNL1LL", + "name": "space_jeta_api_projec", + "deleted": true, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jeta_api_projec", + "real_name_normalized": "space_jeta_api_projec", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ga3f6f6c4f3a", + "api_app_id": "AUTECGKJN", + "always_active": false, + "bot_id": "BV84UJ3RD", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_bot": true, + "is_app_user": false, + "updated": 1583957762 + }, + { + "id": "UV8DATUPQ", + "team_id": "TV5KNL1LL", + "name": "time_quin_api_project", + "deleted": false, + "color": "674b1b", + "real_name": "time_quin_api_project", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "time_quin_api_project", + "real_name_normalized": "time_quin_api_project", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g180c140de8a", + "api_app_id": "AV8D2QGFQ", + "always_active": false, + "bot_id": "BUUNT1ZMZ", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583871903 + } + ], + "cache_ts": 1584216618, + "response_metadata": { + "next_cursor": "" + } + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:10:18 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/users-list-fail.yml b/test/cassettes/users-list-fail.yml new file mode 100644 index 00000000..ae8dd8bc --- /dev/null +++ b/test/cassettes/users-list-fail.yml @@ -0,0 +1,343 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/usersfail.list?pretty=1&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: + - '87' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:07:52 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - a33d6eaec123b5c97cbe4ece9f7f39c7 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-0b65 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 112d82578d402a38d8d02e8b857617e1.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - EUDL9rVuWtif27Y2kvjdDaT3e_-N2TgxVIOz1W7SD58x6YUeANgTMQ== + body: + encoding: ASCII-8BIT + string: | + { + "ok": false, + "error": "unknown_method", + "req_method": "usersfail.list" + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:07:52 GMT +- request: + method: get + uri: https://slack.com/api/usersfail.list?pretty=1&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: + - '87' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:07:52 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 8ad3c5d05254e2c973607f16a8d69ed5 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-dr0n + X-Cache: + - Miss from cloudfront + Via: + - 1.1 9046e5a276a05e60ee34c8475e92b8e7.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - bhWBj9qIMlBCglOXJZnZY1KM4KfgmvPbkyCN4Bg0uispV1Kh2MQe9g== + body: + encoding: ASCII-8BIT + string: | + { + "ok": false, + "error": "unknown_method", + "req_method": "usersfail.list" + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:07:52 GMT +- request: + method: get + uri: https://slack.com/api/usersfail.list?pretty=1&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: + - '87' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:10:18 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 8e976dc532f6306abf4fc14c3d935ddd + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-2zn9 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 0bb842bd5868b86440983b936bb0adef.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - aVIeom56Q3zP0v23S3cVLNWZEJ58J3KZRj4ofhBZ2rY6DRCz72eN8Q== + body: + encoding: ASCII-8BIT + string: | + { + "ok": false, + "error": "unknown_method", + "req_method": "usersfail.list" + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:10:18 GMT +- request: + method: get + uri: https://slack.com/api/usersfail.list?pretty=1&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: + - '87' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:10:18 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - fc08f2f137042fe7515fb2fb5db642cd + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-9hkc + X-Cache: + - Miss from cloudfront + Via: + - 1.1 ef6538ee7be7b17c84d06edb0f4c0a1a.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - G7myacKuYBA8MrZSOOiz2mhldhhJb4yZH-VCUqr51mqA7vDWag5KRQ== + body: + encoding: ASCII-8BIT + string: | + { + "ok": false, + "error": "unknown_method", + "req_method": "usersfail.list" + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:10:18 GMT +- request: + method: get + uri: https://slack.com/api/usersfail.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: + - '79' + Connection: + - keep-alive + Date: + - Mon, 23 Mar 2020 19:31:30 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 62751c927b971f3570f95d615e234d46 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-kmep + X-Cache: + - Miss from cloudfront + Via: + - 1.1 7e87179efaa9e3c316bd3d3a74cfded8.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - SDGM147avfqFVO_uqEQUh3pYye3LMZ_9JJX9Vle-8YjXHFY8s1squQ== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"usersfail.list"}' + http_version: null + recorded_at: Mon, 23 Mar 2020 19:31:30 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/users-list.yml b/test/cassettes/users-list.yml new file mode 100644 index 00000000..fec1370f --- /dev/null +++ b/test/cassettes/users-list.yml @@ -0,0 +1,668 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?pretty=1&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: + - '60' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:07:52 GMT + Server: + - Apache + X-Slack-Req-Id: + - 592bab4514d9fe8845be56cbb872febc + Referrer-Policy: + - no-referrer + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Vary: + - Accept-Encoding + X-Accepted-Oauth-Scopes: + - users:read + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Content-Type-Options: + - nosniff + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-g1md + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d8792dbd3191bbe722eba5b536b979c8.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 3muMg12AtbgqdFv7Ey8z56OzjEJ1Ma9lJaUk7DgIEI9WhXRqnXpo4g== + body: + encoding: ASCII-8BIT + string: | + { + "ok": false, + "error": "not_authed" + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:07:52 GMT +- request: + method: get + uri: https://slack.com/api/users.list?pretty=1&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: + - '2149' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:10:18 GMT + Server: + - Apache + X-Slack-Req-Id: + - 01efe195e5386da8ebbcae1d5e23e0d9 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-y98o + X-Cache: + - Miss from cloudfront + Via: + - 1.1 8275ae3e861a04a309ec8b466cdc4a26.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - ykFefgAiIRhtLbhu9ruEJg6AIhLEuH0-04oG78RuCZe64BU3hvaIVA== + body: + encoding: ASCII-8BIT + string: | + { + "ok": true, + "members": [ + { + "id": "USLACKBOT", + "team_id": "TV5KNL1LL", + "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": "TV5KNL1LL" + }, + "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": "UUTE7TU58", + "team_id": "TV5KNL1LL", + "name": "time_ross_api_project", + "deleted": false, + "color": "e0a729", + "real_name": "time_ross_api_project", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "time_ross_api_project", + "real_name_normalized": "time_ross_api_project", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "gde749a9a5c8", + "api_app_id": "AV5PEF4JG", + "always_active": false, + "bot_id": "BUTE7TQ0J", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583872726 + }, + { + "id": "UUV2F0L67", + "team_id": "TV5KNL1LL", + "name": "space_jessica_api_pro", + "deleted": false, + "color": "5b89d5", + "real_name": "space_jessica_api_pro", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jessica_api_pro", + "real_name_normalized": "space_jessica_api_pro", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ga3ae7173902", + "api_app_id": "AV8C3U6A3", + "always_active": false, + "bot_id": "BUWDPRGQH", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583883147 + }, + { + "id": "UUVR12XJ6", + "team_id": "TV5KNL1LL", + "name": "jeta", + "deleted": false, + "color": "2b6836", + "real_name": "jeta", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "jeta", + "real_name_normalized": "jeta", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g25d2f18ae89", + "api_app_id": "AVAEDFTTR", + "always_active": false, + "bot_id": "BV85DAQP6", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583959127 + }, + { + "id": "UV5KNL1UL", + "team_id": "TV5KNL1LL", + "name": "jstone4815", + "deleted": false, + "color": "9f69e7", + "real_name": "Jessica Stone", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Jessica Stone", + "real_name_normalized": "Jessica Stone", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g3f062ade197", + "first_name": "Jessica", + "last_name": "Stone", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583952236, + "has_2fa": false + }, + { + "id": "UV5KWEASY", + "team_id": "TV5KNL1LL", + "name": "syrosalynyu", + "deleted": false, + "color": "4bbe2e", + "real_name": "Ross", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Ross", + "real_name_normalized": "Ross", + "display_name": "Ross", + "display_name_normalized": "Ross", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g1d2dde50ccd", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583868729, + "has_2fa": false + }, + { + "id": "UV66H40LV", + "team_id": "TV5KNL1LL", + "name": "jeta.bajrami", + "deleted": false, + "color": "e7392d", + "real_name": "Jeta", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Jeta", + "real_name_normalized": "Jeta", + "display_name": "Jeta", + "display_name_normalized": "Jeta", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g8bc5d18fcd8", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583870734, + "has_2fa": false + }, + { + "id": "UV66MLLSH", + "team_id": "TV5KNL1LL", + "name": "quinruby0", + "deleted": false, + "color": "3c989f", + "real_name": "quin", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "quin", + "real_name_normalized": "quin", + "display_name": "quin", + "display_name_normalized": "quin", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ge32b4d91cd0", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583870863, + "has_2fa": false + }, + { + "id": "UV678M5JL", + "team_id": "TV5KNL1LL", + "name": "space_jessica_stone_a", + "deleted": true, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jessica_stone_a", + "real_name_normalized": "space_jessica_stone_a", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "gb05f6b63392", + "api_app_id": "AV66BRT7A", + "always_active": false, + "bot_id": "BV67TC6GM", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_bot": true, + "is_app_user": false, + "updated": 1583880597 + }, + { + "id": "UV69D9Z1B", + "team_id": "TV5KNL1LL", + "name": "space_jeta_api_projec", + "deleted": true, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jeta_api_projec", + "real_name_normalized": "space_jeta_api_projec", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ga3f6f6c4f3a", + "api_app_id": "AUTECGKJN", + "always_active": false, + "bot_id": "BV84UJ3RD", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_bot": true, + "is_app_user": false, + "updated": 1583957762 + }, + { + "id": "UV8DATUPQ", + "team_id": "TV5KNL1LL", + "name": "time_quin_api_project", + "deleted": false, + "color": "674b1b", + "real_name": "time_quin_api_project", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "time_quin_api_project", + "real_name_normalized": "time_quin_api_project", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g180c140de8a", + "api_app_id": "AV8D2QGFQ", + "always_active": false, + "bot_id": "BUUNT1ZMZ", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583871903 + } + ], + "cache_ts": 1584216618, + "response_metadata": { + "next_cursor": "" + } + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:10:18 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: + - '54' + Connection: + - keep-alive + Date: + - Mon, 23 Mar 2020 19:31:30 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - e07390dfe6acc47699bac4b5fe6ba2cf + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-thfe + X-Cache: + - Miss from cloudfront + Via: + - 1.1 559326ad73233233a9e52cb9e8601ede.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - LSBuatQCBY2CxY1qlBwzO19I9PEGlzUhI1e1UyOP9ZIZGdSB_JWXaw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"token_revoked"}' + http_version: null + recorded_at: Mon, 23 Mar 2020 19:31:30 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/workspace-customize-bot.yml b/test/cassettes/workspace-customize-bot.yml new file mode 100644 index 00000000..4646a37d --- /dev/null +++ b/test/cassettes/workspace-customize-bot.yml @@ -0,0 +1,158 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.info?token=&user=UV5KNL1UL + 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: + - '576' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 06:46:30 GMT + Server: + - Apache + X-Slack-Req-Id: + - b45fef6664c0d4bc8d699c5e3ca6e3f9 + X-Oauth-Scopes: + - identify,channels:read,users:read,users.profile:read,chat:write,users.profile:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-83yj + X-Cache: + - Miss from cloudfront + Via: + - 1.1 7022a5bbf9872d4a09d63e6cdb457dfe.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - z4alBjUGl29UNUYzGsKsOR40Q1McB_MPnNgNzjDu6HT4KnAiGwC3sg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"user":{"id":"UV5KNL1UL","team_id":"TV5KNL1LL","name":"jessica","deleted":false,"color":"9f69e7","real_name":"Jessica + Stone","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jessica + Stone","real_name_normalized":"Jessica Stone","display_name":"jessica bot + test","display_name_normalized":"jessica bot test","status_text":"","status_emoji":":rainbow:","status_expiration":0,"avatar_hash":"g3f062ade197","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1584341007,"has_2fa":false}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 06:46:30 GMT +- request: + method: post + uri: https://slack.com/api/users.profile.set?profile=%7B%22display_name%22:%22jessica%20bot%20test%22,%22status_emoji%22:%22:rainbow:%22%7D&token= + body: + encoding: UTF-8 + string: '' + headers: + Content-Type: + - application/json + 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: + - '413' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 06:46:30 GMT + Server: + - Apache + X-Slack-Req-Id: + - b6a2479fedffa41e24ef750e642fb138 + X-Oauth-Scopes: + - identify,channels:read,users:read,users.profile:read,chat:write,users.profile:write + X-Accepted-Oauth-Scopes: + - users.profile:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-coly + X-Cache: + - Miss from cloudfront + Via: + - 1.1 943c6a4d4ee43b18ee91634536f53eae.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - mW5GL-RGwNJ1UGoVaECqEQlbX22De6w9MY9m8BoMm1XzDPclhmw0YA== + body: + encoding: ASCII-8BIT + string: '{"profile":{"title":"","phone":"","skype":"","real_name":"Jessica Stone","real_name_normalized":"Jessica + Stone","display_name":"jessica bot test","display_name_normalized":"jessica + bot test","fields":null,"status_text":"","status_emoji":":rainbow:","status_expiration":0,"avatar_hash":"g3f062ade197","email":"jstone4815@gmail.com","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":""},"ok":true,"username":"jessica"}' + http_version: null + recorded_at: Mon, 16 Mar 2020 06:46:30 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/workspace-customize-bot2.yml b/test/cassettes/workspace-customize-bot2.yml new file mode 100644 index 00000000..88b8bff1 --- /dev/null +++ b/test/cassettes/workspace-customize-bot2.yml @@ -0,0 +1,80 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.info?token=&user=UV5KNL1UL + 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: + - '576' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 06:46:30 GMT + Server: + - Apache + X-Slack-Req-Id: + - 6f588dacdfadbce004810b55d5d638e1 + X-Oauth-Scopes: + - identify,channels:read,users:read,users.profile:read,chat:write,users.profile:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-tqr5 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 0732be5515ffeda639cfe5f22fb04df6.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - rWC8ujUTsHsrlOvu3_A22QSGiF2m1FV8GzNv-1Eg3jOuI3j3H7nyrQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"user":{"id":"UV5KNL1UL","team_id":"TV5KNL1LL","name":"jessica","deleted":false,"color":"9f69e7","real_name":"Jessica + Stone","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jessica + Stone","real_name_normalized":"Jessica Stone","display_name":"jessica bot + test","display_name_normalized":"jessica bot test","status_text":"","status_emoji":":rainbow:","status_expiration":0,"avatar_hash":"g3f062ade197","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1584341190,"has_2fa":false}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 06:46:31 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/workspace-data.yml b/test/cassettes/workspace-data.yml new file mode 100644 index 00000000..048af301 --- /dev/null +++ b/test/cassettes/workspace-data.yml @@ -0,0 +1,794 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?pretty=1&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: + - '2150' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:47:59 GMT + Server: + - Apache + X-Slack-Req-Id: + - 1a3c1a2a6904ef87561f4b323a0dd3ed + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-u4yb + X-Cache: + - Miss from cloudfront + Via: + - 1.1 1949caaabae48a894fcd770a3e1384f7.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 313Ok1IzcF29OhUUdBK_8qgMrNiWA1TiKl6FuxM8ve85jagoAyliMw== + body: + encoding: ASCII-8BIT + string: | + { + "ok": true, + "members": [ + { + "id": "USLACKBOT", + "team_id": "TV5KNL1LL", + "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": "TV5KNL1LL" + }, + "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": "UUTE7TU58", + "team_id": "TV5KNL1LL", + "name": "time_ross_api_project", + "deleted": false, + "color": "e0a729", + "real_name": "time_ross_api_project", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "time_ross_api_project", + "real_name_normalized": "time_ross_api_project", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "gde749a9a5c8", + "api_app_id": "AV5PEF4JG", + "always_active": false, + "bot_id": "BUTE7TQ0J", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583872726 + }, + { + "id": "UUV2F0L67", + "team_id": "TV5KNL1LL", + "name": "space_jessica_api_pro", + "deleted": false, + "color": "5b89d5", + "real_name": "space_jessica_api_pro", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jessica_api_pro", + "real_name_normalized": "space_jessica_api_pro", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ga3ae7173902", + "api_app_id": "AV8C3U6A3", + "always_active": false, + "bot_id": "BUWDPRGQH", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583883147 + }, + { + "id": "UUVR12XJ6", + "team_id": "TV5KNL1LL", + "name": "jeta", + "deleted": false, + "color": "2b6836", + "real_name": "jeta", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "jeta", + "real_name_normalized": "jeta", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g25d2f18ae89", + "api_app_id": "AVAEDFTTR", + "always_active": false, + "bot_id": "BV85DAQP6", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583959127 + }, + { + "id": "UV5KNL1UL", + "team_id": "TV5KNL1LL", + "name": "jstone4815", + "deleted": false, + "color": "9f69e7", + "real_name": "Jessica Stone", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Jessica Stone", + "real_name_normalized": "Jessica Stone", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g3f062ade197", + "first_name": "Jessica", + "last_name": "Stone", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583952236, + "has_2fa": false + }, + { + "id": "UV5KWEASY", + "team_id": "TV5KNL1LL", + "name": "syrosalynyu", + "deleted": false, + "color": "4bbe2e", + "real_name": "Ross", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Ross", + "real_name_normalized": "Ross", + "display_name": "Ross", + "display_name_normalized": "Ross", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g1d2dde50ccd", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583868729, + "has_2fa": false + }, + { + "id": "UV66H40LV", + "team_id": "TV5KNL1LL", + "name": "jeta.bajrami", + "deleted": false, + "color": "e7392d", + "real_name": "Jeta", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "Jeta", + "real_name_normalized": "Jeta", + "display_name": "Jeta", + "display_name_normalized": "Jeta", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g8bc5d18fcd8", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583870734, + "has_2fa": false + }, + { + "id": "UV66MLLSH", + "team_id": "TV5KNL1LL", + "name": "quinruby0", + "deleted": false, + "color": "3c989f", + "real_name": "quin", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "quin", + "real_name_normalized": "quin", + "display_name": "quin", + "display_name_normalized": "quin", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ge32b4d91cd0", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "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": 1583870863, + "has_2fa": false + }, + { + "id": "UV678M5JL", + "team_id": "TV5KNL1LL", + "name": "space_jessica_stone_a", + "deleted": true, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jessica_stone_a", + "real_name_normalized": "space_jessica_stone_a", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "gb05f6b63392", + "api_app_id": "AV66BRT7A", + "always_active": false, + "bot_id": "BV67TC6GM", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_bot": true, + "is_app_user": false, + "updated": 1583880597 + }, + { + "id": "UV69D9Z1B", + "team_id": "TV5KNL1LL", + "name": "space_jeta_api_projec", + "deleted": true, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "space_jeta_api_projec", + "real_name_normalized": "space_jeta_api_projec", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "ga3f6f6c4f3a", + "api_app_id": "AUTECGKJN", + "always_active": false, + "bot_id": "BV84UJ3RD", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_bot": true, + "is_app_user": false, + "updated": 1583957762 + }, + { + "id": "UV8DATUPQ", + "team_id": "TV5KNL1LL", + "name": "time_quin_api_project", + "deleted": false, + "color": "674b1b", + "real_name": "time_quin_api_project", + "tz": "America\/Los_Angeles", + "tz_label": "Pacific Daylight Time", + "tz_offset": -25200, + "profile": { + "title": "", + "phone": "", + "skype": "", + "real_name": "time_quin_api_project", + "real_name_normalized": "time_quin_api_project", + "display_name": "", + "display_name_normalized": "", + "status_text": "", + "status_emoji": "", + "status_expiration": 0, + "avatar_hash": "g180c140de8a", + "api_app_id": "AV8D2QGFQ", + "always_active": false, + "bot_id": "BUUNT1ZMZ", + "image_24": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png", + "image_32": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png", + "image_48": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png", + "image_72": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png", + "image_192": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png", + "image_512": "https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png", + "status_text_canonical": "", + "team": "TV5KNL1LL" + }, + "is_admin": false, + "is_owner": false, + "is_primary_owner": false, + "is_restricted": false, + "is_ultra_restricted": false, + "is_bot": true, + "is_app_user": false, + "updated": 1583871903 + } + ], + "cache_ts": 1584218879, + "response_metadata": { + "next_cursor": "" + } + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:47:59 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?pretty=1&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: + - '668' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:47:59 GMT + Server: + - Apache + X-Slack-Req-Id: + - fcd8ae81110486368a6816b454570ca8 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-ij90 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 0cf6c59c77f0fff670ae085179adc459.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - JhIvjz05DKd3_GsQVfUMxoStpAwhFxrKkF5-zOJc9Dt0tEd4urAXDQ== + body: + encoding: ASCII-8BIT + string: | + { + "ok": true, + "channels": [ + { + "id": "CV5KNMDKN", + "name": "slack-cli", + "is_channel": true, + "is_group": false, + "is_im": false, + "created": 1583868526, + "is_archived": false, + "is_general": false, + "unlinked": 0, + "name_normalized": "slack-cli", + "is_shared": false, + "parent_conversation": null, + "creator": "UV5KNL1UL", + "is_ext_shared": false, + "is_org_shared": false, + "shared_team_ids": [ + "TV5KNL1LL" + ], + "pending_shared": [], + "pending_connected_team_ids": [], + "is_pending_ext_shared": false, + "is_member": true, + "is_private": false, + "is_mpim": false, + "topic": { + "value": "", + "creator": "", + "last_set": 0 + }, + "purpose": { + "value": "", + "creator": "", + "last_set": 0 + }, + "previous_names": [], + "num_members": 4 + }, + { + "id": "CV63MEVG8", + "name": "general", + "is_channel": true, + "is_group": false, + "is_im": false, + "created": 1583868525, + "is_archived": false, + "is_general": true, + "unlinked": 0, + "name_normalized": "general", + "is_shared": false, + "parent_conversation": null, + "creator": "UV5KNL1UL", + "is_ext_shared": false, + "is_org_shared": false, + "shared_team_ids": [ + "TV5KNL1LL" + ], + "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": "UV5KNL1UL", + "last_set": 1583868525 + }, + "purpose": { + "value": "This channel is for workspace-wide communication and announcements. All members are in this channel.", + "creator": "UV5KNL1UL", + "last_set": 1583868525 + }, + "previous_names": [], + "num_members": 5 + }, + { + "id": "CV63MEZTJ", + "name": "random", + "is_channel": true, + "is_group": false, + "is_im": false, + "created": 1583868525, + "is_archived": false, + "is_general": false, + "unlinked": 0, + "name_normalized": "random", + "is_shared": false, + "parent_conversation": null, + "creator": "UV5KNL1UL", + "is_ext_shared": false, + "is_org_shared": false, + "shared_team_ids": [ + "TV5KNL1LL" + ], + "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": "UV5KNL1UL", + "last_set": 1583868525 + }, + "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": "UV5KNL1UL", + "last_set": 1583868525 + }, + "previous_names": [], + "num_members": 4 + } + ], + "response_metadata": { + "next_cursor": "" + } + } + http_version: null + recorded_at: Sat, 14 Mar 2020 20:47:59 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: + - '54' + Connection: + - keep-alive + Date: + - Mon, 23 Mar 2020 19:31:29 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 6b5fad985ab5558834af1c201e133f63 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-270m + X-Cache: + - Miss from cloudfront + Via: + - 1.1 caf6806821bc479b28a6f1ce3043b8a6.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - llSMDK5wGvmMHIL8FrBnMq8ALEkKfDwYyXqCyB0mN8RX2N_75Epilw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"token_revoked"}' + http_version: null + recorded_at: Mon, 23 Mar 2020 19:31:29 GMT +recorded_with: VCR 5.1.0 diff --git a/test/channel_test.rb b/test/channel_test.rb new file mode 100644 index 00000000..fb1467b8 --- /dev/null +++ b/test/channel_test.rb @@ -0,0 +1,68 @@ +require_relative 'test_helper' +require "./lib/channel" + +describe "Channel" do + describe "initialize" do + it "creates a Channel object" do + channel = Channel.new("slack-channel", "123456", "slack cli", 5) + expect(channel).must_respond_to :slack_id + expect(channel).must_respond_to :name + expect(channel).must_respond_to :topic + expect(channel).must_respond_to :member_count + end + end + + describe "details" do + it "returns table of data" do + channel = Channel.new("123456", "bobberts-channel", "bob's stuff", 1) + expect(channel.details).must_be_kind_of TablePrint::Returnable + end + end + + describe "self.get" do + it "gets a list of channels" do + result = {} + VCR.use_cassette("channels-list") do + result = Channel.get("channels.list") + end + + expect(result).must_be_kind_of HTTParty::Response + expect(result["ok"]).must_equal true + end + + it "raises an error when the call fails" do + VCR.use_cassette("channels-list-fail") do + expect{Channel.get("channelsfail.list")}.must_raise SlackApiError + end + end + end + + describe "self.list_all" do + it "returns a list all channels" do + VCR.use_cassette("channel-details") do + response = Channel.list_all + response.each do |channel| + expect(channel).must_be_kind_of Channel + expect(channel).must_respond_to :slack_id + end + end + end + end + + describe "send_message" do + it "sends a message to the correct channel" do + VCR.use_cassette("send-message") do + channel = Channel.list_all[0] + response = channel.send_message("the test message") + expect(response).must_equal true + end + end + + it "raises SlackApiError if post request fails" do + VCR.use_cassette("send-message") do + channel = Channel.new("bogus", "bogus_info", "bogus", 5) + expect{channel.send_message("the test message")}.must_raise SlackApiError + end + end + end +end diff --git a/test/recipient_test.rb b/test/recipient_test.rb new file mode 100644 index 00000000..e5c94611 --- /dev/null +++ b/test/recipient_test.rb @@ -0,0 +1,5 @@ +require_relative 'test_helper' +require "./lib/recipient" + +describe "Recipient" do +end diff --git a/test/test_helper.rb b/test/test_helper.rb index 1fcf2bab..476a82a1 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -9,6 +9,10 @@ require 'minitest/skip_dsl' require 'vcr' +require 'dotenv' + +Dotenv.load + Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new VCR.configure do |config| @@ -25,5 +29,7 @@ } # Don't leave our token lying around in a cassette file. - + config.filter_sensitive_data("") do + ENV["SLACK_TOKEN"] + end end diff --git a/test/user_test.rb b/test/user_test.rb new file mode 100644 index 00000000..ddfc035d --- /dev/null +++ b/test/user_test.rb @@ -0,0 +1,58 @@ +require_relative 'test_helper' +require "./lib/user" + +describe "User" do + describe "details" do + it "returns table of data" do + user = User.new("123456", "Bobbert", "Robert", "Hi", ":)") + expect(user.details).must_be_kind_of TablePrint::Returnable + end + end + + describe "self.get" do + it "gets a list of users" do + result = {} + VCR.use_cassette("users-list") do + result = User.get("users.list") + end + + expect(result).must_be_kind_of HTTParty::Response + expect(result["ok"]).must_equal true + end + + it "raises an error when the call fails" do + VCR.use_cassette("users-list-fail") do + expect{User.get("usersfail.list")}.must_raise SlackApiError + end + end + end + + describe "self.list_all" do + it "returns a list all users" do + VCR.use_cassette("user-details") do + response = User.list_all + response.each do |user| + expect(user).must_be_kind_of User + expect(user).must_respond_to :slack_id + end + end + end + end + + describe "send_message" do + it "sends a message to the correct user" do + VCR.use_cassette("send-message") do + user = User.list_all[0] + response = user.send_message("the test message") + expect(response).must_equal true + end + end + + it "raises SlackApiError if post request fails" do + VCR.use_cassette("send-message") do + user = User.new("bogus", "bogus_info", "bogus", "bogus", "bogus") + expect{user.send_message("the test message")}.must_raise SlackApiError + end + end + end +end diff --git a/test/workspace_test.rb b/test/workspace_test.rb new file mode 100644 index 00000000..4e96bf58 --- /dev/null +++ b/test/workspace_test.rb @@ -0,0 +1,100 @@ +require_relative 'test_helper' +require "./lib/workspace" + +describe "Workspace" do + before do + VCR.use_cassette("workspace-data") do + @workspace = Workspace.new + end + end + + describe "initialize" do + it "initializes Workspace object with an array of users and channels" do + expect(@workspace).must_be_kind_of Workspace + expect(@workspace.users).must_be_kind_of Array + expect(@workspace.channels).must_be_kind_of Array + end + end + + describe "select_channel" do + it "sets @selected to correct Channel instance when given an ID" do + @workspace.select_channel("slack-cli") + + expect(@workspace.selected).must_be_kind_of Channel + expect(@workspace.selected.slack_id).must_equal "slack-cli" + end + + it "sets @selected to correct Channel instance when given a username" do + @workspace.select_channel("CV5KNMDKN") + + expect(@workspace.selected).must_be_kind_of Channel + expect(@workspace.selected.name).must_equal "CV5KNMDKN" + end + + it "sets @selected to empty if no match is found" do + @workspace.select_channel("CV5KNMDKN") + @workspace.select_channel("abcdef") + + expect(@workspace.selected).must_equal "" + end + end + + describe "select_user" do + it "sets @selected to correct User instance when given an ID" do + @workspace.select_user("USLACKBOT") + + expect(@workspace.selected).must_be_kind_of User + expect(@workspace.selected.slack_id).must_equal "USLACKBOT" + end + + it "sets @selected to correct User instance when given a username" do + @workspace.select_user("slackbot") + + expect(@workspace.selected).must_be_kind_of User + expect(@workspace.selected.name).must_equal "slackbot" + end + + it "sets @selected to empty if no match is found" do + @workspace.select_user("slackbot") + @workspace.select_user("abcdef") + + expect(@workspace.selected).must_equal "" + end + + end + + describe "show_details" do + it "returns details for selected user or channel" do + @workspace.selected = @workspace.users[0] + selected = @workspace.show_details + expect(selected).must_be_kind_of TablePrint::Returnable + end + + it "returns nil if @selected is empty" do + @workspace.selected = "" + expect(@workspace.show_details).must_be_nil + end + end + + # I'm not sure how to test this + # describe "customize_bot" do + # before do + # VCR.use_cassette("workspace-customize-bot") do + # user = HTTParty.get("https://slack.com/api/users.info?token=xoxp-991668681700-991668681972-981605165810-99a1cdf01edb9e571ee65cc11ea6ebf1&user=UV5KNL1UL") + # @username = user["user"]["name"] + # @emoji = user["user"]["profile"]["status_emoji"] + + # @workspace.customize_bot("jessica bot test", ":rainbow:") + # end + # end + + # it "updates username and emoji" do + # VCR.use_cassette('workspace-customize-bot2') do + # user = HTTParty.get("https://slack.com/api/users.info?token=xoxp-991668681700-991668681972-981605165810-99a1cdf01edb9e571ee65cc11ea6ebf1&user=UV5KNL1UL") + + # expect(user["user"]["name"]).wont_equal @username + # expect(user["user"]["profile"]["status_emoji"]).wont_equal @emoji + # end + # end + # end +end