class Discordrb::Events::ServerMemberEvent
Generic subclass for server member events (add/update/delete)
Attributes
member[R]
@return [Member] the member in question.
roles[R]
@return [Array<Role>] the member’s roles.
server[R]
@return [Server] the server on which the event happened.
user[R]
@return [Member] the member in question.
Public Class Methods
new(data, bot)
click to toggle source
# File lib/discordrb/events/members.rb, line 19 def initialize(data, bot) @bot = bot @server = bot.server(data['guild_id'].to_i) return unless @server init_user(data, bot) init_roles(data, bot) end
Private Instance Methods
init_roles(data, _)
click to toggle source
# File lib/discordrb/events/members.rb, line 36 def init_roles(data, _) @roles = [@server.role(@server.id)] return unless data['roles'] data['roles'].each do |element| role_id = element.to_i @roles << @server.roles.find { |r| r.id == role_id } end end
init_user(data, _)
click to toggle source
# File lib/discordrb/events/members.rb, line 31 def init_user(data, _) user_id = data['user']['id'].to_i @user = @server.member(user_id) end