Method: Discordrb::API::Webhook.token_execute_webhook

Defined in:
lib/discordrb/api/webhook.rb

.token_execute_webhook(webhook_token, webhook_id, wait = false, content = nil, username = nil, avatar_url = nil, tts = nil, file = nil, embeds = nil, allowed_mentions = nil, flags = nil, components = nil) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/discordrb/api/webhook.rb', line 32

def token_execute_webhook(webhook_token, webhook_id, wait = false, content = nil, username = nil, avatar_url = nil, tts = nil, file = nil, embeds = nil, allowed_mentions = nil, flags = nil, components = nil)
  body = { content: content, username: username, avatar_url: avatar_url, tts: tts, embeds: embeds&.map(&:to_hash),  allowed_mentions: allowed_mentions, flags: flags, components: components }
  body = if file
           { file: file, payload_json: body.to_json }
         else
           body.to_json
         end

  headers = { content_type: :json } unless file

  Discordrb::API.request(
    :webhooks_wid,
    webhook_id,
    :post,
    "#{Discordrb::API.api_base}/webhooks/#{webhook_id}/#{webhook_token}?wait=#{wait}",
    body,
    headers
  )
end