我想创建一个命令来查找频道中最后删除的消息,机器人将发送已删除的消息

时间:2021-03-14 19:09:59

标签: python discord.py

当有人发送命令 .snipe 时,机器人将回复频道中最后删除的消息。

1 个答案:

答案 0 :(得分:0)

据我所知,所有经过验证的机器人都删除了 snipe 命令,因为它违反了不和谐的 TOS。 Dank Memer 等机器人已经删除了该命令,还有更多。

所以我建议不要添加 snipe 命令,但如果您将其用于私人目的,这里是 -

#lists
client.sniped_messages = {}

#events
@client.event
async def on_message_delete(message):
    client.sniped_messages[message.guild.id] = (message.content, message.author, message.channel.name, message.created_at)

#command
@client.command()
async def snipe(ctx):
    try:
        contents, author, channel_name, time = client.sniped_messages[ctx.guild.id]
        
    except:
        await ctx.channel.send("Couldn't find a message to snipe!")
        return

    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)

希望这有帮助!如果我的回答对您有帮助,请采纳。