Similization
@Similization
В прострации

Как исправить ошибку, связанную с асинхронностью?

Захотел прикрутить яндекс музыку к телеграм боту, но не могу понять, как исправить ошибку связанную с асинхронностью
Дело в том, что клиента для яндекс музыки создаю асинхронного:

class YandexMusicAsyncClient:
    def __init__(self, token: str):
        self.client = ClientAsync(token=token)

    async def create(self):
        await self.client.init()


Создал собственный класс бота, унаследованный от aiogram.Bot:
class <bot name>(Bot):
    def __init__(self, token):
        super().__init__(token)
        self.yam_client: Optional[YandexMusicAsyncClient] = None

    async def create_yandex_music_client(self, token: str):
        self.yam_client = await YandexMusicAsyncClient(token=token).create()


И соответсвенно в main пытался вызвать функцию
...
await bot.create_yandex_music_client(token=YANDEX_DATA["music"]["key"])
...
if __name__ == "__main__":
    # asyncio.run(bot.create_yandex_music_client(token=YANDEX_DATA["music"]["key"]))
    executor.start_polling(dp, skip_updates=True)
    v = "sas"

Пробовал различные варианты (asyncio.run, loop) в различных комбинациях, но пока не особо понимаю, как это исправить
  • Вопрос задан
  • 20 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы