只允许两个人使用不和谐的bot命令

时间:2019-08-22 23:49:59

标签: python discord discord.py discord.py-rewrite

我最近一直在研究一款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.')

好吧,我的最终目标是拥有它,因此每当我们其中一位触发该命令时,它都会吐出我设置的内容,而当其他任何人使用它时,它吐出该错误。

但是,每当我尝试使用逗号尝试时,它都允许任何人使用该命令。没有错误消息。

对于此文字墙,我感到很抱歉。

1 个答案:

答案 0 :(得分:0)

好的,因此您必须首先定义命令。在THAT中执行该命令后,请使用IF语句检查ID是否等于其他任何人or(使用其ID),如果不是,则返回null,或者对用户更友好,返回一条消息没有权限。

或者您可以创建一个存储两个ID的变量,也许作为一个数组?然后,不要使用ID,而要使用数组及其索引。