我正在使用Discord.py创建一个机器人,并且在尝试发送带有嵌入的消息时我一直收到错误.
这是我得到的错误:
Traceback (most recent call last): File "C:\Users\pc\Documents\Storage\python\NanoBot\bot.py", line 101, in on_message await client.send_message(message.channel, embed=embed) File "C:\Users\pc\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\client.py", line 1152, in send_message data = yield from self.http.send_message(channel_id, content, guild_id=guild_id, tts=tts, embed=embed) File "C:\Users\pc\AppData\Local\Programs\Python\Python36-32\lib\site-packages\discord\http.py", line 198, in request raise HTTPException(r, data) discord.errors.HTTPException: BAD REQUEST (status code: 400)
我的代码:
embed = discord.Embed(color=target.color) embed.set_thumbnail(url=target.avatar_url) embed.set_author(name=str(target.name), url="Playing " + str(target.game)) embed.set_footer(text="!!userinfo command") embed.add_field(name="Status", value=str(target.status)) embed.add_field(name="Nickname", value=str(target.nick)) embed.add_field(name="Account Created", value=str(target.created_at)) embed.add_field(name="Roles", value=str(roles)) embed.add_field(name="Joined at", value=str(target.joined_at)) await client.send_message(message.channel, embed=embed)
abccd.. 6
由于您正在使用discord api,如果您阅读了描述client.send_message
,如果您发送的消息embed
超过2000个chrs,则discord将引发400请求错误.对于Discord,角色限制为2000.
正如你所看到的,它实际上并不是一个真正的错误discord.errors.HTTPException: BAD REQUEST (status code: 400)
.这是discord API的自定义错误.要更正它,您可以将消息拆分为小于2000个chrs的嵌入并单独发送.要明确的是,这不是因为服务器已关闭,而是因为服务器被拒绝发送您的消息,因为它太长了.
由于您正在使用discord api,如果您阅读了描述client.send_message
,如果您发送的消息embed
超过2000个chrs,则discord将引发400请求错误.对于Discord,角色限制为2000.
正如你所看到的,它实际上并不是一个真正的错误discord.errors.HTTPException: BAD REQUEST (status code: 400)
.这是discord API的自定义错误.要更正它,您可以将消息拆分为小于2000个chrs的嵌入并单独发送.要明确的是,这不是因为服务器已关闭,而是因为服务器被拒绝发送您的消息,因为它太长了.