我收到错误消息
:irc.evilzone.org通知AUTH:*查找您的主机名...
:irc.evilzone.org注意事项:* 找到您的主机名(缓存)
PING:7091A8FB
:irc.evilzone.org 451加入:你还没有注册
:irc.evilzone.org 451 PRIVMSG:您尚未注册
server = "irc.evilzone.org" # Server
port = 6667 #port connect through IRC standard is :(6667 or 9999)
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( server, port ) )
print irc.recv ( 4096 )
nick = 'Piebot' #bots name
chan = 'test' #channel
version= "1.0" #current version
irc.send ( 'NICK Pizebot\r\n' )
irc.send ( 'USER Pizebot Pibot Pibot :Python IRC\r\n' )
irc.send ( 'JOIN #test\r\n' ) # YOU MUST CHANGE THE CHANNEL HERE AND BELOW!!
irc.send ( 'PRIVMSG #test :Hello World.\r\n' )
while True:
readbuffer= irc.recv(4096)
temp=string.split(readbuffer, "\n")
Check = readbuffer.split(':')
print readbuffer
Run Code Online (Sandbox Code Playgroud)
请记住,我使用的一些命令需要代码的temp = string.split(readbuffer,"\n")部分.但是这样的代码是这样的
network = 'irc.evilzone.org'
port = 6667
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( network, port ) )
print irc.recv ( 4096 )
irc.send ( 'NICK ipbot\r\n' )
irc.send ( 'USER ipbot completely real :Jxxx\r\n' )
irc.send ( 'JOIN #test\r\n' )
irc.send ( 'PRIVMSG #test:Oh Hai.\r\n' )
while True:
data = irc.recv ( 4096 )
Run Code Online (Sandbox Code Playgroud)
我可以成功连接到频道等任何想法?
我看到两个可能的原因:
小智 6
我注意到你没有处理PING请求,有些服务器在你回复PING请求之前不接受任何其他命令(因此没有注册).你想要连接,然后NICK,检查PING,然后是USER,如果在USER之前没有,则再次检查PING.
有些服务器喜欢在NICK之后发送,其他服务器则在USER之后.
PING :7091A8FB\r\n
Run Code Online (Sandbox Code Playgroud)
要回复此PING,只需发送:
PONG :7091A8FB\r\n
Run Code Online (Sandbox Code Playgroud)
在:和之间'\r\n将是一个随机字符串,您需要使用您的PONG发回,如上所示.
| 归档时间: |
|
| 查看次数: |
13197 次 |
| 最近记录: |