当我使用dailygacha命令时,下面的代码将不会在服务器中发送嵌入的消息。但是,其他所有命令都可以正常工作。我们将不胜枚举我可以阅读的任何文档链接,因此我可以进一步了解您的任何解决方案的工作方式。预先谢谢你。
α = 75,67,70
β = 90,95,78
γ = 86,18,10
δ = 9,56,93
ε = 117, 85, 138
ζ = 232, 99, 202
rarity = random.choices("αβγδεζ", weights=[60, 40, 20, 15, 5, 3])
strength = random.randint(0, 100)
agility = random.randint(0, 100)
defense = random.randint(0, 100)
endurance = random.randint(0, 100)
csi = ((strength + agility + defense + endurance) / 4)
@bot.command()
@commands.cooldown(1, 60*60*24, commands.BucketType.user)
async def dailygacha(ctx):
embed = discord.Embed(
colour = discord.Colour.to_rgb(rarity),
title = "Waifu Gacha",
description = f"Roll Result: Lelouch Lamperouge [{rarity}]",
)
embed.set_image(url="https://cdn.myanimelist.net/images/characters/5/274017.jpg")
embed.add_field(name="Character Stats:", inline=False)
embed.add_field(name=f"Strength: {strength}", inline=False)
embed.add_field(name=f"Agility: {agility}", inline=False)
embed.add_field(name=f"Defense: {defense}", inline=False)
embed.add_field(name=f"Endurance: {endurance}", inline=False)
embed.add_field(name=f"Total CSI: {csi}", inline=False)
embed.add_field(name="Roll Type:", inline=False)
embed.add_field(name="Daily", inline=False)
await ctx.send(embed=embed)
答案 0 :(得分:0)
您没有提供追溯功能,因此,请尽可能以后再提供。
发生这种情况的原因是因为add_field()
同时需要 name
和value
关键字参数。我建议要么将每个变量(strength
,agility
等)移到value
,要么可以使用{{ 1}}个字符。
这两种方法都是
value
u200b
是zero-width space,仍会算作包含字符的字符串,但不会让您感到空虚。
编辑:
似乎另一个问题是您的embed.add_field(name=f"Strength: {strength}", value="\u200b")
# OR
embed.add_field(name="Strength:", value=f"{strength}")
。
首先,我不建议您使用非ascii字符。
其次,您的\u200b
实际上并没有返回您认为的样子。
它返回一个随机字符作为唯一元素的列表。
要解决此问题,您可以执行以下任一操作:
rarity
另一项修改:
rarity
参考: