curl Discord webhook返回代码50006(无法发送空消息)

wa7juj8i  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(41)

我正在编写一小段代码,让我的网站与一个不和谐的频道进行通信。我设置了webhook,并阅读了有关它的几个文档,并决定不使用API,而是使用webhook。我不要求太多。
我似乎不能弄清楚我做错了什么,我提交了一个字符串的文本作为一个JSON到 curl ,但由于一些奇怪的原因,它保持空白。

$url = URL_TO_THE_WEBHOOK
$data = json_encode(
    array(
        "content" => "Hi, i am a dummy text. I talk from the website."
    )
);

$ch= curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, "Content-Type: application/json");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
$response = curl_exec($ch);
$err_status = curl_error($ch);

print_r($data);

if(!empty($response)){
    echo $response;
}else{
    echo $err_status;
}
curl_close($ch);

字符串
不幸的是
{“content”:“Hi,我是一个虚拟文本。我从网站上交谈。"}{“message”:“无法发送空消息”,“code”:50006}
我错过什么了吗?

u1ehiz5o

u1ehiz5o1#

好吧,它在文档中是模糊的,但我明白了。显然,你发送的对象需要有一个长度附加到它的JSON字符串是多长。

curl_setopt($ch, CURLOPT_HTTPHEADER, ["Length" => strlen( $data),"Content-Type: application/json"]);

字符串

相关问题