python - 如何在 discord.py 中停止执行命令
问题描述
如果用户余额<他下注的钱,我试图停止执行命令。一切正常,但唯一的问题是如果用户输入赌注 > 他的余额,我无法停止命令的执行。
我试图停止执行
await message.channel.send(embed = error_bet_bal)
这是我的代码:
await message.channel.send(embed=discord.Embed(title='Please Enter The Amount to Bet', color=0xFFFF00))
msg = await client.wait_for('message', check=check)
bet_str = msg.content
bet = int(bet_str)
if bet>users_balance:
await message.channel.send(embed = error_bet_bal) #displays that the users bal is less than what he is trying to bet. I am trying to stop it here but after displaying the error message it continues to the while loop.
while bet<1:
if bet >= 1:
break
else:
await message.channel.send(embed = error_bet)
await message.channel.send(embed=discord.Embed(title='Please Enter The Amount to Bet', color=0xFFFF00))
msg = await client.wait_for('message', check=check)
bet_str = msg.content
bet = int(bet_str)
非常感谢 :)
解决方案
添加return
结束函数
下面是修改后的代码
await message.channel.send(embed=discord.Embed(title='Please Enter The Amount to Bet', color=0xFFFF00))
msg = await client.wait_for('message', check=check)
bet_str = msg.content
bet = int(bet_str)
if bet > users_balance:
await message.channel.send(embed = error_bet_bal)
return
while bet<1:
if bet >= 1:
break
else:
await message.channel.send(embed = error_bet)
await message.channel.send(embed=discord.Embed(title='Please Enter The Amount to Bet', color=0xFFFF00))
msg = await client.wait_for('message', check=check)
bet_str = msg.content
bet = int(bet_str)
推荐阅读
- vb.net - 使用 Case 语句时的算术问题
- android - Android PreferenceScreen 在左侧显示大量空白区域
- kotlin - Kotlin:使用 map 和 reduce,生成随机颜色列表
- node.js - 从版本 8.11.1 升级后 NodeJS 无法工作
- javascript - 反向链接列表 - Javascript - 使用类还是只定义一个函数?以及如何计算时间/空间复杂度
- php - 如何使用产品摘录来查找数据库行,找到字段值并使用它来分配帖子类型 pr。类别
- javascript - 无效日期的 Moment.js 问题
- css - 字体真棒:使用 hover::before 时,图标消失了
- excel - 如何运行公式直到最大值或阈值
- amazon-s3 - 有没有办法在恒定时间内在同一存储桶内复制 s3 上的对象 - O(1)