Class: Discorb::GatewayHandler::MessageUpdateEvent
- Inherits:
 - 
      GatewayEvent
      
        
- Object
 - GatewayEvent
 - Discorb::GatewayHandler::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 -> 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.
      237 238 239 240 241 242 243 244 245 246 247 248 249 250 251  | 
    
      # File 'lib/discorb/gateway.rb', line 237 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.new(a) } if data.key?(:attachments) @embeds = data[:embeds] ? data[:embeds].map { |e| Embed.new(data: e) } : [] if data.key?(:embeds) end  | 
  
Instance Attribute Details
#after -> Discorb::Message (readonly)
Returns The message after update.
      209 210 211  | 
    
      # File 'lib/discorb/gateway.rb', line 209 def after @after end  | 
  
#attachments -> Array<Discorb::Attachment> (readonly)
Returns The attachments in the message.
      226 227 228  | 
    
      # File 'lib/discorb/gateway.rb', line 226 def @attachments end  | 
  
#before -> Discorb::Message (readonly)
Returns The message before update.
      207 208 209  | 
    
      # File 'lib/discorb/gateway.rb', line 207 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.
      237 238 239 240 241 242 243 244 245 246 247 248 249 250 251  | 
    
      # File 'lib/discorb/gateway.rb', line 237 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.new(a) } if data.key?(:attachments) @embeds = data[:embeds] ? data[:embeds].map { |e| Embed.new(data: e) } : [] if data.key?(:embeds) end  | 
  
#channel_id -> Discorb::Snowflake (readonly)
Returns The ID of the channel the message was sent in.
      213 214 215  | 
    
      # File 'lib/discorb/gateway.rb', line 213 def channel_id @channel_id end  | 
  
#content -> String (readonly)
Returns The new content of the message.
      217 218 219  | 
    
      # File 'lib/discorb/gateway.rb', line 217 def content @content end  | 
  
#embeds -> Array<Discorb::Embed> (readonly)
Returns The embeds in the message.
      228 229 230  | 
    
      # File 'lib/discorb/gateway.rb', line 228 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.
      237 238 239 240 241 242 243 244 245 246 247 248 249 250 251  | 
    
      # File 'lib/discorb/gateway.rb', line 237 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.new(a) } if data.key?(:attachments) @embeds = data[:embeds] ? data[:embeds].map { |e| Embed.new(data: e) } : [] if data.key?(:embeds) end  | 
  
#guild_id -> Discorb::Snowflake (readonly)
Returns The ID of the guild the message was sent in.
      215 216 217  | 
    
      # File 'lib/discorb/gateway.rb', line 215 def guild_id @guild_id end  | 
  
#id -> Discorb::Snowflake (readonly)
Returns The ID of the message.
      211 212 213  | 
    
      # File 'lib/discorb/gateway.rb', line 211 def id @id end  | 
  
#mention_everyone -> Boolean (readonly)
Returns Whether the message pings @everyone.
      221 222 223  | 
    
      # File 'lib/discorb/gateway.rb', line 221 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.
      224 225 226  | 
    
      # File 'lib/discorb/gateway.rb', line 224 def mention_roles @mention_roles end  | 
  
#timestamp -> Time (readonly)
Returns The time the message was edited.
      219 220 221  | 
    
      # File 'lib/discorb/gateway.rb', line 219 def @timestamp end  | 
  
Instance Method Details
#fetch_message -> Discorb::Message
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.
Fetch the message.
      266 267 268 269 270  | 
    
      # File 'lib/discorb/gateway.rb', line 266 def Async do channel.(@id).wait end end  |