Module: Rubycord::API::Interaction

Defined in:
lib/rubycord/api/interaction.rb

Overview

API calls for interactions.

Class Method Summary collapse

Class Method Details

.create_interaction_modal_response(interaction_token, interaction_id, custom_id, title, components) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/rubycord/api/interaction.rb', line 22

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

  Rubycord::API.request(
    :interactions_iid_token_callback,
    interaction_id,
    :post,
    "#{Rubycord::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) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/rubycord/api/interaction.rb', line 7

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

  Rubycord::API.request(
    :interactions_iid_token_callback,
    interaction_id,
    :post,
    "#{Rubycord::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) ⇒ Object



49
50
51
# File 'lib/rubycord/api/interaction.rb', line 49

def delete_original_interaction_response(interaction_token, application_id)
  Rubycord::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) ⇒ Object



43
44
45
# File 'lib/rubycord/api/interaction.rb', line 43

def edit_original_interaction_response(interaction_token, application_id, content = nil, embeds = nil, allowed_mentions = nil, components = nil)
  Rubycord::API::Webhook.token_edit_message(interaction_token, application_id, "@original", content, embeds, allowed_mentions, components)
end

.get_original_interaction_response(interaction_token, application_id) ⇒ Object



37
38
39
# File 'lib/rubycord/api/interaction.rb', line 37

def get_original_interaction_response(interaction_token, application_id)
  Rubycord::API::Webhook.token_get_message(interaction_token, application_id, "@original")
end