VPSLINE
SANSARA2 августа 2026 г.5 мин

Вход в Telegram через подтверждение по смс: пошаговая инструкция

Коротко

Чтобы подключить вход по SMS-коду в Telegram на своем VPS, необходимо настроить Telegram-бот и API-интерфейс. В этой статье мы расскажем, как это сделать на практике.

Установка Telegram-бота для входа по SMS-коду на VPS SANSARA

VPSSANSARAгайд

Чтобы подключить вход по SMS-коду в Telegram на своем VPS, необходимо настроить Telegram-бот и API-интерфейс. В этой статье мы расскажем, как это сделать на практике.

Установка необходимых компонентов

Для начала нам понадобится:

  • Аккаунт в Telegram Developer
  • Аккаунт в Twilio (или другой SMS-сервис)
  • Операционная система Linux (мы будем использовать Ubuntu)
  • PHP с поддержкой curl и json

Регистрация Telegram-бота

  1. 01Зарегистрируйтесь на сайте Telegram Developer.
  2. 02Создайте новый бот, нажав на кнопку "Get API key".
  3. 03Пропишите команду /newbot в чате с ботом и следуйте инструкциям.

Настройка Twilio

  1. 01Зарегистрируйтесь на сайте Twilio.
  2. 02Создайте новый аккаунт и добавьте номер телефона для получения SMS-сообщений.
  3. 03Скачайте API-ключ Twilio и сохраните его в переменную окружения TWILIO_ACCOUNT_SID и TWILIO_AUTH_TOKEN.

Настройка VPS

  1. 01Установите PHP и пакет curl с помощью команды sudo apt-get install php7.4-curl.
  2. 02Создайте новый файл bot.php и напишите в него следующий код:

`php <?php // Подключение к Telegram-боту $token = 'ВАШ ТОКЕН'; $chat_id = '-123456789';

// Подключение к Twilio $account_sid = getenv('TWILIO_ACCOUNT_SID'); $auth_token = getenv('TWILIO_AUTH_TOKEN'); $client = new Twilio\Rest\Client($account_sid, $auth_token);

// Получение SMS-кода $sms_code = $client->messages->create( '+1234567890', array( 'from' => '+1234567890', 'body' => 'Ваш SMS-код: ' . rand(1000, 9999) ) );

// Отправка SMS-кода в Telegram $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, " "); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query(array( 'chat_id' => $chat_id, 'text' => 'Ваш SMS-код: ' . $sms_code->sid ))); $response = curl_exec($curl); curl_close($curl); ?> `

Запуск Telegram-бота

  1. 01Запустите команду php bot.php в терминале.
  2. 02Откройте Telegram и добавьте бота к себе в контакты.
  3. 03Нажмите на кнопку "Привет, я новый" и следуйте инструкциям.

Теперь вы можете использовать вход по SMS-коду в Telegram на своем VPS.

Регистрация Telegram-бота

  1. 01Зарегистрируйтесь на сайте Telegram Developer.
  2. 02Создайте новый бот, нажав на кнопку "Get API key".
  3. 03Пропишите команду /newbot в чате с ботом и следуйте инструкциям.
  4. 04Получите API ключ и сохраните его в безопасном месте.

Установка Twilio

  1. 01Зарегистрируйтесь на сайте Twilio.
  2. 02Создайте новый проект и получите API ключ и SID.
  3. 03Сохраните их в безопасном месте.

Установка PHP и необходимых библиотек

  1. 01Установите PHP и необходимые библиотеки на своем VPS:

` sudo apt-get update sudo apt-get install php7.4-curl php7.4-json `

  1. 01Создайте новый файл composer.json и добавьте dependencies:

`json { "require": { "twilio/sdk": "^8.0", "php-telegram-bot/php-telegram-bot": "^3.0" } } `

  1. 01Установите зависимости:

` composer install `

Настройка Telegram-бота

  1. 01Создайте новый файл bot.php и добавьте следующий код:

`php require DIR . '/vendor/autoload.php';

use Twilio\Rest\Client; use Telegram\Bot\Api;

$twilioSid = 'Ваш SID'; $twilioToken = 'Ваш TOKEN';

$telegramBot = new Api('Ваш API ключ'); $twilioClient = new Client($twilioSid, $twilioToken);

// Обработка входящих сообщений $telegramBot->getWebhookUpdates(); `

  1. 01Добавьте функцию, которая будет отправлять SMS по входному коду:

`php function sendSms($phoneNumber, $code) { $message = $twilioClient->messages ->from('Ваш номер') ->to($phoneNumber) ->body("Ваш код: $code") ->create(); } `

  1. 01Добавьте функцию, которая будет проверять входной код:

`php function checkCode($phoneNumber, $code) { // Проверьте, что код правильный return true; // replaced with real logic } `

Настройка вебхука

  1. 01Создайте новый файл webhook.php и добавьте следующий код:

`php require DIR . '/bot.php';

// Обработка входящих webhook-запросов $telegramBot->getWebhookUpdates(); `

  1. 01Добавьте функцию, которая будет обрабатывать входящие webhook-запросы:

`php function webhookHandler($update) { // Обработка входящего сообщения $message = $update->getMessage(); $phoneNumber = $message->getChat()->getId(); $code = $message->getText();

if (checkCode($phoneNumber, $code)) { sendSms($phoneNumber, 'Код подтвержден'); } } `

Тестируем настройки

  1. 01Перезагрузите веб-сервер, чтобы активировать изменения:

` sudo systemctl restart apache2 `

  1. 01Отправьте SMS с кодом в чат с ботом.
  2. 02В чате с ботом должно появиться сообщение с кодом.

FAQ

  • Как я могу изменить номер, с которого отправляются SMS?

Ответ: Измените значение from в функции sendSms.

  • Как я могу изменить текст SMS?

Ответ: Измените значение body в функции sendSms.

  • Как я могу изменить функцию проверки входного кода?

Ответ: Измените функцию checkCode.

  • Как я могу изменить функцию обрабатывания webhook-запросов?

Ответ: Измените функцию webhookHandler.

Чек-лист

  1. 01Зарегистрируйтесь на сайте Telegram Developer.
  2. 02Создайте новый бот и получите API ключ.
  3. 03Зарегистрируйтесь на сайте Twilio.
  4. 04Создайте новый проект и получите API ключ и SID.
  5. 05Установите PHP и необходимые библиотеки на своем VPS.
  6. 06Создайте новый файл bot.php и добавьте необходимые функции.
  7. 07Создайте новый файл webhook.php и добавьте функцию обрабатывания webhook-запросов.
  8. 08Добавьте функцию, которая будет отправлять SMS по входному коду.
  9. 09Добавьте функцию, которая будет проверять входной код.
  10. 10Тестируйте настройки.

Примечание

Этот гайд предназначен для опытных пользователей. Не давайте его новичкам.

Ещё по теме

CTA · VPSLINE

Личный VPS — без терминала и очередей

Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.