Module: Discordrb::IDObject
- Included in:
- Attachment, Channel, Light::Integration, Light::LightProfile, Light::UltraLightServer, Message, Role, Server, User
- Defined in:
- lib/discordrb/data.rb
Overview
Mixin for objects that have IDs
Instance Attribute Summary collapse
-
#id ⇒ Integer
(also: #resolve_id)
readonly
The ID which uniquely identifies this object across Discord.
Instance Method Summary collapse
-
#==(other) ⇒ Object
ID based comparison.
-
#creation_time ⇒ Time
Estimates the time this object was generated on based on the beginning of the ID.
Instance Attribute Details
#id ⇒ Integer (readonly) Also known as: resolve_id
Returns the ID which uniquely identifies this object across Discord.
67 68 69 |
# File 'lib/discordrb/data.rb', line 67 def id @id end |
Instance Method Details
#==(other) ⇒ Object
ID based comparison
71 72 73 |
# File 'lib/discordrb/data.rb', line 71 def ==(other) Discordrb.id_compare(@id, other) end |
#creation_time ⇒ Time
Estimates the time this object was generated on based on the beginning of the ID. This is fairly accurate but shouldn't be relied on as Discord might change its algorithm at any time
78 79 80 81 82 |
# File 'lib/discordrb/data.rb', line 78 def creation_time # Milliseconds ms = (@id >> 22) + DISCORD_EPOCH Time.at(ms / 1000.0) end |