Telegram бот на PHP

01.03.21

Интеграция - Мессенджеры и боты

Сделаем простого Telegram бота на PHP.

Для начала создадим бота в telegram. Для этого добавим себе в контакты системного бота "BotFather".

- Посылаем ему команду /newbot

- Далее посылаем "имя бота"

- После этого "BotFather" сообщаем token нового бота.

 

- Далее переносим код бота в текстовый файл telegram_bot.php

Файл нужно поместить на любой хостинг с подключенным SSL-сертификатом (https). Без сертификата работать не будет!

- Далее связываем файл на хостинге с telegram:

https://api.telegram.org/bot+ТокенБота+/setwebhook?url=+СсылкаНаБота

Пример: https://api.telegram.org/bot123asd123asd123asd/setwebhook?url=https://test123123.ru/telegram_bot.php

Для того чтобы отвязать бота от файла на хостинге:

https://api.telegram.org/bot+ТокенБота+/deleteWebhook

 
telegram_bot.php

 

<?php

$data = json_decode(file_get_contents('php://input'), TRUE);
//пишем в файл лог сообщений
//file_put_contents('file.txt', '$data: '.print_r($data, 1)."\n", FILE_APPEND);

$data = $data['callback_query'] ? $data['callback_query'] : $data['message'];

define('TOKEN', 'Ваш токен');

$message = mb_strtolower(($data['text'] ? $data['text'] : $data['data']),'utf-8');


switch ($message) {
    case 'да':
        $method = 'sendMessage';
		$send_data = [
			'text' => 'Что вы хотите заказать?',
			'reply_markup'  => [
				'resize_keyboard' => true,
				'keyboard' => [
						[
							['text' => 'Яблоки'],
							['text' => 'Груши'],
						],
						[
							['text' => 'Лук'],
							['text' => 'Чеснок'],
						]
					]
				]
			];
    break;
	case 'нет':
        $method = 'sendMessage';
		$send_data = ['text' => 'Приходите еще'];
    break;
	case 'яблоки':
        $method = 'sendMessage';
		$send_data = ['text' => 'заказ принят!'];
    break;
	case 'груши':
        $method = 'sendMessage';
		$send_data = ['text' => 'заказ принят!'];
    break;
	case 'лук':
        $method = 'sendMessage';
		$send_data = ['text' => 'заказ принят!'];
    break;
	case 'чеснок':
        $method = 'sendMessage';
		$send_data = ['text' => 'заказ принят!'];
    break;
	default:
		$method = 'sendMessage';
		$send_data = [
			'text' => 'Вы хотите сделать заказ?',
			'reply_markup'  => [
				'resize_keyboard' => true,
				'keyboard' => [
						[
							['text' => 'Да'],
							['text' => 'Нет'],
						]
					]
				]
			];
}

$send_data['chat_id'] = $data['chat'] ['id'];

$res = sendTelegram($method, $send_data);




function sendTelegram($method, $data, $headers = [])
{
	$curl = curl_init();
	curl_setopt_array($curl, [
		CURLOPT_POST => 1,
		CURLOPT_HEADER => 0,
		CURLOPT_RETURNTRANSFER => 1,
		CURLOPT_URL => 'https://api.telegram.org/bot' . TOKEN . '/' . $method,
		CURLOPT_POSTFIELDS => json_encode($data),
		CURLOPT_HTTPHEADER => array_merge(array("Content-Type: application/json"))
	]);
	$result = curl_exec($curl);
	curl_close($curl);
	return (json_decode($result, 1) ? json_decode($result, 1) : $result);
}

?>

 

Найдем нашего бота и добавим его в контакты

 

 

Стартуем бота в telegram и пробуем отправлять ему сообщения

 

 

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

См. также

SALE! 25%

Конструктор ботов Телеграм, редакция 2

Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Развитие популярного решения для интеграции мессенджера Telegram с нашей любимой 1С.

15000 11250 руб.

18.06.2021    58745    291    255    

345

SALE! 25%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 9900 руб.

27.12.2021    33320    80    157    

174

Легкий документооборот (+чат-бот для Telegram)

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием", "Бухгалтерия государственного учреждения". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    27802    25    48    

57

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Полный набор инструментов для качественных транзакционных и маркетинговых Email, SMS, Telegram рассылок из 1С. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

7788 руб.

07.04.2014    83653    40    191    

127

Интеграция 1С с телефонией и чатами WhatsApp и Telegram

Телефония, SIP Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Интеграция 1С с телефонией и чатами WhatsApp и Telegram автоматизирует работу оператора со звонками и чатами и добавит вашей 1С элементы CRM системы. Храните всю историю взаимоотношений в 1С, не теряйте звонки, скачивайте, прослушивайте в любое время из карточки клиента или журнала звонков, держите руку на пульсе, используя блок отчетов по звонкам. Интегрируйте вашу 1С и чатами WhatsApp и Telegram, общайтесь с клиентами с единого номера и в одном окне. Теперь чаты с клиентами хранятся в карточке партнера в 1С, а не в личных мобильных ваших менеджеров.

4100 руб.

28.04.2022    13865    11    6    

36

Отправка в Telegram отчетов, печатных форм, присоединённых файлов и произвольных вложений. Загрузка получателей. Хранение истории отправок.

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Платные (руб)

Универсальное расширение для отправки (напрямую и через прокси) печатных форм, отчетов, присоединённых файлов, табличных документов и произвольных вложений в чат Telegram прямо из 1С. Ручная и автоматическая фоновая загрузка по расписанию идентификаторов получателей Telegram. Хранение истории отправок сообщений с ограничением по времени хранения и с автоматической очисткой по мере истечения срока хранения.

4800 руб.

26.12.2023    2219    1    0    

6
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. maksa2005 531 02.03.21 10:12 Сейчас в теме
Вот как это в 1с реализовать с учет истории вопросов и ответов.
2. G13ma 02.03.21 10:59 Сейчас в теме
(1) а в чем собственно проблема сделайте веб сервис опубликуйте и будет тоже самое
4. maksa2005 531 02.03.21 11:26 Сейчас в теме
(2)как бы я реализовал это давным давно. просто суть немного другая по ответу и вопросу
3. G13ma 02.03.21 11:00 Сейчас в теме
(1) ну а историю храните с регистре сведений
5. maksa2005 531 02.03.21 11:26 Сейчас в теме
(3)зачем такое засорять. пусть анализирует при чтении http. лично я не храню
6. nestokay 62 02.03.21 12:53 Сейчас в теме
7. 1c8programmer 17 04.03.21 14:28 Сейчас в теме
когда писал бота на php отдал предпочтение Этой либе. Рекомендую.
Заодно познал компосер
8. Crazy_Max 82 12.03.21 06:59 Сейчас в теме
Всё это здорово, но лишь один вопрос мне не даёт покоя: каким боком данная статься относится к инфостарту? Вот если бы веб-сервис на 1с для telegram-бота был реализован, и о нём статья была, то да. Но так...
9. Юстас 24 25.06.21 15:10 Сейчас в теме
Спасибо, создал по примеру в статье бот записи клиентов на приём и магазин - zapisalkabot. Сейчас интегрирую с 1С.
10. John_d 5284 25.06.21 15:15 Сейчас в теме
(9) Ваш комментарий ответ на (8)
11. palmary 31.07.21 20:48 Сейчас в теме
Отличная статья, супер!
Но вот очень хочется узнать, а можно ли ответные сообщения отправлять в виде html

Например:
ЖЕЛАЕТЕ СДЕЛАТЬ НОВЫЙ ЗАКАЗ
Отлично!
12. user1644791 10.08.21 23:33 Сейчас в теме
(11) Можно. Но не полный HTML, а лишь его небольшая часть парсится.
https://core.telegram.org/bots/api
13. пользователь 22.09.22 07:04
Сообщение было скрыто модератором.
...
Оставьте свое сообщение