Почему бот discord py работает как 1 на разных серверах

У меня есть discord py бот. Можно ли как-то сделать так, чтобы его можно было добавить на 2 разных сервера и он работал асинхронно? (Сейчас он при команде с первого сервера начинает играть музыку в другом) Вот часть кода:

class MyBot(commands.Cog):
def __init__(self, bot: commands.Bot):
    self.bot = bot
    self.connect = None
    self.voice_channel = None

@commands.command()
async def join(self, ctx):
    self.voice_channel = discord.utils.get(ctx.guild.voice_channels, name=ctx.message.author.voice.channel.name)
    if not self.connect:
        self.connect = await self.voice_channel.connect()

@commands.command()
async def leave(self, ctx):
    if self.connect:
        await self.connect.disconnect()
        del self.connect

Ответы (2 шт):

Автор решения: bluff.exe

Тебе надо делать бд для всех серверов. Изучи питон и базы данных. Python, введение в БД

→ Ссылка
Автор решения: Universall

Спустя некоторое время я догадался до такой структуры:

При инициализации бота я добавляю все его сервера в словарь {сервер: объект бота, который будет обрабатывать команду}. Получилось как-то так:

self.guilds: Dict[discord.Guild, GuildThread.GuildThread] = {}
for guild in self.bot.guilds:
    self.guilds[guild] = GuildThread.GuildThread(self.bot, guild)
async def join(self, ctx: commands.Context) -> None:
    await self.guilds[ctx.guild].join(ctx)

Не знаю правильно ли я сделал, но этот способ выглядит очень логично и удобно.

→ Ссылка