不和谐.py |使用嵌入时,如何使用 for 循环生成变量的字段值?
Posted
技术标签:
【中文标题】不和谐.py |使用嵌入时,如何使用 for 循环生成变量的字段值?【英文标题】:Discord.py | When working with embeds, how does one use a for loop to generate a variable's worth of fields? 【发布时间】:2021-08-26 15:43:52 【问题描述】:我目前正在研究 discord.py 掷骰子命令,该命令允许输入一个参数来掷骰子。当此命令输出到嵌入时,我希望每个骰子滚动都使用 for 循环输出到它自己的嵌入字段,该循环的执行次数与包含参数的骰子数量的变量相同。
我尝试了很多类型的 for 循环,但我认为我做的事情根本上是错误的。不幸的是,当我运行这个 for 循环时,Discord.py 没有返回任何错误,所以我什至无法开始思考为什么......
diceNum = 5
diceRange = range(diceNum)
for dice in diceRange:
print(f'test: dice')
embed.add_field(name=f"dice",
value=f"diceName is a(n)...\n diceResult**!",
inline=True)
我的假设是,如果不执行某种特殊的排序方法,就无法添加嵌入字段,并且如前所述,当我运行此代码时,它根本不输出任何内容。没有错误,并且也缩短了命令。任何建议将不胜感激,所以!
编辑:这是嵌入任务!
embed = discord.Embed(
title="Test Dice Roller",
description=f"You've rolled diceNum diceName dice, Good luck!\n\n",
color=diceColor,
)
【问题讨论】:
你可以这样做,你能展示你的嵌入作业吗?embed = ??
当然! (格式看起来很糟糕,所以我也会将其编辑到帖子中)`embed = discord.Embed(title="Test Dice Roller", description=f"你已经掷出 diceNum diceName 骰子,祝你好运!\n\n",
【参考方案1】:
你的方法是正确的,检查color
这是我对 for 循环语句进行更改的小测试
@bot.command()
async def dice(ctx):
diceNum = 5
embed = discord.Embed(
title="Test Dice Roller",
description=f"You've rolled diceNum",
)
for dice in range(diceNum):
embed.add_field(name=dice, value='something')
await ctx.send(embed=embed)
【讨论】:
令人着迷,非常感谢阿卜杜勒阿齐兹!你知道为什么颜色导致它不起作用吗? 颜色应该是这样的color=discord.Colour.red()
for more colors以上是关于不和谐.py |使用嵌入时,如何使用 for 循环生成变量的字段值?的主要内容,如果未能解决你的问题,请参考以下文章
使用 discord.py 制作一个不和谐的机器人通过嵌入发送图像
我将如何编写一个嵌入代码,从我有 URL 的一组图像中提供一个随机图像? (不和谐.py)
使用 discord.py 解析嵌入不和谐的 json 数据