Я ввожу в telegram сообщение "message", но в результате он не присылает мне ничего. Помогите, пожалуйста исправить
https://api.telegram.org/bot".$token;
$updates = file_get_contents("php://input");
$result = (array)json_decode($updates, true);
$text = $result["message"]["text"];
$chatId = $result["message"]["from"]["id"];
if($text == "message") {
$url = $website;
$url .= "/sendMessage?chat_id=".$chat_id."&text=".urlencode($text);
$current_board = array(array("1", "2"), array("3", "4"));
sendMessageKeyboard($url, $current_board);
} else if($text == "платёж") {
$provider_token = "381764678:TEST:5058";
$product_name = "Свежие мандарины"; //title
$product_description = "Доставляем недорогие мандарины по приемлемой цене"; //description
$payload = "67192"; //payload это shopId
$start_parameter = "352780"; //это shopArticleId
$currency = "RUB"; //currency
$prices = json_encode(array("label" => "мандарин", "amount" => 45));
$url = $website;
$url .= "/sendInvoice?chatId=".$chatId."&title=".$product_name."&description=".$product_description;
$url .= "&payload=".$payload."&provider_token=".$provider_token.="&start_parameter=".$start_parameter;
$url .= "¤cy=".$currency."&prices=".$prices;
file_get_contents($url);
} else if($text == "/startgame") {
$url = $website;
$url .= "/sendMessage?chat_id=".$chat_id."&text=".urlencode($message);
$current_board = array(array("Физика", "Химия"), array("Физика", "Химия"));
sendMessageKeyboard($url, $current_board);
} else {
sendMessage($website, $chatId, $text);
}
/*$fp = fopen('file.txt', 'a');
$writing = fwrite($fp, $error);
if($writing) {
echo 'Данные успешно занесены';
} else {
echo "Ошибка загрузки файла";
}
fclose($fp);
*/
function sendMessage($site, $chat_id, $message) {
$url = $site;
$url .= "/sendMessage?chat_id=".$chat_id."&text=".urlencode($message);
file_get_contents($url);
}
function sendMessageKeyboard($curl, $keyboard) {
$reply = json_encode(array("keyboard" => $keyboard, "resize_keyboard" => true, "one_time_keyboard" => true));
$add_url = $curl;
$add_url .= "&reply_markup=";
$add_url .= $reply;
file_get_contents($add_url);
}
?>введите сюда код
с виду всё верно, но нет возможности проверить. если ответа от бота нет - произошла ошибка на стороне php, в этом случае поможет функция для отладки:
function debug($arg){
if($arg==""){$arg="empty variable...";}
die(self::sendMessage(*id вашего чата*, print_r(json_decode(json_encode($arg),true),true)));
}
перепишите её под свой стиль. функция работает по образу var_dump(), но в чат бота, таким образом можно находить места где работа скрипта ломается (если сообщения от функции приходят, а после переноса на 10 строк ниже уже не приходят - проблема в этом промежутке).
так же советую переписать немного логику, ваша sendMessage
принимает $url
который никогда не меняется, а так же есть переменные, которые много где используются и везде их надо передавать (по хорошему под это надо сделать отдельный класс).
так же может быть и такая ситуация: вебхуки иногда просто отваливаются (из за черезмерного количества ошибок php) и его надо ставить заново. вам об этом никак не сообщат.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый день, я новичок в разработке! Имя базы Shop, таблица usersСтолкнулся со сложностью, в том, что не могу понять, какой нужен скрипт, чтоб проверить...
Есть много сайтов на одном сервереВсе на php (причем по большей части на голом php без фреймворков - они очень старые), но неизвестно какой версии
Пытаюсь реализовать раздачу файлов из защищённой папки средствами apache по внутреннему запросу через скрипт на phpNginx использовать не могу...