我写了这个小PoC不和谐webhooks和我得到的错误,* 不能发送空字符串 *。我试着谷歌,但找不到文档或答案
这是我的代码
import requests
discord_webhook_url = 'https://discordapp.com/api/webhooks/xxxxxxxxxxxxxxxxxx/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
data = {'status': 'success'}
headers = {'Content-Type': 'application/json'}
res = requests.post(discord_webhook_url, data=data, headers=headers)
print(res.content)
2条答案
按热度按时间c0vxltue1#
我迟到了,但我最近遇到了这个问题,看到它还没有得到回答,我想我记录了我对这个问题的解决方案。
在大多数情况下,这主要是由于有效载荷的“结构”错误。
https://birdie0.github.io/discord-webhooks-guide/discord_webhook.html提供了 * 工作结构 * 的示例。https://discordapp.com/developers/docs/resources/channel#create-message是官方文档。
我还能够得到一个最小的测试用例,使用:
{"content": "Test"}
。如果在此之后仍然失败,并出现相同的错误,可能的原因是:
\
如果有疑问,请确保填充所有值,而不是
""
。通过反复试验/取消过程,您可以准确地找出导致问题的键值对,因此我建议在将其转换为完整程序之前通过curl使用webhook。41zrol4v2#
如果其他人发现这个像我一样,伊恩的回答让我大部分的方式那里,但它不是100%。目前,开发人员文档状态:* 请注意,在发送消息时,必须至少为
content
、embeds
、components
或file
之一提供值。*因此,对于上面的内容,有效载荷必须是类似于:
https://discord.com/developers/docs/resources/webhook#execute-webhook