Я не знаю, как правильно использовать fetch_message - PullRequest
0 голосов
/ 31 мая 2019

Я не знаю, куда поставить сопрограмму "fetch_message" Я хочу отредактировать сообщение, но оно не работает по-старому

Я попробовал старый способ, но он сказал мне, что он получил 2 позиционных аргумента вместо 1 ...

ersteller = ctx.message.author.id
await channel.send(f"<@{ersteller}>", embed=embed)
nachrichtchannel = ctx.message.channel
zerstörung = await nachrichtchannel.send("Selbstzerstörung in 3")
message = await client.fetch_message(zerstörung)
time.sleep(1)
print(message)
print(zerstörung)
await message.edit("Selbstzerstörung in 2")
message.edit()
time.sleep(1)
await message.edit("Selbstzerstörung in 1")
time.sleep(1)
await message.delete()
nachricht = ctx.message
await client.message.delete(nachricht)

Это просто говорит мне "AttributeError: module 'client' has no attribute 'fetch_message'" Этот код является частью окружающего сообщения, все, включая «Selbstzerstörung in 3», публикуется, но редактирование не удается ...

1 Ответ

1 голос
/ 31 мая 2019

Я не уверен, почему вы хотите получить сообщение, когда вы уже получили объект сообщения с

zerstörung = await nachrichtchannel.send("Selbstzerstörung in 3")

Вы можете просто вызвать edit для этого объекта, вам не нужно вызывать fetch_message

Для вашей ошибки edit вы должны передать content в качестве аргумента. Похоже, вы пытаетесь сделать счетчик, вот пример:

 @commands.command()
 async def counter(self, ctx):
     message = await ctx.channel.send("Timer 3")
     time.sleep(1)
     await message.edit(content="Timer 2")
     time.sleep(1)
     await message.edit(content="Timer 1")
     time.sleep(1)
     await message.delete()

Редактировать: Вы должны использовать await asyncio.sleep(1), чтобы избежать любых ошибок кода.

...