我正在使用discord.py(重写分支)为我的服务器开发一个discord机器人,我需要邀请该bot到多个服务器并同时使用它。
我的问题是:
我是否需要为每个服务器设置一个新线程,或者机器人将事件排队并逐个处理它们?如果确实让他们排队,我应该只使用它还是使用单独的线程?
很抱歉,如果这不是一个笨拙的问题,但是我对discord.py还是陌生的,我还不太了解它的工作原理。
感谢阅读
答案 0 :(得分:0)
否,您只需要定义在某些情况下机器人将执行的回调(主要使用Client.event
和Bot.command
)。侦听服务器上发生的事件的所有逻辑都已为您解决。 See the examples directory in the discord.py project for some examples。
如果您的漫游器使用非常广泛(数百台服务器),则必须开始使用分片,这是在同一漫游器的多个实例之间自动拆分流量的过程。您可以查看AutoShardedClient
的文档,以了解其工作原理。
答案 1 :(得分:-1)
多进程,线程或队列都可以使用各自的优点和缺点来解决此问题。就我个人而言,我会使用线程,因为每个服务器上需要发生的事件大多彼此独立。