Class: Discordrb::Webhooks::Client
- Inherits:
 - 
      Object
      
        
- Object
 - Discordrb::Webhooks::Client
 
 
- Defined in:
 - lib/discordrb/webhooks/client.rb
 
Overview
A client for a particular webhook added to a Discord channel.
Instance Method Summary collapse
- 
  
    
      #delete(reason: nil)  ⇒ RestClient::Response 
    
    
  
  
  
  
  
  
  
  
  
    
Delete this webhook.
 - 
  
    
      #delete_message(message_id)  ⇒ RestClient::Response 
    
    
  
  
  
  
  
  
  
  
  
    
Delete a message created by this webhook.
 - 
  
    
      #edit_message(message_id, builder: nil, content: nil, embeds: nil, allowed_mentions: nil) {|builder| ... } ⇒ RestClient::Response 
    
    
  
  
  
  
  
  
  
  
  
    
Edit a message from this webhook.
 - 
  
    
      #execute(builder = nil, wait = false, components = nil) {|builder| ... } ⇒ RestClient::Response 
    
    
  
  
  
  
  
  
  
  
  
    
Executes the webhook this client points to with the given data.
 - 
  
    
      #initialize(url: nil, id: nil, token: nil)  ⇒ Client 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Create a new webhook.
 - 
  
    
      #modify(name: nil, avatar: nil, channel_id: nil)  ⇒ RestClient::Response 
    
    
  
  
  
  
  
  
  
  
  
    
Modify this webhook's properties.
 
Constructor Details
#initialize(url: nil, id: nil, token: nil) ⇒ Client
Create a new webhook
      17 18 19  | 
    
      # File 'lib/discordrb/webhooks/client.rb', line 17 def initialize(url: nil, id: nil, token: nil) @url = url || generate_url(id, token) end  | 
  
Instance Method Details
#delete(reason: nil) ⇒ RestClient::Response
    Note:
    
  
This is permanent and cannot be undone.
Delete this webhook.
      72 73 74  | 
    
      # File 'lib/discordrb/webhooks/client.rb', line 72 def delete(reason: nil) RestClient.delete(@url, 'X-Audit-Log-Reason': reason) end  | 
  
#delete_message(message_id) ⇒ RestClient::Response
Delete a message created by this webhook.
      104 105 106  | 
    
      # File 'lib/discordrb/webhooks/client.rb', line 104 def () RestClient.delete("#{@url}/messages/#{}") end  | 
  
#edit_message(message_id, builder: nil, content: nil, embeds: nil, allowed_mentions: nil) {|builder| ... } ⇒ RestClient::Response
    Note:
    
  
Not all builder options are available when editing.
Edit a message from this webhook.
      92 93 94 95 96 97 98 99  | 
    
      # File 'lib/discordrb/webhooks/client.rb', line 92 def (, builder: nil, content: nil, embeds: nil, allowed_mentions: nil) builder ||= Builder.new yield builder if block_given? data = builder.to_json_hash.merge({ content: content, embeds: , allowed_mentions: allowed_mentions }.compact) RestClient.patch("#{@url}/messages/#{}", data.compact.to_json, content_type: :json) end  | 
  
#execute(builder = nil, wait = false, components = nil) {|builder| ... } ⇒ RestClient::Response
Executes the webhook this client points to with the given data.
      41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57  | 
    
      # File 'lib/discordrb/webhooks/client.rb', line 41 def execute(builder = nil, wait = false, components = nil) raise TypeError, 'builder needs to be nil or like a Discordrb::Webhooks::Builder!' unless (builder.respond_to?(:file) && builder.respond_to?(:to_multipart_hash)) || builder.respond_to?(:to_json_hash) || builder.nil? builder ||= Builder.new view = View.new yield(builder, view) if block_given? components ||= view if builder.file post_multipart(builder, components, wait) else post_json(builder, components, wait) end end  | 
  
#modify(name: nil, avatar: nil, channel_id: nil) ⇒ RestClient::Response
Modify this webhook's properties.
      64 65 66  | 
    
      # File 'lib/discordrb/webhooks/client.rb', line 64 def modify(name: nil, avatar: nil, channel_id: nil) RestClient.patch(@url, { name: name, avatar: avatarise(avatar), channel_id: channel_id }.compact.to_json, content_type: :json) end  |