问题描述
有人会解释分片的工作原理,特别是discord.ext.commands.AutoShardedBot
吗?
我在下面提出了多个问题:
感谢您的时间。
解决方法
- 如果用“多个服务器”表示物理机,不,这是一个 单个python实例。
- 我认为Discord需要经过一定数量的行会分片 2 / 2.5k。
- 公会由
(guild_id >> 22) % shard_count
分配给分片 - 使数据库可通过网络访问,请确保对其进行保护 并使用强密码,从每个密码连接。
如果需要将其拆分为多台计算机,则可以将shard_id
和shard_count
传递给普通的Bot
实例。
我最初担心的是commands.AutoShardedBot
将是多线程的,并且我的锁定方法不是线程安全的。 commands.AutoShardedBot
原来不是线程的,只是commands.Bot