gpt4 book ai didi

python - 基于Python的discord机器人的随机数生成器

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:18 25 4
gpt4 key购买 nike

我想做的是,当有人输入命令 !random (参数)时,我希望机器人生成一个介于 1 和他们作为参数输入的数字之间的数字。但每当我尝试这样做时,它都会给我带来大约 6 个不同的错误,这些错误非常长并且对我来说毫无意义。我当前的该命令代码如下。

@Bot.command(pass_context=True)
async def random1and10(ctx, number):
arg = random.randint(1, number)
if number:
await Bot.say(arg)
else:
await Bot.say('Please select a valid number')

最佳答案

我猜number是作为字符串传递的,所以:

  • 您需要先将其转换为整数,然后再将其传递给 randint
  • 可能需要在“说”之前再次将其转换为字符串

此外,您没有使用正确的方法来检查错误的整数值; if number 永远不会是 False,因为您的 randint 调用只会返回大于 0 的整数(或者引发错误)。

<小时/>

固定版本类似于:

@Bot.command(pass_context=True)
async def random1and10(ctx, number):
try:
arg = random.randint(1, int(number))
except ValueError:
await Bot.say("Invalid number")
else:
await Bot.say(str(arg))

你的里程可能会有所不同,我没有跑过。我不确定装饰函数签名。

<小时/>

whenever I try to do this it gives me around 6 different errors that are very long and make no sense to me.

也许它们对其他人来说是有意义的:)我对这个网站相对较新,但我认为将它们包含在您的帖子中会更好。干杯!

关于python - 基于Python的discord机器人的随机数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49577305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com