Class: Discorb::Gateway::MessageUpdateEvent
- Inherits:
-
GatewayEvent
- Object
- GatewayEvent
- Discorb::Gateway::MessageUpdateEvent
- Defined in:
- lib/discorb/gateway_events.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.
Methods inherited from GatewayEvent
Constructor Details
#initialize(client, data, before, after) ⇒ MessageUpdateEvent
Returns a new instance of MessageUpdateEvent.
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 |
# File 'lib/discorb/gateway_events.rb', line 340 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 = ( if data[:embeds] data[:embeds].map { |e| Embed.from_hash(e) } else [] end ) if data.key?(:embeds) end |
Instance Attribute Details
#after ⇒ Discorb::Message (readonly)
Returns The message after update.
312 313 314 |
# File 'lib/discorb/gateway_events.rb', line 312 def after @after end |
#attachments ⇒ Array<Discorb::Attachment> (readonly)
Returns The attachments in the message.
329 330 331 |
# File 'lib/discorb/gateway_events.rb', line 329 def @attachments end |
#before ⇒ Discorb::Message (readonly)
Returns The message before update.
310 311 312 |
# File 'lib/discorb/gateway_events.rb', line 310 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.
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 |
# File 'lib/discorb/gateway_events.rb', line 340 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 = ( if data[:embeds] data[:embeds].map { |e| Embed.from_hash(e) } else [] end ) if data.key?(:embeds) end |
#channel_id ⇒ Discorb::Snowflake (readonly)
Returns The ID of the channel the message was sent in.
316 317 318 |
# File 'lib/discorb/gateway_events.rb', line 316 def channel_id @channel_id end |
#content ⇒ String (readonly)
Returns The new content of the message.
320 321 322 |
# File 'lib/discorb/gateway_events.rb', line 320 def content @content end |
#embeds ⇒ Array<Discorb::Embed> (readonly)
Returns The embeds in the message.
331 332 333 |
# File 'lib/discorb/gateway_events.rb', line 331 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.
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 |
# File 'lib/discorb/gateway_events.rb', line 340 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 = ( if data[:embeds] data[:embeds].map { |e| Embed.from_hash(e) } else [] end ) if data.key?(:embeds) end |
#guild_id ⇒ Discorb::Snowflake (readonly)
Returns The ID of the guild the message was sent in.
318 319 320 |
# File 'lib/discorb/gateway_events.rb', line 318 def guild_id @guild_id end |
#id ⇒ Discorb::Snowflake (readonly)
Returns The ID of the message.
314 315 316 |
# File 'lib/discorb/gateway_events.rb', line 314 def id @id end |
#mention_everyone ⇒ Boolean (readonly)
Returns Whether the message pings @everyone.
324 325 326 |
# File 'lib/discorb/gateway_events.rb', line 324 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.
327 328 329 |
# File 'lib/discorb/gateway_events.rb', line 327 def mention_roles @mention_roles end |
#timestamp ⇒ Time (readonly)
Returns The time the message was edited.
322 323 324 |
# File 'lib/discorb/gateway_events.rb', line 322 def @timestamp end |
Instance Method Details
#fetch_message ⇒ Async::Task<Discorb::Message>
Fetch the message.
381 382 383 |
# File 'lib/discorb/gateway_events.rb', line 381 def Async { channel.(@id).wait } end |