不久前,Telegram Bot API更新了Webhook配置的新功能。其中之一是allowed_updates
字段,它是字符串数组。
它还可以使用自定义自签名证书设置 webhook。您只需要将网络钩子配置发布为multipart/form-data
。
但是如何将字符串数组allowed_updates
发布为multipart/form-data
?
你可以通过以下方式发布字符串allowed_updates数组
allowed_updates=["callback_query","inline_query"]
可以设置"列出希望机器人接收的更新类型"。在这里,我设置为仅接收这些类型的更新:callback_query & inline_query
https://api.telegram.org/bot<YOUR_API_TOKEN>/setwebhook?url=<HTTPS_url_to send_updates_to>&max_connections=20&allowed_updates=["callback_query","inline_query"]
此处提供了可用更新类型的完整列表。
https://core.telegram.org/bots/api#update
function MrPHPBot($method,$datas=[]){
$url = "https://api.telegram.org/bot".{token}."/".$method;
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$datas);
$res = curl_exec($ch);
if(curl_error($ch)){
var_dump(curl_error($ch));
}else{
return json_decode($res);
}
}
MrPHPBot('setWebhook',[ 'url'=>$url , 'certificate'=>new CURLFile(realpath("key.pem")) , 'allowed_updates'=> ['message', 'edited_channel_post','callback_query'] ]);