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.



198
199
200
201
202
203
# File 'lib/discorb/interaction/response.rb', line 198

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.



163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
# File 'lib/discorb/interaction/response.rb', line 163

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,
    ).wait
  end
end

#inspect -> Object



205
206
207
# File 'lib/discorb/interaction/response.rb', line 205

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