我有一个有效的 snipe 命令,它发送最后删除的消息的嵌入,但它不适用于图像。我该如何解决?
@bot.command(aliases=["sn"])
async def snipe(ctx):
try:
contents, author, channel_name, time = bot.sniped_messages[ctx.guild.id]
except:
await ctx.channel.send("**Couldn't find a message to snipe.**")
return
embed = discord.Embed(description=contents, color=0xffd1dc, timestamp=time)
embed.set_author(name=f"{author.name}#{author.discriminator}", icon_url=author.avatar_url)
embed.set_footer(text=f"Deleted in : #{channel_name}")
await ctx.channel.send(embed=embed)
答案 0 :(得分:0)
这里是我允许图像被狙击的方式:
client.sniped_messages = {}
@client.event
async def on_message_delete(message):
if message.attachments:
bob = message.attachments[0]
client.sniped_messages[message.guild.id] = (bob.proxy_url, message.content, message.author, message.channel.name, message.created_at)
else:
client.sniped_messages[message.guild.id] = (message.content,message.author, message.channel.name, message.created_at)
@client.command()
async def snipe(ctx):
try:
bob_proxy_url, contents,author, channel_name, time = client.sniped_messages[ctx.guild.id]
except:
contents,author, channel_name, time = client.sniped_messages[ctx.guild.id]
try:
embed = discord.Embed(description=contents , color=discord.Color.purple(), timestamp=time)
embed.set_image(url=bob_proxy_url)
embed.set_author(name=f"{author.name}#{author.discriminator}", icon_url=author.avatar_url)
embed.set_footer(text=f"Deleted in : #{channel_name}")
await ctx.channel.send(embed=embed)
except:
embed = discord.Embed(description=contents , color=discord.Color.purple(), timestamp=time)
embed.set_author(name=f"{author.name}#{author.discriminator}", icon_url=author.avatar_url)
embed.set_footer(text=f"Deleted in : #{channel_name}")
await ctx.channel.send(embed=embed)