Javascript 处理IRC聊天机器人应用程序的全局禁止
我有一个IRC聊天机器人,我使用Node.js+JavaScript为TwitchTV上的广播公司开发。我在家里的电脑上运行了这个程序,我知道如果某个IP地址发送了太多的消息,或者被洪水淹没,IRC将在全球范围内禁止它 我想向其他广播公司开放聊天机器人,但我担心如果不同的机器人(我设置了聊天机器人,以便广播公司可以为他们的机器人创建一个新帐户,以便名称适合他们的频道)从单个全球IP发送消息,我会被全球禁止 我可以使用哪些技术,每个广播公司都可以从机器人上获取信息,而不必获得全球禁令 下面是一个机器人的示例,它可以同时在多个通道中发送消息,并且不会被禁止: 我问过创作者是否可以给我一些建议,但他们几乎拒绝了。你应该知道一些限制,你可以/不应该超过:Javascript 处理IRC聊天机器人应用程序的全局禁止,javascript,node.js,bots,irc,Javascript,Node.js,Bots,Irc,我有一个IRC聊天机器人,我使用Node.js+JavaScript为TwitchTV上的广播公司开发。我在家里的电脑上运行了这个程序,我知道如果某个IP地址发送了太多的消息,或者被洪水淹没,IRC将在全球范围内禁止它 我想向其他广播公司开放聊天机器人,但我担心如果不同的机器人(我设置了聊天机器人,以便广播公司可以为他们的机器人创建一个新帐户,以便名称适合他们的频道)从单个全球IP发送消息,我会被全球禁止 我可以使用哪些技术,每个广播公司都可以从机器人上获取信息,而不必获得全球禁令 下面是一个机
- 克隆每个IP/子网
大多数网络限制来自单个IP的并发连接数量(有时,尤其是IPv6甚至整个子网)。对于每个网络,此限制都是不同的,并且在超出此限制时如何处理。一些网络创建了一个g-line(全球网络禁止您的IP),其他网络只是删除任何新的连接 - 每个连接的通道限制
有一个限制,在多少频道,你可以在同一时间。此限制是每个连接的限制,因此添加其他连接将增加您需要克隆的最大通道数 - 每个连接的速率限制 每个连接只允许在给定时间向服务器发送一定数量的数据。这可能很简单,从每秒5个命令到复杂,不同的命令会给阈值增加不同的量
那么你如何才能绕过这个限制呢?
- 克隆
最好的办法是得到一个例外,一个信任。如何获得一个或是否能够获得一个取决于网络(策略) - 频道限制
网络中的某些服务器可能允许更多的通道进入。某些网络允许某些用户获得更高的限制。再次询问您的IROP或使用克隆 - 利率限制
询问您的IROP或使用克隆。实施队列以避免因过多洪水而断开连接
最好使用中性名称,并将其用于多个频道。一旦达到频道上限,请使用克隆 为避免因
洪水泛滥而被踢倒
实施排队以阻止排队(费率限制在您这边)
切勿将超过允许数量的并发连接连接到网络。这包括“重影”,即最近断开但仍“在服务器上”的连接。 (为了防止g线在重新连接前将限值除以2或等待3分钟(或更长时间) 编辑 环顾twitch之后,twitch似乎没有使用IRC网络,而是使用了多个IRC服务器。这使它变得更简单、更复杂:
- 如果可能,您应该查找适当的DNS名称并使用现有连接(具有相同的ip)
- 使用单个用户名