Python:TeamSpeakClient
From Devicenull's Code
This is a very basic interface to TeamSpeaks telnet protocol
import telnetlib class TeamSpeakRcon: def __init__(self,srvip,srvport=51234): self.server_ip = srvip self.server_port = srvport self.super_login = 0 self.admin_login = 0 def connect(self): self.telnet = telnetlib.Telnet(self.server_ip,self.server_port) self.telnet.set_debuglevel(2) self.telnet.read_until("[TS]",3) self.super_login = 0 self.admin_login = 0 def slogin(self,user,passwd): self.telnet.write("slogin %s %s\n" % (user,passwd)) data = self.telnet.read_until("\n",1) if data == "": raise Exception, "No Data Received" if data[0:2] == "OK": self.super_login = 1 return 1 return 0 def select(self,port): self.telnet.write("sel %s\n" % port) data = self.telnet.read_until("\n",1) if data == "": raise Exception, "No Data Received" if data[0:2] == "OK": return 1 return 0 def banclear(self): self.telnet.write("banclear\n") data = self.telnet.read_until("\n",2) if data == "": raise Exception, "No Data Received" if data[0:2] == "OK": return 1 return 0 def userlist(self): self.telnet.write("dbuserlist\n") # skip header self.telnet.read_until("name\r\n",2) working = 1 admins = [] while working: data = self.telnet.read_until("\n",1) if data == "" or data[0:2] == "OK": working = 0 continue # id sa created lastonline name admininfo = data.split("\t") admins.append({"id":admininfo[0],"sa":admininfo[1],"created":admininfo[2],"lastonline":admininfo[3],"name":admininfo[4].strip().replace('"','')}) return admins