我最近一直在研究一款Discord机器人,遇到了一个问题,我希望只有我和另一个用户可以使用命令,但我不知道如何操作,我读到列出了异常和列表,但我似乎无法全神贯注于如何使用它们,我基本上是在学习,有些东西比其他东西容易。
我知道我将不得不添加和删除我不知道什么,在哪里以及如何做的东西。
好吧,如果我说实话,我试着做个疯子,最后复制了第一个收益并将其粘贴到自身下面。我知道那可能行不通。我还尝试在第一个ID后添加一个逗号,并在其后加一个空格。
def is_me():
def predicate(ctx):
return ctx.message.author.id == 413956481197670401
return commands.check(predicate)
@client.command()
@is_me()
async def Secret(ctx):
await ctx.send(f'{ctx.author.mention} Only you!')
@Secret.error
async def Secret_error(ctx, error):
if isinstance(error, commands.CheckFailure):
await ctx.send('Nothing here buckaroo.')
好吧,我的最终目标是拥有它,因此每当我们其中一位触发该命令时,它都会吐出我设置的内容,而当其他任何人使用它时,它吐出该错误。
但是,每当我尝试使用逗号尝试时,它都允许任何人使用该命令。没有错误消息。
对于此文字墙,我感到很抱歉。
答案 0 :(得分:0)
好的,因此您必须首先定义命令。在THAT中执行该命令后,请使用IF语句检查ID是否等于其他任何人or
(使用其ID),如果不是,则返回null,或者对用户更友好,返回一条消息没有权限。
或者您可以创建一个存储两个ID的变量,也许作为一个数组?然后,不要使用ID,而要使用数组及其索引。