Class: Twitch::PinnedChatMessagesResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/twitch/resources/pinned_chat_messages.rb

Instance Attribute Summary

Attributes inherited from Resource

#client

Instance Method Summary collapse

Methods inherited from Resource

#initialize

Constructor Details

This class inherits a constructor from Twitch::Resource

Instance Method Details

#create(broadcaster_id:, moderator_id:, message_id:, duration_seconds: nil) ⇒ Object

moderator_id must match the user in the OAuth token



13
14
15
# File 'lib/twitch/resources/pinned_chat_messages.rb', line 13

def create(broadcaster_id:, moderator_id:, message_id:, duration_seconds: nil)
  put_request(query_path(broadcaster_id:, moderator_id:, message_id:, duration_seconds:), body: {})
end

#delete(broadcaster_id:, moderator_id:, message_id:) ⇒ Object

moderator_id must match the user in the OAuth token



23
24
25
# File 'lib/twitch/resources/pinned_chat_messages.rb', line 23

def delete(broadcaster_id:, moderator_id:, message_id:)
  delete_request("chat/pins", params: { broadcaster_id: broadcaster_id, moderator_id: moderator_id, message_id: message_id })
end

#retrieve(broadcaster_id:, moderator_id:) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/twitch/resources/pinned_chat_messages.rb', line 3

def retrieve(broadcaster_id:, moderator_id:)
  response = get_request("chat/pins", params: { broadcaster_id: broadcaster_id, moderator_id: moderator_id })
  data = response.body.dig("data")

  return nil if data.nil? || data.empty?

  PinnedChatMessage.new(data[0])
end

#update(broadcaster_id:, moderator_id:, message_id:, duration_seconds: nil) ⇒ Object

moderator_id must match the user in the OAuth token



18
19
20
# File 'lib/twitch/resources/pinned_chat_messages.rb', line 18

def update(broadcaster_id:, moderator_id:, message_id:, duration_seconds: nil)
  patch_request(query_path(broadcaster_id:, moderator_id:, message_id:, duration_seconds:), body: {})
end