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 = []
  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