module Discorb class Interaction < Discorb::DiscordModel # # A module for response with source. module SourceResponder # # Response with `DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE`(`5`). # # @async # # @param [Boolean] ephemeral Whether to make the response ephemeral. # # @return [Async::Task] The task. def defer_source: (?ephemeral: bool) -> Async::Task[void] # # Response with `CHANNEL_MESSAGE_WITH_SOURCE`(`4`). # # @async # # @param [String] content The content of the response. # @param [Boolean] tts Whether to send the message as text-to-speech. # @param [Discorb::Embed] embed The embed to send. # @param [Array] embeds The embeds to send. (max: 10) # @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions to send. # @param [Discorb::Attachment] attachment The attachment to send. # @param [Array] attachments The attachments to send. (max: 10) # @param [Array, Array>] components The components to send. # @param [Boolean] ephemeral Whether to make the response ephemeral. # # @return [Discorb::Interaction::SourceResponder::CallbackMessage, Discorb::Webhook::Message] # The callback message. def post: ( ?String? content, ?tts: bool, ?embed: Discorb::Embed?, ?embeds: ::Array[Discorb::Embed]?, ?allowed_mentions: Discorb::AllowedMentions?, ?attachment: Discorb::Attachment?, ?attachments: ::Array[Discorb::Attachment]?, ?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]])?, ?ephemeral: bool ) -> (Discorb::Interaction::CallbackMessage | Discorb::Webhook::Message) end # # Represents of a callback message of interaction. class CallbackMessage # # Initializes a new instance of CallbackMessage. # @private # # @param [Client] client The client. # @param [Hash] data The payload. # @param [String] application_id The application ID. # @param [String] token The token. def initialize: ( Client client, Discorb::json data, String application_id, String token ) -> void # # Edits the callback message. # @async # @macro edit # # @param [String] content The new content of the message. # @param [Discorb::Embed] embed The new embed of the message. # @param [Array] embeds The new embeds of the message. # @param [Array] attachments The attachments to remain. # @param [Discorb::Attachment] file The file to send. # @param [Array] files The files to send. # # @return [Async::Task] The task. def edit: ( ?String content, ?embed: Discorb::Embed, ?embeds: ::Array[Discorb::Embed], ?file: Discorb::Attachment, ?files: ::Array[Discorb::Attachment], ?attachments: ::Array[Discorb::Attachment] ) -> Async::Task[void] # # Deletes the callback message. # @async # @note This will fail if the message is ephemeral. # # @return [Async::Task] The task. def delete: -> Async::Task[void] %a{pure} def inspect: -> String end # # A module for response with update. module UpdateResponder # # Response with `DEFERRED_UPDATE_MESSAGE`(`6`). # @async # # @param [Boolean] ephemeral Whether to make the response ephemeral. # # @return [Async::Task] The task. def defer_update: (?ephemeral: bool) -> Async::Task[void] # # Response with `UPDATE_MESSAGE`(`7`). # # @async # # @param [String] content The content of the response. # @param [Boolean] tts Whether to send the message as text-to-speech. # @param [Discorb::Embed] embed The embed to send. # @param [Array] embeds The embeds to send. (max: 10) # @param [Discorb::AllowedMentions] allowed_mentions The allowed mentions to send. # @param [Array, Array>] components The components to send. # @param [Boolean] ephemeral Whether to make the response ephemeral. # # @return [Async::Task] The task. def edit: ( String content, ?tts: bool, ?embed: Discorb::Embed?, ?embeds: ::Array[Discorb::Embed]?, ?allowed_mentions: Discorb::AllowedMentions?, ?attachment: Discorb::Attachment?, ?attachments: ::Array[Discorb::Attachment]?, ?components: (::Array[Discorb::Component] | ::Array[::Array[Discorb::Component]])?, ?ephemeral: bool ) -> Async::Task[void] end # # A module for response with modal. module ModalResponder # # Response with `MODAL`(`9`). # # @param [String] title The title of the modal. # @param [String] custom_id The custom id of the modal. # @param [Array] components The text inputs to send. # # @return [Async::Task] The task. def show_modal: ( String title, String custom_id, ::Array[Discorb::TextInput] components ) -> Async::Task[void] end end end