我应该如何让我的 8ball 命令回答 Discord.py 中特定问题的特定答案?

How should I make my 8ball command to answer a specific answer to a specific question in Discord.py?

我的 8ball 代码是这样的:

async def klausimas(ctx):
    choices = ["Blah blah blah", "Blah blah blah"]
    ranquestion = random.choice(choices)
    
    await ctx.send(ranquestion)

我应该怎么做,如果有人这样问: “/klausimas insert youtuber name 好吗?” 答案是: “是的,他们很好。” 有人可以帮忙吗?我真的不知道该怎么做。

简单实现和简要说明:


async def klausimas(ctx, *, args=None):
    if args == None:
        choices = ["Blah blah blah", "Blah blah blah"]
        ranquestion = random.choice(choices)
    
        await ctx.send(ranquestion)
    else:
        if args.lower() == "is insert youtuber name good?":
            await ctx.send("Probably not.")

添加 *, args=None 指定在命令之后发送的所有内容都是可选的命令参数。

然后您想要设置用户不使用任何参数时的默认操作。

if args == None:

然后您将用户输入的可选参数与您的字符串操作数进行比较。将参数和操作数转换为特定的区分大小写很有帮助。

if args.lower() == "is insert youtuber name good?":

有更有效的方法来编写此代码,但我想简单地为您分解它并向您展示一种易于扩展的格式,如果您希望添加更多内容,例如(“在这里插入 twitch 流光好吗?”)