我在检测输入是否被指定时遇到了一些问题。它只是跳到代码的末尾并给出一个错误,跳过if
语句
@bot.command()
async def div(ctx, left: int, right: int):
if left == "":
embedVar = discord.Embed(discription='.div', color=0xFA8072)
embedVar.add_field(name="ERROR", value='Can not divide by zero', inline=False)
return await ctx.reply(embed=embedVar)
if right == "":
embedVar = discord.Embed(discription='.div', color=0xFA8072)
embedVar.add_field(name="ERROR", value='Please specify a input', inline=False)
return await ctx.reply(embed=embedVar)
embedVar = discord.Embed(discription='.div', color=0xFA8072)
embedVar.add_field(name="Your answer is...", value=left / right, inline=False)
return await ctx.reply(embed=embedVar)
除了if
语句之外的所有语句都可以正常工作
您正在检查变量
left
和right
是否为空字符串。然而,这些变量被定义为类型int
。 尝试检查None
istead:对于可选参数,必须设置默认值。例如:
最好使用on_command_error event而不是检查每个命令中是否都指定了参数
相关问题 更多 >
编程相关推荐