module Discordrb::API::Interaction

API calls for interactions.

Public Instance Methods

create_interaction_modal_response(interaction_token, interaction_id, custom_id, title, components) click to toggle source

Create a response that results in a modal. discord.com/developers/docs/interactions/slash-commands#create-interaction-response

# File lib/discordrb/api/interaction.rb, line 24
def create_interaction_modal_response(interaction_token, interaction_id, custom_id, title, components)
  data = { custom_id: custom_id, title: title, components: components.to_a }.compact

  Discordrb::API.request(
    :interactions_iid_token_callback,
    interaction_id,
    :post,
    "#{Discordrb::API.api_base}/interactions/#{interaction_id}/#{interaction_token}/callback",
    { type: 9, data: data }.to_json,
    content_type: :json
  )
end
create_interaction_response(interaction_token, interaction_id, type, content = nil, tts = nil, embeds = nil, allowed_mentions = nil, flags = nil, components = nil) click to toggle source

Respond to an interaction. discord.com/developers/docs/interactions/slash-commands#create-interaction-response

# File lib/discordrb/api/interaction.rb, line 9
def create_interaction_response(interaction_token, interaction_id, type, content = nil, tts = nil, embeds = nil, allowed_mentions = nil, flags = nil, components = nil)
  data = { tts: tts, content: content, embeds: embeds, allowed_mentions: allowed_mentions, flags: flags, components: components }.compact

  Discordrb::API.request(
    :interactions_iid_token_callback,
    interaction_id,
    :post,
    "#{Discordrb::API.api_base}/interactions/#{interaction_id}/#{interaction_token}/callback",
    { type: type, data: data }.to_json,
    content_type: :json
  )
end
delete_original_interaction_response(interaction_token, application_id) click to toggle source

Delete the original response to an interaction. discord.com/developers/docs/interactions/slash-commands#delete-original-interaction-response

# File lib/discordrb/api/interaction.rb, line 51
def delete_original_interaction_response(interaction_token, application_id)
  Discordrb::API::Webhook.token_delete_message(interaction_token, application_id, '@original')
end
edit_original_interaction_response(interaction_token, application_id, content = nil, embeds = nil, allowed_mentions = nil, components = nil) click to toggle source

Edit the original response to an interaction. discord.com/developers/docs/interactions/slash-commands#edit-original-interaction-response

# File lib/discordrb/api/interaction.rb, line 45
def edit_original_interaction_response(interaction_token, application_id, content = nil, embeds = nil, allowed_mentions = nil, components = nil)
  Discordrb::API::Webhook.token_edit_message(interaction_token, application_id, '@original', content, embeds, allowed_mentions, components)
end
get_original_interaction_response(interaction_token, application_id) click to toggle source

Get the original response to an interaction. discord.com/developers/docs/interactions/slash-commands#get-original-interaction-response

# File lib/discordrb/api/interaction.rb, line 39
def get_original_interaction_response(interaction_token, application_id)
  Discordrb::API::Webhook.token_get_message(interaction_token, application_id, '@original')
end