首页 > 解决方案 > 如何制作不跨服务器狙击的狙击命令(discord.py)

问题描述

我正在尝试使用 discord.py 在 python 中创建一个命令,这是您的标准狙击命令,但我在网上看到的所有方法都有一个问题。它们都有一个全局狙击变量,例如,如果我进入服务器 A 并键入“hello”然后删除该消息,然后转到服务器 B 并键入狙击命令,它会说最后一条消息是“hello”。有没有简单的方法来解决这个问题?编辑 - 让它工作!(不知何故)感谢任何帮助过的人

标签: pythondiscorddiscord.pycommand

解决方案


只需添加一个处理程序。

像这样做。

contentguild = self.last_msg.guild
guild = ctx.guild

做一个 if 语句:

if contentguild.id != guild.id:
        await ctx.reply("There is no message to snipe!", 
                         mention_author=False)
        return

我假设你已经设置了狙击命令,所以使用这些代码你应该能够让它工作。如果你真的有问题对这个消息做出反应,我可以给你狙击命令的整个代码,但我希望你先自己尝试一下。;-)


推荐阅读