import socket, sys
if len(sys.argv) !=3 :
print "Usage: ./supabot.py <host> <port>"
sys.exit(1)
irc = sys.argv[1]
port = int(sys.argv[2])
sck = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sck.connect((irc, port))
sck.send('NICK supaBOT\r\n')
sck.send('USER supaBOT supaBOT supaBOT :supaBOT Script\r\n')
sck.send('JOIN #darkunderground' + '\r\n')
data = ''
while True:
data = sck.recv(1024)
if data.find('PING') != -1:
sck.send('PONG ' + data.split() [1] + '\r\n')
print data
elif data.find('!info') != -1:
sck.send('PRIVMSG #darkunderground supaBOT v1.0 by sourD' + '\r\n')
print sck.recv(1024)
當運行此代碼我得到這個錯誤..socket.error:[錯誤10054]
socket.error: [Errno 10054] An existing connection was forcibly closed by the remote host
它說,錯誤是在第16行,在數據= sck.recv(1024 )
其奇怪的原因它曾用於在相同的代碼之前工作,但我重新連接到服務器,我開始得到那個錯誤,我甚至不知道爲什麼 – SourD 2010-06-17 10:52:44
C0d3r:也許他們的服務器決定它不喜歡你的機器人,所以現在它已被列入黑名單。也許他們添加了一些在NICK之後但在其他命令之前需要的認證證書?也許有人已經得到了NICK,並且因爲您嘗試在沒有NICK的情況下加入某個頻道,它會將您斷開。真的,嘗試telnet技術並輸入相同的命令 - 結果應該很明顯。 – 2010-06-20 13:18:27