【发布时间】:2015-01-25 12:21:42
【问题描述】:
所以几个小时前,我决定尝试使用 python 处理套接字并构建一个简单的 irc 机器人。到目前为止,我在将其连接到服务器时遇到了一些麻烦。我收到以下错误:
b":irc.ku.cx 439 * :Please wait while we process your connection.\r\n:irc.ku.cx NOTICE AUTH :*** Couldn't look up your hostname (cached)\r\n"
b':irc.ku.cx NOTICE AUTH :*** Checking Ident\r\n'
b':irc.ku.cx NOTICE AUTH :*** No Ident response\r\n'
之后它就停止了。但是在它运行大约一分钟后,我突然得到了无穷无尽的b"",每个都在一个新行中(可能与代码中的while循环有关)。这是我的代码:
import socket
server = 'irc.rizon.net'
channel = '#linux'
nick = 'MyBot'
port = 6667
ircsock = socket.socket()
ircsock.connect((server, port))
ircsock.send(bytes('"NICK " + nick', 'UTF-8'))
ircsock.send(bytes('"USER " + nick + " " + nick + " " + nick + " :" + nick', 'UTF-8'))
while True:
data = ircsock.recv(2048)
print (data)
if data.find(b"PING") != -1:
ircsock.send(b"PONG :" + data.split(':')[1])
感谢你们提供的任何帮助。
【问题讨论】:
-
你引用了太多次。删除
send调用中的单引号。
标签: python python-3.x bots irc