IRC bot无法加入频道

sou*_*urD 3 python irc

import socket

irc = 'irc.hack3r.com'
port = 6667
channel = '#chat'
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 #chat' + '\r\n')
data = ''
while True:
     data = sck.recv(4096)
     if data.find('PING') != -1:
        sck.send('PONG ' + data.split() [1] + '\r\n')
        print data

print sck.recv(4096)
Run Code Online (Sandbox Code Playgroud)

当我连接到服务器时,我无法加入频道,我收到此错误:

"451加入:你还没有注册"

小智 11

迈克格雷厄姆错了.怎么错是你太早发送JOIN命令.服务器注册NICK和USER命令需要一段时间,因此错误"Nick not registered".看到这个回复:Python IRC bot将不会加入.

我还想鼓励你继续学习并通过裸机插座制作机器人来发现IRC协议.谁在乎您的代码并不完全符合RFC 1459.几乎没有任何服务器,客户端或机器人符合标准100%.但如果它有效,它就有效!

与Daenyth sais不同,使用裸插槽IRC机器人获得一些好结果并不难.只需仔细阅读RFC并进行实验!