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.



162
163
164
165
166
167
# File 'lib/discorb/interaction/response.rb', line 162

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::Attachment) (defaults to: Discorb::Unset)

    The file to send.

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

    The files to send.

Returns:

  • (Async::Task<void>)

    The task.



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/discorb/interaction/response.rb', line 132

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

#inspect -> Object



169
170
171
# File 'lib/discorb/interaction/response.rb', line 169

def inspect
  "#<#{self.class.name} application_id=#{@application_id}"
end