Как сделать поток с асинхронной функцией - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь сделать что-то вроде этого:

result_available = threading.Event() #variable was set outside of class


    @commands.Cog.listener()
    async def on_message(self, message):
        thread = threading.Thread(target=self.messages, args=[message, 1])
        if thread.isAlive():
            return
        thread.start()
        result_available.wait()
        #do some more stuff with it later

    async def messages(self, message, limit):
        if limit == 1:
            await asyncio.sleep(3)
        history = await message.channel.history(limit=limit).flatten()
        if message.id not in history[-1]["id"]:
            limit += 1
            await self.messages(message, limit)
            return
        else:
            result_available.set()
            print("done")
            return limit

, но при этом я получил ошибку, потому что "сопрограмма 'Drive.messages' никогда не ожидалась", и когда я ожидал thread.start () Я получил еще одну ошибку. Что мне делать

...