我有一个命令可以让机器人回显我的消息,但如果我粘贴图像,机器人就会出现错误,我不知道如何修复它。我希望我的机器人能够使用 echo 命令并插入我粘贴的照片。
我试图解决这个问题,但我不知道如何处理图像,没有关于 echo 命令和图像的教程
这是我的代码:
@bot.command(aliases=['echo'])
@commands.is_owner()
async def e(ctx, *, message=None):
message = message or "Napisz co chcesz powtórzyć"
await ctx.message.delete()
await ctx.send(message)
您需要在命令中包含更多逻辑。
您正在寻找的是一个名为
image
的新参数,或者是在代码中进行一些检查。
选项 1: 创建一个名为
image: discord.Attachment = None
的新参数
这样它是可选的,您不需要在每个命令中包含图像。然后,您可以使用
if image
检查代码中的图像,并包含发送它的逻辑。
选项 2: 在代码中包含一些逻辑,然后检查消息是否包含图像。
if ctx.message.attachments: # If the message contains an image
attachment = ctx.message.attachments[0]
await ctx.message.delete()
await ctx.send(content=message, file=discord.File(attachment.url))
else:
await ctx.message.delete()
await ctx.send(content=message)