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.
41 42 43 |
# File 'lib/discorb/emoji.rb', line 41 def available @available end |
#guild -> Boolean (readonly)
Returns Whether the emoji requires colons.
33 34 35 |
# File 'lib/discorb/emoji.rb', line 33 def guild @guild end |
#id -> Discorb::Snowflake (readonly)
Returns The ID of the emoji.
25 26 27 |
# File 'lib/discorb/emoji.rb', line 25 def id @id end |
#managed -> Boolean (readonly) Also known as: managed?
Returns whether the emoji is managed by integration (ex: Twitch).
35 36 37 |
# File 'lib/discorb/emoji.rb', line 35 def managed @managed end |
#name -> String (readonly)
Returns The name of the emoji.
27 28 29 |
# File 'lib/discorb/emoji.rb', line 27 def name @name end |
#require_colons -> Boolean (readonly) Also known as: require_colons?
Returns whether the emoji requires colons.
38 39 40 |
# File 'lib/discorb/emoji.rb', line 38 def require_colons @require_colons end |
#roles -> Array<Discorb::Role> (readonly)
Returns The roles that can use this emoji.
29 30 31 |
# File 'lib/discorb/emoji.rb', line 29 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 44
|
#user -> Discorb::User (readonly)
Returns The user that created this emoji.
31 32 33 |
# File 'lib/discorb/emoji.rb', line 31 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.
116 117 118 119 120 121 122 |
# File 'lib/discorb/emoji.rb', line 116 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.
95 96 97 98 99 100 101 102 103 |
# File 'lib/discorb/emoji.rb', line 95 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
79 80 81 |
# File 'lib/discorb/emoji.rb', line 79 def inspect "#<#{self.class} id=#{@id} :#{@name}:>" end |
#to_s -> String
Format the emoji for sending.
60 61 62 |
# File 'lib/discorb/emoji.rb', line 60 def to_s "<#{@animated ? "a" : ""}:#{@name}:#{id}>" end |
#to_uri -> String
Format the emoji for URI.
69 70 71 |
# File 'lib/discorb/emoji.rb', line 69 def to_uri "#{@name}:#{@id}" end |