使用我的C ++ irc​​ bot连接到Twitch

时间:2014-12-11 01:52:54

标签: c++ bots irc twitch

我将我的机器人连接到irc.twitch.tv时遇到了一些问题。连接到irc.ubuntu.com是没问题的。

当连接到ubuntu时,我只是发送昵称然后是usr。随着抽搐,我发送传球,尼克,然后是usr。
我真的很困惑,为什么这根本不起作用。通常我认为抽搐应该告诉我什么,但在我的机器人告诉我没有发生特殊错误后,根本就没有任何消息。所以我认为问题在于连接,而不是我无法在usr和nick之前发送有效的通行证 因为我的代码有点长,所以我将它发布在pastebin上,希望你能理解并分析它:

http://pastebin.com/Win3CXbP

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"

3 个答案:

答案 0 :(得分:1)

根据协议文档,客户端连接协议顺序为:

  

<强> PASS

     

<强> NICK

     

用户

而您的机器人似乎正在发送passusernick

  

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;一切都在突然发生。

对你们所有的帮助人员来说还是很好的!