[英]How to delete an embed message Discord.py?
嗨,我在自动删除消息时遇到问题,这里是我正在使用的嵌入
@commands.command(name='hug', pass_context=True, aliases=['hugs'])
@commands.cooldown(5, 60, commands.BucketType.user)
async def hug(self, context, member: discord.Member):
"""Hug your friend"""
author = context.message.author.mention
mention = member.mention
hug = "{0} hugs {1}"
choices = ['example.gif']
image = random.choice(choices)
embed = discord.Embed(description=hug.format(author, mention), colour=discord.Color(random.randint(0x000000, 0xFFFFFF)))
embed.set_image(url=image)
await self.bot.say(embed=embed)
await asyncio.sleep(3)
await self.bot.delete_message(embed)
好像我在这里做错了什么,因为它会抛出一个错误
File "C:\Users\Tom\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\client.py", line 1261, in delete_message
channel = message.channel
AttributeError: 'Embed' object has no attribute 'channel'
您删除的是Embed
所在的消息,而不是Embed
本身。
sent = await self.bot.say(embed=embed)
await asyncio.sleep(3)
await self.bot.delete_message(sent)
改写现在是
# For on_message
await message.delete()
# For commands
await ctx.message.delete()
并在编辑时删除嵌入
# msg would be when you send the message Ex. msg = await ctx.send(embed=embed)
# Make sure to specify what you want to edit with 'content' and 'embed'
await msg.edit(content='Content Here', embed=None)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.