class Steam
Public Class Methods
friends_list(me)
click to toggle source
# File lib/vapor/steam.rb, line 98 def self.friends_list(me) unless me.length > 0 puts "You have not set your Steam ID yet. Run \"vapor user mynameis <username or numeric ID>\"" return end id = SteamId.new(me) puts "\n" id.friends.each do |f| friend = SteamId.new(f.steam_id64) uid = (friend.custom_url) ? friend.custom_url : f.steam_id64 puts "\033[36m#{friend.nickname}\033[0m [#{uid}]" puts "#{friend.state_message.sub('<br/>',': ').gsub(/<\/?[^>]*>/, "")}\n\n" end end
game_name_string(gameid)
click to toggle source
# File lib/vapor/steam.rb, line 70 def self.game_name_string(gameid) games = { 440 => "TF2", 240 => "CS:S", 730 => "CS:GO", 320 => "HL2", 500 => "L4D", 550 => "L4D2" } if games.has_key?(gameid) return games[gameid] else return "SRC" end end
ping_server(ip, port)
click to toggle source
# File lib/vapor/steam.rb, line 59 def self.ping_server(ip, port) begin server = SourceServer.new(ip, port) rescue server = nil end return server end
server_info(ip, port)
click to toggle source
# File lib/vapor/steam.rb, line 5 def self.server_info(ip, port) server = self.ping_server(ip, port) if server server_info = server.server_info game = self.game_name_string(server_info[:game_id]) puts "----------------------------------------------------" puts "\033[36m" + server_info[:server_name] + "\033[0m [#{game}] " puts "\033[32mPlayers:\033[0m #{server_info[:number_of_players]}/#{server_info[:max_players]} \t \033[32mMap:\033[0m #{server_info[:map_name]}" puts "----------------------------------------------------" players = server.players.sort_by{ |k, v| v.score }.reverse! players.each do |name, info| puts "\033[31m#{info.score}\033[0m\t#{name}" end else puts "\nServer #{ip}:#{port} is not responding.\n\n" end end
server_listing(servers)
click to toggle source
# File lib/vapor/steam.rb, line 35 def self.server_listing(servers) puts "----------------------------------------------------" servers.each do |s| server = self.ping_server(s['ip'], s['port']) if server server_info = server.server_info puts "\033[36m[#{s['handle']}]\033[0m " + server_info[:server_name].squeeze(' ').strip puts "\033[32mPlayers:\033[0m #{server_info[:number_of_players]}/#{server_info[:max_players]} \t \033[32mMap:\033[0m #{server_info[:map_name]}" else puts "\033[36m[#{s['handle']}]\033[0m server not responding" end puts "----------------------------------------------------" end end
user_profile(user)
click to toggle source
# File lib/vapor/steam.rb, line 88 def self.user_profile(user) uid = Integer(user) rescue user id = SteamId.new(uid) puts "\033[36m#{id.nickname}\033[0m" puts "\033[32mStatus:\033[0m #{id.state_message.sub('<br/>',': ').gsub(/<\/?[^>]*>/, "")}" puts id.summary end