为什么我的机器人不知道参数?

2024-05-28 23:19:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个机器人,它应该给一个球员的信息时,在命令。命令是:

-Whois [USER]

然后机器人回复信息

我输入'iamonf1r3'作为用户参数,它给出了mip232的响应。这是我的密码:

@client.command()
async def Whois(parameter):
    name = parameter
    if name == "mip232" or name == "Mip" or "219884374378676224":
        await client.say("Roblox Name: `mip232` \nDiscord Name: `Mip#3981` \nPin: `FS01` \nRank: `Chief Fire Officer` \nDivision: `All` \nActivity Level: `Active` \nDriving Level: `Advanced` \nDisciplinary Action: `None`")
    elif name == "iamonf1r3" or "iamonf1r3" or "335014153460776962":
        await client.say("Roblox Name: `iamonf1r3` \nDiscord Name: `iamonf1r3#7277` \nPin: `FS02` \nRank: `Deputy Chief Fire Officer` \nDivision: `All` \nActivity Level: `Active` \nDriving Level: `Advanced` \nDisciplinary Action: `None`")


Tags: orname命令client信息parameter机器人whois
1条回答
网友
1楼 · 发布于 2024-05-28 23:19:25

您正在使用或以错误的方式使用

老实说,你完全把你的“或状态”搞砸了

每一个病人都得有新的病情 右:

if name == "mip232" or name == "Mip" or "219884374378676224":

if name == "mip232" or name == "Mip" or name == "219884374378676224":

你对elif也做了同样的处理,但我会让你来修正这个陈述

说明:if <CONDITION> or <CONFITION>

您在第一个条件中提供的参数“name”没有提供给第二个或第三个条件

此外,如果您询问if name,它只会查看此变量是否存在=>;如果存在则为真,如果没有则为假

最后一个or "219884374378676224"基本上为if返回一个True,因为“219884374378676224”存在,因为您只是在同一块中初始化它,它不是一个查询

试着读一下:https://realpython.com/python-or-operator/

相关问题 更多 >

    热门问题