class Slack::API::Conversations
Public Instance Methods
all(exclude_archived=false, types='public_channel', page: nil)
click to toggle source
# File lib/laziness/api/conversations.rb, line 4 def all(exclude_archived=false, types='public_channel', page: nil) responses = with_paging(page) do |pager| request :get, 'conversations.list', exclude_archived: exclude_archived ? 1 : 0, types: types, **pager.to_h end Slack::Conversation.parse_all responses, 'channels' end
archive(id)
click to toggle source
# File lib/laziness/api/conversations.rb, line 16 def archive(id) with_nil_response { request :post, 'conversations.archive', channel: id } end
close(id)
click to toggle source
# File lib/laziness/api/conversations.rb, line 20 def close(id) with_nil_response { request :post, 'conversations.close', channel: id } end
create(name, is_private=false, user_ids=[])
click to toggle source
# File lib/laziness/api/conversations.rb, line 24 def create(name, is_private=false, user_ids=[]) response = request :post, 'conversations.create', name: name, is_private: is_private, user_ids: user_ids Slack::Conversation.parse response, 'channel' end
find(id)
click to toggle source
# File lib/laziness/api/conversations.rb, line 34 def find(id) response = request :get, 'conversations.info', channel: id Slack::Conversation.parse response, 'channel' end
invite(id, users)
click to toggle source
# File lib/laziness/api/conversations.rb, line 39 def invite(id, users) response = request :post, 'conversations.invite', channel: id, users: users.join(",") Slack::Conversation.parse response, 'channel' end
join(id)
click to toggle source
# File lib/laziness/api/conversations.rb, line 48 def join(id) response = request :post, 'conversations.join', channel: id Slack::Conversation.parse response, 'channel' end
kick(id, user)
click to toggle source
# File lib/laziness/api/conversations.rb, line 56 def kick(id, user) with_nil_response { request :post, 'conversations.kick', channel: id, user: user } end
leave(id)
click to toggle source
# File lib/laziness/api/conversations.rb, line 60 def leave(id) with_nil_response { request :post, 'conversations.leave', channel: id } end
members(id, page: nil)
click to toggle source
# File lib/laziness/api/conversations.rb, line 64 def members(id, page: nil) responses = with_paging(page) do |pager| request :get, 'conversations.members', channel: id, **pager.to_h end responses.map do |response| JSON.parse(response.body)["members"] end.flatten end
open(users=[], id=nil, return_im: false)
click to toggle source
# File lib/laziness/api/conversations.rb, line 77 def open(users=[], id=nil, return_im: false) response = request :post, 'conversations.open', channel: id, users: (users || []).join(","), return_im: return_im Slack::Conversation.parse response, 'channel' end
rename(id, name)
click to toggle source
# File lib/laziness/api/conversations.rb, line 87 def rename(id, name) response = request :post, 'conversations.rename', channel: id, name: name Slack::Conversation.parse response, 'channel' end
set_purpose(id, purpose)
click to toggle source
# File lib/laziness/api/conversations.rb, line 96 def set_purpose(id, purpose) with_nil_response do request :post, 'conversations.setPurpose', channel: id, purpose: purpose end end
set_topic(id, topic)
click to toggle source
# File lib/laziness/api/conversations.rb, line 105 def set_topic(id, topic) with_nil_response do request :post, 'conversations.setTopic', channel: id, topic: topic end end
unarchive(id)
click to toggle source
# File lib/laziness/api/conversations.rb, line 114 def unarchive(id) with_nil_response { request :post, 'conversations.unarchive', channel: id } end