Class: Discorb::Gateway::MessageUpdateEvent
- Inherits:
-
GatewayEvent
- Object
- GatewayEvent
- Discorb::Gateway::MessageUpdateEvent
- Defined in:
- lib/discorb/gateway.rb
Overview
Represents a MESSAGE_UPDATE
event.
Instance Attribute Summary collapse
-
#after -> Discorb::Message
readonly
The message after update.
-
#attachments -> Array<Discorb::Attachment>
readonly
The attachments in the message.
-
#before -> Discorb::Message
readonly
The message before update.
- #channel -> nil, Discorb::Channel readonly
-
#channel_id -> Discorb::Snowflake
readonly
The ID of the channel the message was sent in.
-
#content -> String
readonly
The new content of the message.
-
#embeds -> Array<Discorb::Embed>
readonly
The embeds in the message.
- #guild -> nil, Discorb::Guild readonly
-
#guild_id -> Discorb::Snowflake
readonly
The ID of the guild the message was sent in.
-
#id -> Discorb::Snowflake
readonly
The ID of the message.
-
#mention_everyone -> Boolean
readonly
Whether the message pings @everyone.
- #mention_roles -> nil, Array<Discorb::Role> readonly
-
#timestamp -> Time
readonly
The time the message was edited.
Instance Method Summary collapse
-
#fetch_message -> Async::Task<Discorb::Message>
Fetch the message.
-
#initialize(client, data, before, after) -> MessageUpdateEvent
constructor
A new instance of MessageUpdateEvent.
Constructor Details
#initialize(client, data, before, after) -> MessageUpdateEvent
Returns a new instance of MessageUpdateEvent.
296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 |
# File 'lib/discorb/gateway.rb', line 296 def initialize(client, data, before, after) @client = client @data = data @before = before @after = after @id = Snowflake.new(data[:id]) @channel_id = Snowflake.new(data[:channel_id]) @guild_id = Snowflake.new(data[:guild_id]) if data.key?(:guild_id) @content = data[:content] @timestamp = Time.iso8601(data[:edited_timestamp]) @mention_everyone = data[:mention_everyone] @mention_roles = data[:mention_roles].map { |r| guild.roles[r] } if data.key?(:mention_roles) @attachments = data[:attachments].map { |a| Attachment.from_hash(a) } if data.key?(:attachments) @embeds = data[:embeds] ? data[:embeds].map { |e| Embed.from_hash(e) } : [] if data.key?(:embeds) end |
Instance Attribute Details
#after -> Discorb::Message (readonly)
Returns The message after update.
268 269 270 |
# File 'lib/discorb/gateway.rb', line 268 def after @after end |
#attachments -> Array<Discorb::Attachment> (readonly)
Returns The attachments in the message.
285 286 287 |
# File 'lib/discorb/gateway.rb', line 285 def @attachments end |
#before -> Discorb::Message (readonly)
Returns The message before update.
266 267 268 |
# File 'lib/discorb/gateway.rb', line 266 def before @before end |
#channel -> nil, Discorb::Channel (readonly)
This method returns an object from client cache. it will return nil
if the object is not in cache.
296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 |
# File 'lib/discorb/gateway.rb', line 296 def initialize(client, data, before, after) @client = client @data = data @before = before @after = after @id = Snowflake.new(data[:id]) @channel_id = Snowflake.new(data[:channel_id]) @guild_id = Snowflake.new(data[:guild_id]) if data.key?(:guild_id) @content = data[:content] @timestamp = Time.iso8601(data[:edited_timestamp]) @mention_everyone = data[:mention_everyone] @mention_roles = data[:mention_roles].map { |r| guild.roles[r] } if data.key?(:mention_roles) @attachments = data[:attachments].map { |a| Attachment.from_hash(a) } if data.key?(:attachments) @embeds = data[:embeds] ? data[:embeds].map { |e| Embed.from_hash(e) } : [] if data.key?(:embeds) end |
#channel_id -> Discorb::Snowflake (readonly)
Returns The ID of the channel the message was sent in.
272 273 274 |
# File 'lib/discorb/gateway.rb', line 272 def channel_id @channel_id end |
#content -> String (readonly)
Returns The new content of the message.
276 277 278 |
# File 'lib/discorb/gateway.rb', line 276 def content @content end |
#embeds -> Array<Discorb::Embed> (readonly)
Returns The embeds in the message.
287 288 289 |
# File 'lib/discorb/gateway.rb', line 287 def @embeds end |
#guild -> nil, Discorb::Guild (readonly)
This method returns an object from client cache. it will return nil
if the object is not in cache.
296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 |
# File 'lib/discorb/gateway.rb', line 296 def initialize(client, data, before, after) @client = client @data = data @before = before @after = after @id = Snowflake.new(data[:id]) @channel_id = Snowflake.new(data[:channel_id]) @guild_id = Snowflake.new(data[:guild_id]) if data.key?(:guild_id) @content = data[:content] @timestamp = Time.iso8601(data[:edited_timestamp]) @mention_everyone = data[:mention_everyone] @mention_roles = data[:mention_roles].map { |r| guild.roles[r] } if data.key?(:mention_roles) @attachments = data[:attachments].map { |a| Attachment.from_hash(a) } if data.key?(:attachments) @embeds = data[:embeds] ? data[:embeds].map { |e| Embed.from_hash(e) } : [] if data.key?(:embeds) end |
#guild_id -> Discorb::Snowflake (readonly)
Returns The ID of the guild the message was sent in.
274 275 276 |
# File 'lib/discorb/gateway.rb', line 274 def guild_id @guild_id end |
#id -> Discorb::Snowflake (readonly)
Returns The ID of the message.
270 271 272 |
# File 'lib/discorb/gateway.rb', line 270 def id @id end |
#mention_everyone -> Boolean (readonly)
Returns Whether the message pings @everyone.
280 281 282 |
# File 'lib/discorb/gateway.rb', line 280 def mention_everyone @mention_everyone end |
#mention_roles -> nil, Array<Discorb::Role> (readonly)
This method returns an object from client cache. it will return nil
if the object is not in cache.
283 284 285 |
# File 'lib/discorb/gateway.rb', line 283 def mention_roles @mention_roles end |
#timestamp -> Time (readonly)
Returns The time the message was edited.
278 279 280 |
# File 'lib/discorb/gateway.rb', line 278 def @timestamp end |
Instance Method Details
#fetch_message -> Async::Task<Discorb::Message>
Fetch the message.
324 325 326 327 328 |
# File 'lib/discorb/gateway.rb', line 324 def Async do channel.(@id).wait end end |