我的irc机器人挂在:卡尔维诺.freenode.net“注意*:*正在查找您的主机名…”在我向代码中添加一些函数之前,它正在工作。我已经把这些函数注释掉了,但它仍然不起作用! 它停留在那个信息上,没有进展。我不得不强迫它退出。在
我是一个非常初学者的程序员,我才开始编码两个星期左右。所以很有可能我在某个地方犯了一个非常愚蠢的错误。 作为参考,我用这篇文章来写我的机器人的框架。http://ubuntuforums.org/showpost.php?p=9363159&postcount=3 我没有张贴我的其余代码,但我已经把它放在这个粘贴箱,以防需要它!http://pastebin.com/kVF04UFr
import socket
import urllib2
import httplib
import mechanize
channel = '#testbot'
botnick = 'tastybot'
network = 'irc.freenode.net'
port = 6667
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( network, port ) )
print irc.recv ( 4096 )
irc.send ( 'NICK' + botnick + ':\r\n' )
irc.send ( 'USER tastybot tastybot tastybot :Python IRC\r\n' )
irc.send ( 'JOIN' + channel + ':\r\n' )
irc.send ( 'PRIVMSG' + channel + ':What\'s up?\r\n' )
running = True
[various functions]
while running:
[rest of code]
不确定是否是您的错误,但您的字符串似乎有问题:
你的撇号使程序认为它已经退出了字符串
你在发送时忘了空格。应该是这样的:
如果帐户使用密码,只需发送
PASS password
作为第一条消息-在发送用户名和昵称之前-在建立连接之后。在同样在IRC(由RFC定义)中,最大消息长度是512字节。在
顺便说一句,当收到的字符串中的最后2个符号是
^{pr2}$\r\n
时,您应该停止读取帧。我的机器人示例(hy-powered):我猜您正在连接的IRC服务器要求提供一个标识:
^{bq}$来源:http://help.undernet.org/faq.php#19
最简单的解决方法是尝试连接到另一个IRC服务器,您可以尝试'霍姆斯.freenode.net'作为你的服务器。我在那台服务器上使用我的IRC机器人没有问题。在
编辑: 如果您想查看我用于连接到服务器的代码:connection.py
相关问题 更多 >
编程相关推荐