不和谐的机器人如何处理来自多个服务器的事件

时间:2019-08-19 03:32:06

标签: python discord.py-rewrite

我正在使用discord.py(重写分支)为我的服务器开发一个discord机器人,我需要邀请该bot到多个服务器并同时使用它。

我的问题是:

我是否需要为每个服务器设置一个新线程,或者机器人将事件排队并逐个处理它们?如果确实让他们排队,我应该只使用它还是使用单独的线程?

很抱歉,如果这不是一个笨拙的问题,但是我对discord.py还是陌生的,我还不太了解它的工作原理。

感谢阅读

2 个答案:

答案 0 :(得分:0)

否,您只需要定义在某些情况下机器人将执行的回调(主要使用Client.eventBot.command)。侦听服务器上发生的事件的所有逻辑都已为您解决。 See the examples directory in the discord.py project for some examples

如果您的漫游器使用非常广泛(数百台服务器),则必须开始使用分片,这是在同一漫游器的多个实例之间自动拆分流量的过程。您可以查看AutoShardedClient的文档,以了解其工作原理。

答案 1 :(得分:-1)

多进程,线程或队列都可以使用各自的优点和缺点来解决此问题。就我个人而言,我会使用线程,因为每个服务器上需要发生的事件大多彼此独立。