Я разрабатываю бот Discord в Python 3.6 с использованием библиотеки discord.py, и у меня возникли проблемы при попытке отправить сообщение на определенный канал из создаваемых мной потоков.
По сути, у меня естьнекоторые потоки отслеживают веб-сайты, и я хотел бы вызвать функцию (которую я передаю потокам), которая отправляет сообщение одному конкретному каналу, когда я замечаю изменение на веб-сайте.
Сначала я попытался вызватьclient.send_message()
напрямую без async / await, но это не сработало вообще, поэтому я написал функцию async / await, отправляющую сообщение (проверил, и оно работает), но снова у меня возникли проблемы с вызовом из потоков, поэтому я закончилпередача бот-клиента в мои потоки и вызов self.bot_client.loop.create_task(self.sendmsgfunction(msg))
.Это работает, но невероятно медленно (отправка сообщения занимает около 15 секунд, и в любом случае это, вероятно, неправильный способ) по сравнению со временем, которое требуется боту для ответа на сообщение с помощью обычной функции @bot.event
.
Я уже пытался создать цикл обработки событий с помощью asyncio, а затем вызывать функцию, но снова у меня возникла ошибка.
Есть идеи?