我目前正在尝试阅读邮件猫通道Twitch。为此,我已经阅读了一些指南,我知道它必须通过IRC Twitch。然后我找到了几行简单的代码。
import socket
import string
HOST="irc.twitch.tv"
PORT=6667
NICK="TwitchUsername"
IDENT="TwitchUsername"
REALNAME="TwitchUsername"
CHANNEL="#ChannelNameHere"
PASSWORD="OAuth Password here" #From http://twitchapps.com/tmi/
readbuffer=""
s=socket.socket( )
s.connect((HOST, PORT))
s.send("PASS %s\r\n" % PASSWORD)
s.send("NICK %s\r\n" % NICK)
s.send("USER %s %s bla :%s\r\n" % (IDENT, HOST, REALNAME))
s.send("JOIN %s\r\n" % CHANNEL)
while 1:
readbuffer=readbuffer+s.recv(1024)
temp=string.split(readbuffer, "\n")
readbuffer=temp.pop( )
for line in temp:
line=string.rstrip(line)
line=string.split(line)
if len(line) > 3:
print line
if(line[0]=="PING"):
s.send("PONG %s\r\n" % line[1])
但是,身份验证没有按计划进行,因为我收到以下消息:
[':tmi.twitch.tv', 'NOTICE', '*', ':Login', 'unsuccessful']
我使用的是有效的OAuth聊天密码,我认为没有理由证明这种失败是正确的。尝试使用用户名时是否还有错误?或者你对这个问题有所了解吗?
答案 0 :(得分:0)
您的OAuth密码需要发送为:
PASS oauth:twitch_oauth_token
这意味着如果你在没有oauth:前缀的PASSWORD变量中输入你的令牌,你应该将传递线修改为:
s.send("PASS oauth:%s\r\n" % PASSWORD)
答案 1 :(得分:0)
我看到了相同的:tmi.twitch.tv NOTICE * :Error logging in
。
如自述文件"Your nickname must be your Twitch username in lowercase"中所述。
我的问题不在于NICK
我的twitch用户名是小写的(不是一个非常有用的通知。所以希望这能节省别人一些时间......)。