我将我的机器人连接到irc.twitch.tv时遇到了一些问题。连接到irc.ubuntu.com是没问题的。
当连接到ubuntu时,我只是发送昵称然后是usr。随着抽搐,我发送传球,尼克,然后是usr。
我真的很困惑,为什么这根本不起作用。通常我认为抽搐应该告诉我什么,但在我的机器人告诉我没有发生特殊错误后,根本就没有任何消息。所以我认为问题在于连接,而不是我无法在usr和nick之前发送有效的通行证
因为我的代码有点长,所以我将它发布在pastebin上,希望你能理解并分析它:
PS: - My oauth PW should be correct it is not the string in the sample code.
- I have the pw/usr/nick in the right order, nick/usr is wrong in code.
- I want to say again, that I don't get any message from twitch or any errors.
PPS: - I just tried using wireshark and when filtering for "irc" I got some data
with irc.ubuntu.com, but none with irc.twitch.tv.
Is the twitch adress wrong?
PPPS: - I am not completely into wireshark yet, but the only messages I am getting
on tcp port 6667 are
"connection establish request"
and "connection establish acknowledge"
答案 0 :(得分:1)
根据协议文档,客户端连接协议顺序为:
<强> PASS 强>
<强> NICK 强>
用户强>
而您的机器人似乎正在发送pass
,user
,nick
。
3.1连接注册
此处描述的命令用于注册连接 作为用户的IRC服务器以及正确断开连接。
A&#34; PASS&#34;客户端连接不需要命令 注册,但它必须在NICK / USER的后者之前 组合(用于用户连接)或SERVICE命令(用于用户连接) 服务连接)。客户注册的推荐订单
如下:1. Pass message 2. Nick message 2. Service message 3. User message
成功后,客户端将收到RPL_WELCOME(对于用户)或 RPL_YOURESERVICE(用于服务)消息指示
现在已经注册了连接并且已知整个IRC网络。 回复消息必须包含完整的客户端标识符 它被注册了。
修改强>
此外,即使协议建议PASS
是可选的,某些服务器也需要密码,即使不需要连接到网络也是如此。发送空白PASS
是不够的。对于那些我发送PASS none
的服务器。 (只要密码不为空,任何事都可以。)
答案 1 :(得分:1)
Twitch需要使用OAuth令牌作为密码。见http://help.twitch.tv/customer/portal/articles/1302780-twitch-irc
答案 2 :(得分:0)
答案很简单。我只是玩弄它就发现了它。 这似乎是我的小代码中的一个问题,我没有立即将我的数据发送到服务器。所以当我改变&#34;开关3:&#34;到&#34;开关:1&#34;一切都在突然发生。
对你们所有的帮助人员来说还是很好的!