IRC bot连接到随机服务器

时间:2015-01-16 05:34:45

标签: python python-3.x irc

我在python中制作的机器人,它正在连接到随机服务器。我无法弄清楚为什么。到目前为止,这段代码是其他项目的混乱,所以也许我忽略了一些东西。基本上我希望它连接到irc.rizon.net加入#brook_nise然后潜伏在那里。

当我运行脚本时,我会连接到这些服务器:

irc.rizon.io    
irc.sxci.net    
irc.broke-it.com    
irc.rizon.sexy

import socket

network = 'irc.rizon.net'
network = network.encode(encoding='UTF-8',errors='strict')
port = 6667
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
USR = "USER boxxxy boxxxy boxxxy :boxxxy\r\n"
PAS = '/msg NickServ IDENTIFY pass\r\n'
JOI = 'JOIN #brook_nise\r\n'
pi  = 'PING'
po  = 'PONG'

PING = pi.encode(encoding='UTF-8',errors='strict')
PONG = po.encode(encoding='UTF-8',errors='strict')
USER = USR.encode(encoding='UTF-8',errors='strict')
PASS = PAS.encode(encoding='UTF-8',errors='strict')
JOIN = JOI.encode(encoding='UTF-8',errors='strict')


irc.connect ( ( network, port ) )
print (irc.recv ( 4096 ))


irc.send (USER)
irc.send (PASS)
irc.send (JOIN)

while True:
    data = irc.recv ( 4096 )
    if data.find ( PING ) != -1:
        irc.send ( PONG + data.split() [ 1 ] + '\r\n' )

    print (data)

1 个答案:

答案 0 :(得分:2)

这是因为irc.rizon.net是地理平衡的DNS记录。它会检查机器人来自哪里,然后自动为其分配服务器以进行连接。

基本上没有'irc.rizon.net'这样的服务器,如果你总是想要同一个(你没有),那么只需指定你列出的服务器之一。