我想通过Telegram Bot API同时执行这两个功能,即sendMessage并同时删除上一条消息。
我不知道为什么我不能同时执行这两种方法。只有一件作品。
function apiRequestWebhook($method, $parameters) {
$parameters["method"] = $method;
header("Content-Type: application/json");
echo json_encode($parameters);
return true;
}
apiRequestWebhook("deleteMessage", array('chat_id' => $chat_id, "message_id"
=> $message_id));
apiRequestWebhook("sendMessage", array('chat_id' => $chat_id,
"reply_to_message_id" => $message_id, "text" => '中文群组 :
https://t.me/SmartMeshCn'));
答案 0 :(得分:1)
如果您使用的是Webhooks,则可以在向Webhook发送答案的同时向Bot API执行请求。使用application / json或application / x-www-form-urlencoded或multipart / form-data响应内容类型来传递参数。在请求的方法参数中指定要调用的方法。无法知道这样的请求成功还是得到了结果。
在“请求”上强调我的名字。换句话说,您不能在同一答案中提出多个请求-为此,您必须自己通过HTTP调用方法,因此必须使用curl或file_get_contents
(或Telegram Bot API library)调用方法(在Making updates部分中指定)。
例如,使用file_get_contents
:
function apiRequestWebhook($method, $parameters) {
$parameters["method"] = $method;
header("Content-Type: application/json");
echo json_encode($parameters);
return true;
}
file_get_contents("https://api.telegram.org/bot123456:CHANGE_ME/deleteMessage?chat_id=$chat_id&message_id=" . ($message_id-2));
apiRequestWebhook("sendMessage", array('chat_id' => $chat_id,
"reply_to_message_id" => $message_id, "text" => '中文群组 :
https://t.me/SmartMeshCn'));