0

所以我正在尝试制作一个可以使用 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。在这一点上,一切似乎都正常。

无论如何,感谢您的所有帮助。

4

2 回答 2

0

你在做什么错?

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

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

于 2013-11-15T01:15:18.187 回答
0

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

于 2013-12-18T22:28:58.970 回答