Module: Discorb::Interaction::UpdateResponse
- Included in:
- MessageComponentInteraction
- Defined in:
- lib/discorb/interaction/response.rb
Overview
A module for response with update.
Instance Method Summary collapse
-
#defer_update(ephemeral: false) -> Object
Response with
DEFERRED_UPDATE_MESSAGE
(6
). -
#edit(content, tts: false, embed: nil, embeds: nil, allowed_mentions: nil, components: nil, ephemeral: false) -> Object
Response with
UPDATE_MESSAGE
(7
).
Instance Method Details
#defer_update(ephemeral: false) -> Object
Response with DEFERRED_UPDATE_MESSAGE
(6
).
138 139 140 141 142 143 144 145 146 147 |
# File 'lib/discorb/interaction/response.rb', line 138 def defer_update(ephemeral: false) Async do @client.http.post("/interactions/#{@id}/#{@token}/callback", { type: 6, data: { flags: (ephemeral ? 1 << 6 : 0), }, }).wait end end |
#edit(content, tts: false, embed: nil, embeds: nil, allowed_mentions: nil, components: nil, ephemeral: false) -> Object
Note:
This is an asynchronous method, it will return a Async::Task
object. Use Async::Task#wait
to get the result.
Note:
This method calls HTTP request.
Response with UPDATE_MESSAGE
(7
).
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'lib/discorb/interaction/response.rb', line 163 def edit(content, tts: false, embed: nil, embeds: nil, allowed_mentions: nil, components: nil, ephemeral: false) Async do payload = {} payload[:content] = content if content payload[:tts] = tts = if [] elsif end payload[:embeds] = .map(&:to_hash) if payload[:allowed_mentions] = allowed_mentions ? allowed_mentions.to_hash(@client.allowed_mentions) : @client.allowed_mentions.to_hash payload[:components] = Component.to_payload(components) if components payload[:flags] = (ephemeral ? 1 << 6 : 0) @client.http.post("/interactions/#{@id}/#{@token}/callback", { type: 7, data: payload }).wait end end |