class TeamSpeak3::Client

Attributes

away_message[R]
channel_group_id[R]
channel_group_inherited_channel_id[R]
channel_id[R]
client_database_id[R]
client_id[R]
country[R]
created_at[R]
flags[R]
icon_id[R]
idle_time[R]
last_connected[R]
nickname[R]
platform[R]
servergroups[R]
talk_power[R]
type_id[R]
uid[R]
version[R]
virtual_server[R]

Public Class Methods

new(virtual_server, params) click to toggle source
# File lib/client.rb, line 25
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

Public Instance Methods

away?() click to toggle source
# File lib/client.rb, line 68
def away?
  @away
end
channel_commander?() click to toggle source
# File lib/client.rb, line 72
def channel_commander?
  @channel_commander
end
flag?(flag) click to toggle source
# File lib/client.rb, line 76
def flag?(flag)
  @flags.include?(flag)
end
input_hardware?() click to toggle source
# File lib/client.rb, line 80
def input_hardware?
  @input_hardware
end
input_muted?() click to toggle source
# File lib/client.rb, line 84
def input_muted?
  @input_muted
end
kick_from_channel!(reason = nil) click to toggle source
# File lib/client.rb, line 93
def kick_from_channel!(reason = nil)
  virtual_server.server.kick_client!(client_id, :channel, reason)
  true
end
kick_from_server!(reason = nil) click to toggle source
# File lib/client.rb, line 88
def kick_from_server!(reason = nil)
  virtual_server.server.kick_client!(client_id, :server, reason)
  true
end
output_hardware?() click to toggle source
# File lib/client.rb, line 98
def output_hardware?
  @output_hardware
end
output_muted?() click to toggle source
# File lib/client.rb, line 102
def output_muted?
  @output_muted
end
priority_speaker?() click to toggle source
# File lib/client.rb, line 106
def priority_speaker?
  @priority_speaker
end
recording?() click to toggle source
# File lib/client.rb, line 110
def recording?
  @recording
end
send_message(message) click to toggle source
# File lib/client.rb, line 114
def send_message(message)
  virtual_server.server.send_message_to(self, message)
end
talker?() click to toggle source
# File lib/client.rb, line 118
def talker?
  @talker
end
talking?() click to toggle source
# File lib/client.rb, line 122
def talking?
  flag?(:talking)
end