Class: Twitch::BannedUsersResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/twitch/resources/banned_users.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:, user_id:, reason:, duration: nil) ⇒ Object

Required scope: moderator:manage:banned_users moderator_id must match the currently authenticated user. Can be either the broadcaster ID or moderator ID



11
12
13
14
15
# File 'lib/twitch/resources/banned_users.rb', line 11

def create(broadcaster_id:, moderator_id:, user_id:, reason:, duration: nil)
  attrs = { broadcaster_id: broadcaster_id, moderator_id: moderator_id, data: { user_id: user_id, reason: reason, duration: duration } }
  response = post_request("moderation/bans", body: attrs)
  BannedUser.new response.body.dig("data")[0]
end

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

Required scope: moderator:manage:banned_users moderator_id must match the currently authenticated user. Can be either the broadcaster ID or moderator ID



19
20
21
# File 'lib/twitch/resources/banned_users.rb', line 19

def delete(broadcaster_id:, moderator_id:, user_id:)
  delete_request("moderation/bans?broadcaster_id=#{broadcaster_id}&moderator_id=#{moderator_id}&user_id=#{user_id}")
end

#list(broadcaster_id:, **params) ⇒ Object

Broadcaster ID must match the user in the OAuth token



4
5
6
7
# File 'lib/twitch/resources/banned_users.rb', line 4

def list(broadcaster_id:, **params)
  response = get_request("moderation/banned", params: params.merge(broadcaster_id: broadcaster_id))
  Collection.from_response(response, type: BannedUser)
end