Python 如何获取discord.Embed的长度[discord.PY]

Python 如何获取discord.Embed的长度[discord.PY],python,python-3.x,discord.py-rewrite,Python,Python 3.x,Discord.py Rewrite,我需要一种方法来获得一个嵌入的确切长度,这样我就可以检查它是否超过了限制。因此,如果它确实超过了限制,它可以拆分为多个消息/嵌入。如果我们查看丰富的嵌入限制,我们可以看到总限制是6000个字符 此外,所有标题,说明,字段.名称,字段.值,页脚.文本,以及作者.名称字段中的字符总数不得超过6000个字符。违反任何这些约束将导致错误的请求响应 但也有如下个别限制: +-------------+------------------------+ | Field | Lim

我需要一种方法来获得一个嵌入的确切长度,这样我就可以检查它是否超过了限制。因此,如果它确实超过了限制,它可以拆分为多个消息/嵌入。

如果我们查看丰富的嵌入限制,我们可以看到总限制是6000个字符

此外,所有
标题
说明
字段.名称
字段.值
页脚.文本
,以及
作者.名称
字段中的字符总数不得超过6000个字符。违反任何这些约束将导致
错误的请求
响应

但也有如下个别限制:

+-------------+------------------------+
|    Field    |         Limit          |
+-------------+------------------------+
| title       | 256 characters         |
| description | 2048 characters        |
| fields      | Up to 25 field objects |
| field.name  | 256 characters         |
| field.value | 1024 characters        |
| footer.text | 2048 characters        |
| author.name | 256 characters         |
+-------------+------------------------+
因此,在许多情况下,您可能需要单独检查和处理所有这些限制。最后,这里是如何检查是否达到了总嵌入限制,而不是检查上面的单个限制

# embed would be the discord.Embed instance
fields = [embed.title, embed.description, embed.footer.text, embed.author.name]

fields.extend([field.name for field in embed.fields])
fields.extend([field.value for field in embed.fields])

total = ""
for item in fields:
    # If we str(discord.Embed.Empty) we get 'Embed.Empty', when
    # we just want an empty string...
    total += str(item) if str(item) != 'Embed.Empty' else ''

print(len(total))