import time
import win32api, win32con
import socket #imports module allowing connection to IRC
import threading #imports module allowing timing functions
#sets variables for connection to twitch chat
bot_owner = 'TheMagicalCake'
nick = 'MagicalCakeBot'
channel = '#TheMagicalCake'
server = 'magicalcakebot.jtvirc.com'
password = '~redacted~'
irc = socket.socket()
irc.connect((server, 6667)) #connects to the server
#sends variables for connection to twitch chat
irc.send('PASS ' + password + '\r\n')
irc.send('USER ' + nick + ' 0 * :' + bot_owner + '\r\n')
irc.send('NICK ' + nick + '\r\n')
irc.send('JOIN ' + channel + '\r\n')
我正在尝试制作机器人以进行抽搐聊天,但是当我运行此代码时,我得到的错误是我使用了别人的代码,但对我来说却不适用
Traceback (most recent call last):
File "C:/Users/Owner/Desktop/TheMagicalCake", line 47, in <module>
irc.connect((server, 6667)) #connects to the server
File "C:\Python27\lib\socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
gaierror: [Errno 11004] getaddrinfo failed
答案 0 :(得分:4)
getaddrinfo failed
通常表示您尝试连接的主机名无法解析为IP地址。在这种情况下,它可能意味着它不存在。
当您传递socket.connect()
主机名而不是IP地址时,首先需要找到所述主机名的IP地址。它使用socket.getaddrinfo()
执行此操作,getaddrinfo
向DNS服务器请求有关主机名的信息。事实证明,没有DNS服务器具有此信息,因此对irc.twitch.tv
的调用失败,因此出现错误消息。
连接到Twitch的IRC的过程已经改变了一些,因为你的指南已经完成了。这就是我设法做到的方式。
oauth:
,端口6667.作为密码,使用{{1}}加上您刚刚获得的oauth令牌。