Как написать правильно функцию editMessageText в Telegram на PHP?
Как написать правильно функцию editMessageText в Telegram на PHP? Не работает код, подскажите пожалуйста, что не правильно? Задача - при нажатии на кнопку info, изменить текст без отправки нового сообщения.
<?php
include("config/parameters.php");
include("functions/base.php");
include("config/products.php");
include("functions/mysql.php");
if (($json = valid()) == false) { echo get($url.'setWebhook?url='.$webhook); exit(); }
$file_get = $_SERVER["DOCUMENT_ROOT"] . "/modules/log/get.log";
$file_post = $_SERVER["DOCUMENT_ROOT"] . "/modules/log/post.log";
if (!empty($_GET)) {
$fw = fopen($file_get, "a");
fwrite($fw, "GET " . var_export($_GET, true));
fclose($fw);
}
if (!empty($_POST)) {
$fw = fopen($file_post, "a");
fwrite($fw, "POST " . var_export($_POST, true));
fclose($fw);
}
$uid = $json['message']['from']['id'];
$first_name = $json['message']['from']['first_name'];
$username = $json['message']['from']['username'];
$text = $json['message']['text'];
$msgid = $json['message']['message_id'];
$date = $json['message']["date"];
$ANSWER1 = "Инфо";
// Сохраняем пользователя.
if ($uid!=null) {
addUser($uid,$username,$first_name);
}
if ($json['callback_query']){
$callback_data = $json['callback_query']['data'];
$uid = $json['callback_query']['message']['chat']['id'];
$msgid = $json['callback_query']['message']['message_id'];
$uid1 = $json['callback_query']['message']['chat']['id'];
$imsgid = $json['callback_query']['message']['inline_message_id'];
}
if ($uid!=null) {
addUser($uid,$username,$first_name);
}
// Ответ по умолчанию
$ANSWER = "Неизвестная команда"; $keyboard = null;
// Обработка команд
switch($text){
case "/start":
$ANSWER = "g \n\nСклад";
$keyboard = inline_main();
break;
case "/id":
$ANSWER = $uid;
break;
}
switch($callback_data){
case '/start':
$ANSWER = " Gang \nСклад";
$keyboard = inline_main();
break;
case '/sklad':
$ANSWER = "Складчины";
$keyboard = inline_sklad();
break;
case '/shop':
$ANSWER = "Магазин";
$keyboard = inline_shop();
break;
case '/kabinet':
$ANSWER = "Кабинет";
$keyboard = inline_kabinet();
break;
'case '/info':
editMessageText($uid,$imsgid,"yes you can");
break;
}'
if ($callback_data != '/info'){sendMessage($uid,$ANSWER,$keyboard);}
function valid() {
$request_from_telegram = false;
if(isset($_POST)) {
$data = file_get_contents("php://input");
if (json_decode($data) != null)
$request_from_telegram = json_decode($data,1);
}
return $request_from_telegram;
}
function sendMessage($chat_id,$text,$markup=null)
{
return get($GLOBALS['url'].'sendMessage?chat_id='.$chat_id.'&text='.urlencode($text).'&reply_markup='.$markup.'&parse_mode=Markdown');
}
'function editMessageText($chat_id,$text,$imsgid)
{
return get($GLOBALS['url'].'editMessageText?chat_id='.$chat_id.'inline_message_id='.$imsgid.'&text='.urlencode($text).'&parse_mode=Markdown');'
}
function get($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
'function inline_main() {
$inline_button1 = array("text"=>"Складчины","callback_data"=>'/sklad');
$inline_button2 = array("text"=>"Магазин","callback_data"=>'/shop');
$inline_button3 = array("text"=>"Кабинет","callback_data"=>'/kabinet');
$inline_button4 = array("text"=>"Инфо","callback_data"=>'/info');
$inline_keyboard = [
[$inline_button1],
[$inline_button2],
[$inline_button3],
[$inline_button4]
];
$keyboard=json_encode(array("inline_keyboard"=>$inline_keyboard));
return $keyboard;'
}
function inline_sklad() {
$inline_button1 = array("text"=>"Товар1","callback_data"=>'/sklad');
$inline_button2 = array("text"=>"Товар 2","callback_data"=>'/shop');
$inline_button3 = array("text"=>"Товар 3","callback_data"=>'/kabinet');
$inline_button4 = array("text"=>"Назад","callback_data"=>'/start');
$inline_keyboard = [
[$inline_button1],
[$inline_button2],
[$inline_button3],
[$inline_button4]
];
$keyboard=json_encode(array("inline_keyboard"=>$inline_keyboard));
return $keyboard;
}
function inline_kabinet() {
$inline_button1 = array("text"=>"Мои покупки","callback_data"=>'/sklad');
$inline_button2 = array("text"=>"Назад","callback_data"=>'/start');
$inline_keyboard = [
[$inline_button1],
[$inline_button2]
];
$keyboard=json_encode(array("inline_keyboard"=>$inline_keyboard));
return $keyboard;
}
'function inline_info() {
$inline_button1 = array("text"=>"Еще инфа","callback_data"=>'/sklad');
$inline_button2 = array("text"=>"Назад","callback_data"=>'/start');
$inline_keyboard = [
[$inline_button1],
[$inline_button2]
];
$keyboard=json_encode(array("inline_keyboard"=>$inline_keyboard));
return $keyboard;
}'
?>