@EVG82

Как в текст вставить значение переменной first_name в телеграмм боте?

Вот часть кода

<?
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

header('Content-Type: text/html; charset=utf-8');
// подрубаем API
require_once("vendor/autoload.php");
// создаем переменную бота
$token = "токен";
$bot = new \TelegramBot\Api\Client($token);

// если бот еще не зарегистрирован - регистрируем
if(!file_exists("registered.trigger")){ 
    /**
     * файл registered.trigger будет создаваться после регистрации бота. 
     * если этого файла нет значит бот не зарегистрирован 
     */
     
    // URl текущей страницы
    $page_url = "https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    $result = $bot->setWebhook($page_url);
    if($result){
        file_put_contents("registered.trigger",time()); // создаем файл дабы прекратить повторные регистрации
    }
}

// Кнопки у сообщений
//================ вызывается команда бота появляется сообщение и под ним кнопка "смотреть видео"============
$bot->command('start', function ($message) use ($bot) {
    $keyboard = new \TelegramBot\Api\Types\Inline\InlineKeyboardMarkup(
        [
            [
                ['callback_data' => 'data_test', 'text' => 'Смотреть видео '],
                

            ]
        ]
//  'one_time_keyboard' => false, 
      //  'resize_keyboard' => true
    );
   $first_name = " типа имя";
   $bot->sendMessage($message->getChat()->getId(), "Здравствуйте, ".$first_name."!


Как я понял из то что нашел в инете надо переменной присвоить значение полученное из Json? Или как делать?
  • Вопрос задан
  • 612 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ambal245
Для начало нужно разобрать на переменные то что пришло, а после использовать. Примерная реализация выглядит так:
$data = json_decode(file_get_contents('php://input'),true);
$text = $data['message']['text'];
$chat = $data['message']['chat']['id'];
$first_name = $data['message']['from']['first_name'];
  if ($text){
         if (strtolower($text) == "/start") $bot->reply($chat, " Здравствуй {$first_name} ");
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы