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)