Class: Discorb::Interaction::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.



218
219
220
221
222
223
224
225
226
227
228
229
230
231
# File 'lib/discorb/interaction/response.rb', line 218

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.



176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
# File 'lib/discorb/interaction/response.rb', line 176

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



233
234
235
# File 'lib/discorb/interaction/response.rb', line 233

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