python-3.x discord webhook无法发送空消息

qcbq4gxm  于 2023-06-25  发布在  Python
关注(0)|答案(2)|浏览(145)

我写了这个小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)
c0vxltue

c0vxltue1#

我迟到了,但我最近遇到了这个问题,看到它还没有得到回答,我想我记录了我对这个问题的解决方案。
在大多数情况下,这主要是由于有效载荷的“结构”错误。
https://birdie0.github.io/discord-webhooks-guide/discord_webhook.html提供了 * 工作结构 * 的示例。https://discordapp.com/developers/docs/resources/channel#create-message是官方文档。
我还能够得到一个最小的测试用例,使用:{"content": "Test"}
如果在此之后仍然失败,并出现相同的错误,可能的原因是:

  • 如果使用curl,请检查以确保没有意外转义/反斜杠\
  • 如果使用带有字段的嵌入,请确保没有空值

如果有疑问,请确保填充所有值,而不是""。通过反复试验/取消过程,您可以准确地找出导致问题的键值对,因此我建议在将其转换为完整程序之前通过curl使用webhook。

41zrol4v

41zrol4v2#

如果其他人发现这个像我一样,伊恩的回答让我大部分的方式那里,但它不是100%。目前,开发人员文档状态:* 请注意,在发送消息时,必须至少为contentembedscomponentsfile之一提供值。*
因此,对于上面的内容,有效载荷必须是类似于:

data = {'content': 'status = success'}

https://discord.com/developers/docs/resources/webhook#execute-webhook

相关问题