【问题标题】:Trying to auth IRC bot to irc.twitch.tv (C++)试图将 IRC 机器人授权给 irc.twitch.tv (C++)
【发布时间】:2013-11-28 06:25:51
【问题描述】:

所以我正在尝试制作一个可以使用 C++ 连接到 Twitch.tv IRC 服务器的 IRC 机器人。到目前为止,我已经设法让这个机器人连接到不需要任何密码的 IRC 服务器,但是我在需要机器人提供密码的部分被绊倒了。所以我目前得到的是:

(连接到服务器)

send(cSock, "USER custom 0 0 <bot_name>\r\n", strlen("USER custom 0 0 <bot_name>\r\n"), NULL);
send(cSock, "PASS <twitch_oauth_token>\r\n", strlen("PASS <twitch_oauth_token>\r\n"), NULL);
send(cSock, "NICK <bot_name>\r\n", strlen("NICK <name>\r\n"), NULL);

(加入频道)

send(cSock, "JOIN #<channel_name>\r\n", strlen("JOIN #<channel_name>\r\n"), NULL);
send(cSock, "PRIVMSG #<channel_name> :Message\r\n", strlen("PRIVMSG #<channel_name> :Message\r\n"), NULL);

机器人会在加入频道时说出一条消息。我已经测试了这个机器人,没有包含 PASS 的行来连接到 irc.quakenet.org 而无需提供身份验证信息,但我希望能够让机器人向 irc.twitch.tv 提供身份验证信息,以便我可以使用它在那里的注册帐户上。

我做错了什么?

更新: 没关系……我知道我做错了什么。显然我必须在发送 USER 或 NICK 之前发送 PASS。目前一切似乎都正常。

感谢您的所有帮助。

【问题讨论】:

    标签: c++ bots irc twitch


    【解决方案1】:

    你做错了什么?

    大概是服务器在告诉你。你看过它与你的机器人的对话吗?我假设没有,因为您没有将其粘贴到此处。

    获取对话记录。要么让机器人打印出来,要么使用网络数据包嗅探器,例如 tcpdumpWireshark

    【讨论】:

    • 我不知道我在 log 中寻找什么,但无论如何都在这里。
    • @user2994384:呃,这看起来不仅仅是 IRC 对话。你确定要公开吗?
    • 我真的不知道那个日志是什么意思。为了安全起见,它把它取下来了。有没有其他方法可以使用 Wireshark 来记录 IRC 机器人?
    • 这是您的整个网络流量。分享非常不安全。这里不适合 Wireshark 教程,但请尝试使用“tcp.port eq 6667”作为过滤器。查看会话的最快方法是右键单击数据包并执行“Follow TCP conversation”。但请确保 Wireshark 捕获正确的部分,在这种情况下是机器人登录。 (在运行机器人之前开始捕获。)
    • 是的,我现在意识到发布我的整个网络流量是个坏主意……无论如何,我似乎已经解决了。无论如何感谢您的帮助!
    【解决方案2】:

    您必须在发送用户之前发送 oauth 密码。 [edit] 看到你更新的地方[/edit]

    【讨论】:

      猜你喜欢
      • 2012-10-07
      • 1970-01-01
      • 2011-11-24
      • 2018-12-31
      • 2017-05-13
      • 1970-01-01
      • 2016-09-12
      • 2017-01-26
      • 2012-07-28
      相关资源
      最近更新 更多