Discord webhook发送消息时自定义头像不生效问题排查
问题根因
你代码里的自定义头像字段名不符合Discord Webhook接口规范,接口不会识别avatar这个参数,会直接忽略该字段,回退使用Webhook绑定的默认头像发送消息。
修复方案
- 首先修正参数名:Discord Webhook自定义头像的合法字段名是
avatar_url,你当前写的username字段是正确的,只需要替换头像字段的键名即可。
修正后的代码如下:chat_message = { "username": "planet", "avatar_url": "https://i.imgur.com/kfjHRvR.jpeg", "content": "Did the profile picture change?" } requests.post(DISCORD_URL, json=chat_message) - 如果修正字段后头像仍未生效,按以下顺序排查:
- 确认你使用的
DISCORD_URL是Webhook专属调用地址,不是Bot客户端的消息接口地址:基于Bot Token调用官方Bot API发消息时,不支持临时修改发送用户名和头像,只有Webhook发送的消息支持自定义身份。 - 确认头像链接是公网可无门槛访问的直链:Discord服务端需要主动拉取该图片资源作为头像,如果链接触发防盗链、需要登录验证或者网络不通,拉取失败就会使用默认头像。
- 确认对应服务器没有给该Webhook开启「强制使用默认身份」的权限限制,部分管理员会锁定Webhook的用户名和头像,禁止自定义修改。
- 确认你使用的
内容的提问来源于stack exchange,提问作者MouseWarrior
相关产品推荐
相关产品推荐

