Telegram bot php команды

bot php

Очень часто в интернете на форумах люди задают вопрос, о том, как создать и установить бот для телеграм. В данной статье мы представим вашему вниманию все основные этапы этой процедуры.

Требования к хостингу

Выбирая хостинг для telegram, вы должны основываться на двух главных критериях – отличная служба поддержки и надежность. Большую проблему вам создаст портал, если он постоянно будет подвисать. Также скорость службы технической поддержки должна быть высокой, иначе вам не удастся быстро решить возникшие проблемы. Мы, например, остановились на Вебача для создания бота. А о том, как все правильно сделать, мы расскажем по порядку в следующих пунктах.

Требования

Создание бота

Создание бота для telegram является первым шагом для диалогового telegram в php. Для осуществления процедуры вам потребуется выполнить несколько достаточно простых операций:

Create a simple telegram bot with php

  • Найти в телеграме «BotFather» и поместить его в свой контактный лист;
  • Затем требуется посмотреть доступные команды при помощи кнопки «Помощь»;
  • Следом нужно выбрать «new bot» и по инструкции выполнить все требуемые действия.

После удачного создания telegram bot sdk на php вам будет отправлено сообщение с токеном, его необходимо сохранить, поскольку в токене прописан код доступа к боту.

Настройка домена

Настройка домена для telegram bot на php является одной из наиболее важных задач в этой процедуре. Рассмотрим, как выполнить настройку telegram bot для php на примере вебачи.

Обратите внимание! На этом домене в адресе нет комбинации «https», однако это не значит, что нам для размещения не понадобиться сертификат, поскольку без него bot невозможно разместить.

Для этих целей можно применить «cloudflare», который выдает такой сертификат. Нам потребуется перенести туда домен, сделать это можно достаточно быстро и без финансовых затрат. Для этого осуществите следующие действия:

  1. Регистрируемся на портале и во вкладке «addsite» в строке адреса домена для телеграм меняем комбинацию «ns» на нужную.
  2. Домен подключен для бота. Затем нам понадобиться перейти на панель управления своего сайта.
  3. Далее выбираем вкладку «Крипто» и пункт «ССЛ» и производим установку.
  4. Далее осуществляем проверку, все должно работать в обычном режиме.

Важно! Если на экране возникла ошибка: «HTTP Version Not Supported», то необходимо выполнить всю процедуру для приложения телеграм с самого начала для устранения оплошностей. В противном случае вы не сможете запустить бот телеграм для php.

Также после выполнения всех представленных шагов вам потребуется написать код бота. Сделать это можно воспользовавшись «SetWebhook» и библиотекой. Открыв в браузере нужную ссылку, вам системой будет отправлен ответ, что webhook для telegram bot в php установлен и теперь вы сможете получать запросы от интернет-пользователей. А как настроит эти запросы мы расскажем в следующем пункте.

Команды php для обработки сообщений и тестирование бота

Большинство инструкций в интернете для приложения телеграм предлагают для таких целей способы, в которых после каждой команды вам потребуется вбивать текст сообщения, а это не особенно удобно.

Поэтому более рационально сделать так, чтобы bot сам запоминал и писал команды, которые вы записали для telegram в php.

Для этого перед отправкой сообщений вам потребуется разместить их в хранилище, а перед приемом проверять, в наличии ли данные хранилища:

  • Первым делом опишите точку доступа к контролеру.
  • Выберите нужный метод из предложенных вариантов.

Если шаги осуществить правильно, то работать с приложением будет намного проще, интерактивней и удобней.

В данной статье мы изложили основные этапы установки приложения для телеграм в php. Вам остается их внимательно изучить и произвести действия согласно инструкции.

Источник: telegram-rus.ru

Как создать Bot Telegram на PHP

Бот – это учетная запись, для которой не требуется указания номера телефона. Принцип его действия очень прост: посылайте запросы в Телеграмм, созданные по определенным правилам. Самое главное – знать Bot API. Создание Bot Telegram на PHP основано на отправке GET или POST запросов на сервер API. Сделать это не сложно.

Требования к хостингу

Телеграмм принимает только защищенные сертификатами безопасности команды. То есть, все они передаются по протоколу https. Поэтому вы должны иметь хост, который имеет купленный или установленный самоподписанный сертификат безопасности. Мы расскажем, как создать телеграмм бот php на примере хостинга beget.ru, так как он предоставляет ssl сертификат.

Если у вас нет собственного домена, то его надо приобрести или создать. Процесс установки сервера, открытия его для сети и установка ssl-соединения – это тема отдельной статьи. Если вы не специалист в этих вопросах – проще купить готовый вариант. В среднем стоимость самого простого хостинга составляет 1000-1500 р. в год. Проследите, чтобы он поддерживал работу с PHP и имел SSL.
Также можете воспользоваться облачными сервисами. Например, cloudflare.

Создание бота

Зайдите в мессенджер. Сделать это можно с любого устройства, указав свой телефон. На этот номер придет код доступа. Стоит заметить удобство регистрации – нет необходимости помнить учетные данные и пароль. Регистрируя одно устройство и заходя затем с другого, Телеграмм «запоминает» эту связку.

Эта технология называется Cloud Password Telegram.

Пройдите всю процедуру пошагово:

  • Укажите имя для посетителей.
  • Укажите имя для бота.

По желанию определите описание (description) и другие параметры. В итоге вы получите токен – уникальный идентификатор вашего робота. Его надо сохранить.

Настройка домена

Прежде чем писать Telegram бот на PHP, необходимо настроить среду для ее работы. Используя файловый менеджер своего хостинга создайте директорию для программы. Далее следует настроить WebHook.

Телеграмм дает два способа получать информацию о действиях пользователей:

Первый неудобен тем, что приходится запрашивать мессенджер о событиях и затем обрабатывать их. Второй присылает данные автоматически, по мере поступления событий из чата.

Чтобы подключить WebHook необходимо послать в мессенджер команду:
https://api.telegram.org/botВАШ_ТОКЕН/setWebhook?url=ВАШ_ДОМЕН

Если делать это из адресной строки браузера, вы получите ответ:

Если вы используете самоподписанный сертификат, то в качестве второго параметра следует передать ссылку на файл сертификата.

Далее мы будем делать это программным путем. Если необходимо удалить WebHook, передайте в качестве url пустой параметр.

Команды PHP для обработки сообщений

Программируя бот для Телеграмм на PHP, мы используем команды библиотеки Curl, которые позволяют отправить запрос на сервер и получить результат. Также будем использовать команду file_get_contents(), которая позволит получить JSON-строку – ответ из Телеграм. Для парсинга строки JSON используется функция json_encode().

Команды библиотеки Curl:

  • curl_init() — открыть сеанс
  • curl_close() — закрыть сеанс
  • curl_exec() — выполнить запрос
  • curl_setopt() – установка опций
  • CURLOPT_RETURNTRANSFER — указание на возврат ответа в виде строки, а не вывода на экран.
  • CURLOPT_CONNECTTIMEOUT — время ожидания ответа
  • CURLOPT_TIMEOUT — время в секундах выполнения
  • CURLOPT_USERAGENT — установка заголовков
  • CURLOPT_URL — адрес, куда отправляется запрос. У нас это api.telegram.org
  • CURLOPT_POST — сообщение о том, что отправляется POST методом
  • CURLOPT_POSTFIELDS — указание данных для POST запроса в виде массива

Ниже приведена программа установки WebHook с комментариями.
//Запись в переменную первой части адреса бота с указанием токена
$url=»https://api.telegram.org/bot507226896:AAGT_fsEO1milOkqbNp-VolQDJ0tGjaPvD7/»;
//Инициализация запроса
$con = curl_init();
//Запоминаем в переменную дескриптор команды установки WebHook
$wh=$url.»setWebhook?url=https://tuolalbn.beget.tech/anna_bot/»;
//Устанавливаем опции запроса
curl_setopt($con, CURLOPT_URL, $wh);
curl_setopt($con, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($con, CURLOPT_HEADER, 0);
//Выполняем запрос, устанавливающий WebHook
$output = curl_exec($con);
//закрываем запрос
curl_close($con);
?>

Сохраните эту программу как wh.php в созданной директории на хостинге и запустите ее из адресной строки:
ВАШ_ДОМЕН/НАЗВАНИЕ_ДИРЕКТОРИИ/wh.php

Приведем пример простой программы отправки сообщений пользователю.
$url=»https://api.telegram.org/bot507226896:AAGT_fsEO1milOkqbNp-VolQDJ0tGjaPvD7/»;
//читаем результат из стандартного потока, в который PHP записывает полученные данные
$a=file_get_contents(‘php://input’);
$content = json_decode($a);
//получаем значение chat_id – идентификатор чата с пользователем, отправившим сообщение
$chatID=$update[‘result’][0][‘message’][‘chat’][‘id’];
//Инициализируем новый запрос
$ch = curl_init();
//Формируем строку запроса – отправка пользователю сообщения «hello»
$msg=$url.»sendMessage?chat_id=».$chatID.»;
//Настраиваем запрос
curl_setopt($con, CURLOPT_URL, $msg);
curl_setopt($con, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($con, CURLOPT_HEADER, 0);
//Выполняем запрос
$output = curl_exec($con);
//Закрываем запрос
curl_close($con);
?>

Вышеприведенный код PHP на любое сообщение пользователя выдает ему «Hello». Если добавить в код проверку введенной строки, можно обработать любое сообщение: приветствие, команды и т.д.

Главное понимать, что все запросы в бот строятся с помощью команд Telegram Bot API. Мы привели пример использования sendMessage. Перечень доступных команд можно взять в документации к Telegram Bot API — https://core.telegram.org

Например, команда для отправки контакта будет иметь следующий вид:
https://api.telegram.org/botВАШ_ТОКЕН/sendContact?chat_id=ЧАТ_IDfirst_name=ИМЯ
//выясняем размер массива – количество сообщений
$n=count($update[‘result’]);
//получаем текст последнего
$text=$update[‘result’][$n-1][‘message’][‘text’];

Вы можете настроить вывод команд в боте, используя различные объекты. Самый простой вариант – стандартный ввод в виде «/команда». С помощью строковых функций PHP не сложно организовать проверку переданного пользователем текста и используя условный переход запустить то или иное действие.

Для размещения кнопок используются следующие объекты:

  • ReplyKeyboardMarkup
  • KeyboardButton
  • ReplyKeyboardHide
  • InlineKeyboardMarkup
  • InlineKeyboardButton

<

p>В адресной строке пример команды встроенной клавиатуры будет иметь вид:
https://api.telegram.org/botВАШ_ТОКЕН/sendMessage?chat_id=ЧАТ_IDreply_markup=<‘inline_keyboard’:[[<‘text’:’Согласен’,’callback_data’:’/yes_call’>,

Оцените статью
Добавить комментарий