Пытался сделать удаление сообщения при нажатии на реакцию
@Bot.command()
async def woof(ctx):
embed = discord.Embed(color=0xebebeb)
embed.set_image(url=nekos.img('woof'))
msg = await ctx.send(embed = embed)
await msg.add_reaction('❌')
@Bot.event
async def on_reaction_add(reaction):
if reaction.emoji == "❌":
await Bot.message.delete()
но код не работает
Ответы (1 шт):
Автор решения: Merka
→ Ссылка
Ваш подход почти верный, за исключением того, что для удаления сообщения, надо сначала получить само сообщение) Во первых вам нужно проверять эмодзи по имени - reaction.emoji.name
Дальше у Bot нету такого атрибута как message. Поэтому прежде чем продолжать, нам надо получить само сообщение. fetch_message нам в этом поможет
@Bot.event
async def on_raw_reaction_add(reaction):
if reaction.emoji.name == "❌":
msg = await Bot.get_channel(reaction.channel_id).fetch_message(reaction.message_id)
await msg.delete()