正在尝试将IRC bot身份验证到IRC.twitch.tv(C+;+;) 我想用C++来制作一个可以连接到Twitt.TV IRC服务器的IRC BOT。到目前为止,我已经设法让这个机器人连接到不需要任何密码的IRC服务器,但是我在需要机器人提供密码的地方被绊倒了。所以我现在得到的是:

正在尝试将IRC bot身份验证到IRC.twitch.tv(C+;+;) 我想用C++来制作一个可以连接到Twitt.TV IRC服务器的IRC BOT。到目前为止,我已经设法让这个机器人连接到不需要任何密码的IRC服务器,但是我在需要机器人提供密码的地方被绊倒了。所以我现在得到的是:,c++,bots,irc,twitch,C++,Bots,Irc,Twitch,(连接到服务器) send(cSock,“用户自定义0\r\n”,strlen(“用户自定义0\r\n”),NULL); send(cSock,“PASS\r\n”,strlen(“PASS\r\n”),NULL); 发送(cSock,“NICK\r\n”,strlen(“NICK\r\n”),NULL); (加入频道) send(cSock,“JOIN\r\n”,strlen(“JOIN\r\n”),NULL); send(cSock,“PRIVMSG#:Message\r\n”,strle

(连接到服务器)

send(cSock,“用户自定义0\r\n”,strlen(“用户自定义0\r\n”),NULL);
send(cSock,“PASS\r\n”,strlen(“PASS\r\n”),NULL);
发送(cSock,“NICK\r\n”,strlen(“NICK\r\n”),NULL);
(加入频道)

send(cSock,“JOIN\r\n”,strlen(“JOIN\r\n”),NULL);
send(cSock,“PRIVMSG#:Message\r\n”,strlen(“PRIVMSG#:Message\r\n”),NULL);
机器人将在加入频道时发出消息。我已经测试了这个机器人,没有包含PASS的行连接到irc.quakenet.org而不需要提供身份验证信息,但是我希望能够让机器人向irc.twitch.tv提供身份验证信息,这样我就可以在那里的注册帐户上使用它

我做错了什么

更新: 没关系……我知道我做错了什么。显然,我必须在发送用户或尼克之前发送通行证。在这一点上,一切似乎都很正常


无论如何,谢谢你的帮助。

你做错了什么

大概是服务器在告诉你。你看过它和你机器人的对话了吗?我想不会,因为你没有把它贴在这里


获取对话的日志。让机器人打印出来,或者使用网络数据包嗅探器,如或。

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

我不知道我要在中查找什么,但它在这里。@user2994384:呃,这看起来不仅仅是IRC对话。你确定要公开吗?我真的不知道日志是什么意思。为了安全起见,它把它取了下来。有没有其他方法可以使用Wireshark记录IRC机器人?这是你的整个网络流量。分享很不安全。这里不适合Wireshark教程,但请尝试使用“tcp.port eq 6667”作为过滤器。查看会话的最快方法是右键单击数据包并执行“跟踪TCP会话”。但请确保Wireshark捕获了正确的部分,在本例中是bot登录。(在运行bot之前开始抓拍。)是的,我现在意识到发布我的整个网络流量是个坏主意……无论如何,我似乎已经解决了这个问题。无论如何,谢谢你的帮助!
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);