AttributeError: 'coroutine' object has no attribute 'edit', при написании бота discord.py

Пишу бота на python с модулем discord.py, он должен каждые пять минут редактировать своё сообщение, меняя контент на полученный из файла. Вот сам код.

import discord, asyncio
from discord import utils

import config

class MyClient(discord.Client):
    async def on_ready(self):
        print('Logged on as {0}!'.format(self.user))

        while 1 > 0:
            f = open('TempList.txt', 'r')
            channel = self.get_channel(int(config.CHANNEL))
            message = channel.fetch_message(int(config.MESSAGE))
            message.edit(content = f)
            f.close()
            asyncio.sleep(300)

client = MyClient()
client.run(config.TOKEN)

При его выполнении я получаю следующую ошибку: AttributeError: 'coroutine' object has no attribute 'edit'. Не могу понять почему так, ведь в документации, для редактирования сообщения предназначена именно эта функция.


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

Автор решения: eri

Смотрите документацию к библитотеке. Если медод асинхронный - отмечают его словами async или coroutine в документации. Такие методы нужно вызывать или через await или через ensure_future, create_task.

message = await channel.fetch_message...
await message.edit(content = f)
...
await asyncio.sleep(300)
→ Ссылка