def initialize(virtual_server, params)
@virtual_server = virtual_server
@client_id = params[:clid].to_i
@client_database_id = params[:client_database_id].to_i
@channel_id = params[:cid].to_i
@nickname = params[:client_nickname]
@type_id = params[:client_type].to_i
@away = params[:client_away].to_i == 1
@away_message = params[:client_away_message]
@flags = []
@flags << :talking if params[:client_flag_talking].to_i == 1
@input_muted = true if params[:client_input_muted].to_i == 1
@output_muted = true if params[:client_output_muted].to_i == 1
@input_hardware = true if params[:client_input_hardware].to_i == 1
@output_hardware = true if params[:client_output_hardware].to_i == 1
@talk_power = params[:client_talk_power].to_i
@talker = params[:client_is_talker].to_i == 1
@priority_speaker = params[:client_is_priority_speaker].to_i == 1
@recording = params[:client_is_recording].to_i == 1
@channel_commander = params[:client_is_channel_commander].to_i == 1
@uid = params[:client_unique_identifier]
@version = params[:client_version]
@platform = params[:client_platform]
@servergroups = params[:client_servergroups].split(',').map {|group| group.to_i}
@channel_group_id = params[:client_channel_group_id].to_i
@channel_group_inherited_channel_id = params[:client_channel_group_inherited_channel_id].to_i
@idle_time = Time.now - params[:client_idle_time].to_i
@created_at = Time.at(params[:client_created].to_i)
@last_connected = Time.at(params[:client_lastconnected].to_i)
@icon_id = params[:client_icon_id].to_i
@country = params[:client_country]
end