1

我目前正在尝试阅读消息猫频道 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 聊天密码,我认为没有理由证明此失败是合理的。当您尝试使用您的用户名时,您是否也有错误?或者你对这个问题有什么想法吗?

4

2 回答 2

0

您的 OAuth 密码需要发送为:

PASS oauth:twitch_oauth_token

这意味着如果您将令牌放入没有 oauth: 前缀的 PASSWORD 变量中,您应该将 pass 行修改为:

s.send("PASS oauth:%s\r\n" % PASSWORD)
于 2014-05-24T10:28:23.753 回答
0

我也看到了:tmi.twitch.tv NOTICE * :Error logging in

如自述文件“您的昵称必须是小写的 Twitch 用户名”中所述。

我的问题不是NICK完全用小写字母制作我的 twitch 用户名(不是一个非常有用的通知。所以希望这可以节省其他人一些时间......)。

于 2016-04-19T06:40:03.297 回答