Class: Discorb::CustomEmoji
Overview
Represents a custom emoji in discord.
Instance Attribute Summary collapse
- 
  
    
      #available -> Boolean 
    
    
      (also: #available?)
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Whether the emoji is available.
 - 
  
    
      #guild -> Boolean 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Whether the emoji requires colons.
 - 
  
    
      #id -> Discorb::Snowflake 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The ID of the emoji.
 - 
  
    
      #managed -> Boolean 
    
    
      (also: #managed?)
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Whether the emoji is managed by integration (ex: Twitch).
 - 
  
    
      #name -> String 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The name of the emoji.
 - 
  
    
      #require_colons -> Boolean 
    
    
      (also: #require_colons?)
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Whether the emoji requires colons.
 - 
  
    
      #roles -> Array<Discorb::Role> 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The roles that can use this emoji.
 - 
  
    
      #roles? -> Boolean 
    
    
      (also: #role?)
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Whether or not this emoji is restricted to certain roles.
 - 
  
    
      #user -> Discorb::User 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The user that created this emoji.
 
Instance Method Summary collapse
- 
  
    
      #delete!(reason: nil) -> Async::Task<self> 
    
    
      (also: #destroy!)
    
  
  
  
  
  
  
  
  
  
    
Delete the emoji.
 - 
  
    
      #edit(name: :unset, roles: :unset, reason: nil) -> Async::Task<self> 
    
    
      (also: #modify)
    
  
  
  
  
  
  
  
  
  
    
Edit the emoji.
 - #inspect -> Object
 - 
  
    
      #to_s -> String 
    
    
  
  
  
  
  
  
  
  
  
    
Format the emoji for sending.
 - 
  
    
      #to_uri -> String 
    
    
  
  
  
  
  
  
  
  
  
    
Format the emoji for URI.
 
Methods inherited from Emoji
Instance Attribute Details
#available -> Boolean (readonly) Also known as: available?
Returns whether the emoji is available.
      37 38 39  | 
    
      # File 'lib/discorb/emoji.rb', line 37 def available @available end  | 
  
#guild -> Boolean (readonly)
Returns Whether the emoji requires colons.
      29 30 31  | 
    
      # File 'lib/discorb/emoji.rb', line 29 def guild @guild end  | 
  
#id -> Discorb::Snowflake (readonly)
Returns The ID of the emoji.
      21 22 23  | 
    
      # File 'lib/discorb/emoji.rb', line 21 def id @id end  | 
  
#managed -> Boolean (readonly) Also known as: managed?
Returns whether the emoji is managed by integration (ex: Twitch).
      31 32 33  | 
    
      # File 'lib/discorb/emoji.rb', line 31 def managed @managed end  | 
  
#name -> String (readonly)
Returns The name of the emoji.
      23 24 25  | 
    
      # File 'lib/discorb/emoji.rb', line 23 def name @name end  | 
  
#require_colons -> Boolean (readonly) Also known as: require_colons?
Returns whether the emoji requires colons.
      34 35 36  | 
    
      # File 'lib/discorb/emoji.rb', line 34 def require_colons @require_colons end  | 
  
#roles -> Array<Discorb::Role> (readonly)
Returns The roles that can use this emoji.
      25 26 27  | 
    
      # File 'lib/discorb/emoji.rb', line 25 def roles @roles end  | 
  
#roles? -> Boolean (readonly) Also known as: role?
Returns whether or not this emoji is restricted to certain roles.
| 
       | 
    
      # File 'lib/discorb/emoji.rb', line 40
     | 
  
#user -> Discorb::User (readonly)
Returns The user that created this emoji.
      27 28 29  | 
    
      # File 'lib/discorb/emoji.rb', line 27 def user @user end  | 
  
Instance Method Details
#delete!(reason: nil) -> Async::Task<self> Also known as: destroy!
This is an asynchronous method, it will return a Async::Task object. Use Async::Task#wait to get the result.
This method calls HTTP request.
Delete the emoji.
      112 113 114 115 116 117 118  | 
    
      # File 'lib/discorb/emoji.rb', line 112 def delete!(reason: nil) Async do @client.http.delete("/guilds/#{@guild.id}/emojis/#{@id}", audit_log_reason: reason).wait @available = false self end end  | 
  
#edit(name: :unset, roles: :unset, reason: nil) -> Async::Task<self> Also known as: modify
This is an asynchronous method, it will return a Async::Task object. Use Async::Task#wait to get the result.
This method calls HTTP request.
The arguments of this method are defaultly set to :unset. Specify value to set the value, if not don't specify or specify :unset.
Edit the emoji.
      91 92 93 94 95 96 97 98 99  | 
    
      # File 'lib/discorb/emoji.rb', line 91 def edit(name: :unset, roles: :unset, reason: nil) Async do payload = {} payload[:name] = name if name != :unset payload[:roles] = roles.map { |r| Discorb::Utils.try(r, :id) } if roles != :unset @client.http.patch("/guilds/#{@guild.id}/emojis/#{@id}", payload, audit_log_reason: reason) self end end  | 
  
#inspect -> Object
      75 76 77  | 
    
      # File 'lib/discorb/emoji.rb', line 75 def inspect "#<#{self.class} id=#{@id} :#{@name}:>" end  | 
  
#to_s -> String
Format the emoji for sending.
      56 57 58  | 
    
      # File 'lib/discorb/emoji.rb', line 56 def to_s "<#{@animated ? "a" : ""}:#{@name}:#{id}>" end  | 
  
#to_uri -> String
Format the emoji for URI.
      65 66 67  | 
    
      # File 'lib/discorb/emoji.rb', line 65 def to_uri "#{@name}:#{@id}" end  |