Telnet - 每帧读取最后一行作为输入

时间:2014-05-01 08:17:55

标签: python telnet

我打算制作一个" telnet bot"。 有一个游戏有一个内置的telnet服务器,你可以打开。现在,这个telnet服务器记录控制台中的所有活动(杀戮,玩家加入,聊天等),你也可以在putty中输入内容,然后收到游戏内容。

无论如何,我尝试使用Python Telnetlib,但似乎没有任何函数可以读取最后一行。我也尝试使用套接字,但我不太了解Telnet协议。

有没有办法使用telnetlib或套接字来执行以下操作?:

#def readAndDo():
serverOutput = telnet.readLastLine() #doesn't exist, this would be like the thing I need
if "> AuthorizeMe" in serverOutput.splitlines()[:-1]:
    nickname = serverOutput[2:-13]
    tn.write(b"playerReq = playergetByName(\"" + nickname + "\")\n") 
    tn.write(b"playerReq = playerInfo(\"playerReq\")\n")
    username = telnet.readLastLine()
    print username
    readAndDo()
if "Victim" in serverOutput:
    print serverOutput
    readAndDo()
else:
    sleep(1)
    print serverOutput
    readAndDo()
readAndDo()

1 个答案:

答案 0 :(得分:0)

您不希望读取telnet中的最后一行,但希望对telnet服务器需要输入的情况做出反应。没有其他方法可以解析整个消息,服务器在服务器期望答案时发送和应答。