Class: Discorb::Interaction::SourceResponder::CallbackMessage

Inherits:
Object
  • Object
show all
Defined in:
lib/discorb/interaction/response.rb

Overview

Represents of a callback message of interaction.

Instance Method Summary collapse

Instance Method Details

#delete! -> Async::Task<void>

Note:

This will fail if the message is ephemeral.

Deletes the callback message.

Returns:

  • (Async::Task<void>)

    The task.



126
127
128
129
130
# File 'lib/discorb/interaction/response.rb', line 126

def delete!
  Async do
    @client.http.request(Route.new("/webhooks/#{@application_id}/#{@token}/messages/@original", "//webhooks/:webhook_id/:token/messages/@original", :delete)).wait
  end
end

#edit(content = Discorb::Unset, embed: Discorb::Unset, embeds: Discorb::Unset, file: Discorb::Unset, files: Discorb::Unset, attachments: Discorb::Unset) -> Async::Task<void> Also known as: modify

Note:

The arguments of this method are defaultly set to Discorb::Unset. Specify value to set the value, if not don't specify or specify Discorb::Unset.

Edits the callback message.

Parameters:

  • content (String) (defaults to: Discorb::Unset)

    The new content of the message.

  • embed (Discorb::Embed) (defaults to: Discorb::Unset)

    The new embed of the message.

  • embeds (Array<Discorb::Embed>) (defaults to: Discorb::Unset)

    The new embeds of the message.

  • attachments (Array<Discorb::Attachment>) (defaults to: Discorb::Unset)

    The attachments to remain.

  • file (Discorb::File) (defaults to: Discorb::Unset)

    The file to send.

  • files (Array<Discorb::File>) (defaults to: Discorb::Unset)

    The files to send.

Returns:

  • (Async::Task<void>)

    The task.



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/discorb/interaction/response.rb', line 99

def edit(
  content = Discorb::Unset,
  embed: Discorb::Unset, embeds: Discorb::Unset,
  file: Discorb::Unset, files: Discorb::Unset,
  attachments: Discorb::Unset
)
  Async do
    payload = {}
    payload[:content] = content if content != Discorb::Unset
    payload[:embeds] = embed ? [embed.to_hash] : [] if embed != Discorb::Unset
    payload[:embeds] = embeds.map(&:to_hash) if embeds != Discorb::Unset
    payload[:attachments] = attachments.map(&:to_hash) if attachments != Discorb::Unset
    files = [file] if file != Discorb::Unset
    files = [] if files == Discorb::Unset
    @client.http.multipart_request(Route.new("/webhooks/#{@application_id}/#{@token}/messages/@original", "//webhooks/:webhook_id/:token/messages/@original", :patch), payload, files, headers: headers).wait
  end
end