python - 为什么我的命令不起作用(石头剪刀布)
问题描述
我正在做一个石头剪刀布命令,我正在努力保持基本。没有反应,它会检查你的论点,然后机器人会告诉你它选择了什么。代码:
@client.command(aliases=["rockpaperscissors"])
async def rps(ctx, args):
await ctx.message.delete()
if args == ("rock" or "paper" or "scissors" or "Rock" or "Paper" or "Scissors"):
embed=discord.Embed(title='Rock paper scissors', description='You selected ' + args + f' - Bot selected {random.choice(rps)}.', color=RandomColor())
await ctx.send(embed=embed)
else:
await ctx.send("Your option needs to be either rock, paper or scissors.")
所以我想知道我的命令有什么问题。是颜色吗?
解决方案
错误在该行中:
if args == ("rock" or "paper" or "scissors" or "Rock" or "Paper" or "Scissors"):
右操作数是一个布尔值,所以它永远不会等于一个字符串。应该改为
if args in ("rock", "paper", "scissors", "Rock", "Paper", "Scissors"):
甚至
if args.lower() in ("rock", "paper", "scissors"):
推荐阅读
- angular - How to remove marker by method, openlayers 4, angular 4
- javascript - 用纯js选择元素不包含指定子节点
- jmeter - 使用 JMeter 测试 OpenXava 应用程序
- scala - 是否有针对类型擦除的解决方法?
- mysql - MYSQL - 表格显示选项(不打印重复项)
- angular - Angular 6 返回 Observable
订阅 RxJs zip 后 - c - 使用 Frama-c 测试大文件中的中间变量
- swift - NSControl 的 addTarget() 方法在哪里?
- ios - 在运行时指定领域对象类型
- android - Android 程序类型已存在错误