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: [errno 10054]
socket.error: [Errno 10054] An existing connection was forcibly closed by the remote host
यह कहता है कि त्रुटि पंक्ति 16 में है, डेटा में = sck.recv चलाने (1024)
अपने अजीब कारण यह एक ही कोड से पहले काम करता था, लेकिन मैं सर्वर से पुनः कनेक्ट किया गया और मुझे यह त्रुटि मिलनी शुरू हुई कि मुझे यह भी पता नहीं है कि – SourD
C0d3r: शायद वे सर्वर ने फैसला किया कि यह आपके बॉट को पसंद नहीं आया है, इसलिए अब यह ब्लैकलिस्ट किया गया है। शायद वे कुछ athentication क्रेडेंशियल कि निक के बाद, लेकिन अन्य आदेशों से पहले आवश्यक है जोड़ा? हो सकता है कि कोई पहले से ही निक मिला है, और जब से तुम एक निक के बिना एक चैनल शामिल होने का प्रयास, यह आप डिस्कनेक्ट। वास्तव में, टेलनेट तकनीक कोशिश करते हैं और टाइप एक ही आदेशों - परिणाम स्पष्ट होना चाहिए। –