我有一个机器人,该机器人应该在命令中提供有关玩家的信息。命令是:
-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`")
答案 0 :(得分:0)
您正在使用或使用错误的方式
说实话,您完全搞砸了您的“或陈述”
每个或必须有新条件 正确:
if name == "mip232" or name == "Mip" or "219884374378676224":
错
if name == "mip232" or name == "Mip" or name == "219884374378676224":
您对elif进行了同样的操作,但我会留给您解决此问题。
说明:
if <CONDITION> or <CONFITION>
您在第一个条件中提供的参数“名称”不会分配给第二个或。
另外,如果您询问if name
,它将仅查看此变量是否存在=>如果存在,则为True,如果不存在,则为False。
由于存在“ 219884374378676224”,因此您的最后一个or "219884374378676224"
基本上会返回True,因为您只是在同一块中对其进行了初始化,而不是查询。