Вы не предоставили трассировку, поэтому, пожалуйста, постарайтесь сделать это в будущем, если это возможно.
Это происходит потому, что add_field()
требует как name
и value
аргументы ключевого слова. Я бы предложил либо переместить каждую из переменных (strength
, agility
et c.) В value
, или вы можете оставить пустое поле value
, используя символ u200b
.
Вот оба метода:
embed.add_field(name=f"Strength: {strength}", value="\u200b")
# OR
embed.add_field(name="Strength:", value=f"{strength}")
\u200b
- это пробел нулевой ширины и будет по-прежнему считаться строкой с символом в ней, но не будет
Изменить:
Кажется, другая проблема - это ваш rarity
.
Прежде всего, я бы не стал рекомендую использовать символы, отличные от ascii.
Во-вторых, ваш rarity
на самом деле не возвращает то, что вы думаете.
Он возвращает список со случайным символом в качестве единственного элемента.
Чтобы исправить это, вы можете выполнить одно из следующих действий:
r, g, b = locals()[rarity[0]]
discord.Colour.from_rgb(r, g, b)
# OR
rarity = random.choices([α, β, γ, δ, ε, ζ], weights=[60, 40, 20, 15, 5, 3])
r, g, b = rarity[0]
discord.Colour.from_rgb(r, g, b)
Другое редактирование:
letter = rarity[0] # Gets the letter you assigned to each tuple
r, g, b = locals()[rarity[0]] # Gets the tuple of rgb values
# Add multiple new lines to a field
embed.add_field(name="Character stats:", value=f"Strength: {strength}\nAgility: {agility} ...")
Ссылки :