Пример написания примитивного робота Telegram на php

На сегодняшний день, Telegram - самый удобный мессенджер из всего что я видел и пользовался. А еще у него есть как я слышал API для всего. Помогая одной организации в телекоммуникациях у нас получилось всех сотрудников без исключения перевести в Telegram.

Там же в один прекрасный день мы создали чат. В тот момент появилась примитивная идея о том, что можно ведь и корпоративную тикет-систему подключить к телеграм. Что бы как только приходит вопрос от клиента - прилетал push в Telegra. Это бесплатно, это очень быстро и кросплатформенно...

Инструкция по созданию примитивного робота в Telegram на php

0. Сразу скажу, если вы сильный программист, вам ниже не читать. Это просто для тех кому любопытно увидеть явныве вещи, которые никто никогда не показывает в примерах -)

Переходим на страницу https://core.telegram.org/bots и там все на русском английском языке читаем. 

1. Обращаемся к отцу всех телеграм ботов BotFather

2. Пишите ему /newbot и проходите все процедуру что вам отец ботов нашептывает.

Он спросит вас имя бота, и выдаст в конце token to access the HTTP API

3. Основное сделано.

Теперь, вы можете ботом отправлять запросы в чат людям или в группы.

веглядеть такой http запрос должен следующим образом

https://api.telegram.org/bot[ТОКЕН]/sendMessage?disable_web_page_previe…[НОМЕРЧАТИД]&text=[Текст любой что вы отправляете в Телеграм]

Самое сложное для меня здесь было узнать этот злополучный chat_id.

Я умею узнавать его только таким образом. К примеру добавляю бота в конференцию, и пишу там. Или пишу ему сам. Что бы узнать, что и кто писал боту достачо выполнить простой запрос

https://api.telegram.org/bot[ТОКЕН]/getUpdates

там мы увидим и сообщения последние все кто пишет боту, а так же chat_id. или просто id. ID у чаток всегда со знаком минус, у людей со знаком плюс.

4. Простая конструкция для отправки чего-то в телеграм чат автоматически ботом на php.

Самая примитивная конструкия. Её к примеру можно использовать в движках типа Drupal или еще где в виде костылей.

<?php

//Создадим переменную, которая будет содержать то, чтонам нужно.

$Peremenaya="https://api.telegram.org/bot[ТОКЕН]/sendMessage?disable_web_page_previe…[ЧАТ ИД]&text=Нам написали тикет скорее отвечайте http://we4u.ru";

// создание нового ресурса cURL

$ch = curl_init();

// установка URL и других необходимых параметров

curl_setopt($ch, CURLOPT_URL, "$Peremenaya");

//а это что бы на страницу не выводилось

curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

//это в справочнике прочтете

curl_setopt($ch, CURLOPT_HEADER, 0);

// загрузка страницы и выдача её браузеру другими словами при открытии страницы где вы этот скрипт сделаете автоматически отправится сообщение в заданный вами телеграм чат.

curl_exec($ch);

// завершение сеанса и освобождение ресурсов

curl_close($ch);

?>

5. Да, это не полноценный бот.

Это просто "отправлятель сообщений" но это делается за минуту (у меня ушло больше потому что я туповат) и встраивается хоть куда. Применений ботам телеграмов огромное количество. Начините писать своих, там уже и такси вызывают и игры и вот тикеты -))  Кроме тикет-системы я научил бота (этого же) отправлять сообщения из внутренней личной систему БуеПлан http://plan.burnis.org ключевым сотрудникам -)

Можно еще и приложения писать под телеграм. Но это уже отдельная история.

Submitted byОлег (не проверено)on ноября 16, 2015 - 16:15

всё правильно только для https надо прописывать

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

Submitted byАртур (не проверено)on июня 18, 2016 - 13:23

А как в чатботебанковскойять оплату заказа бпнковской картой? Есть ли какой-то функционал?

Submitted byАртур (не проверено)on июня 18, 2016 - 13:26

А как в чат боте осуществлять оплату заказа банковской картой? Есть ли какой-то функционал или только открытие страницы платежного агрегатора в браузере?

Submitted byанонимус (не проверено)on марта 30, 2017 - 15:29

ничего не ясно.
Боту я могу направить, а как написать в чат ?

[НОМЕРЧАТИД] - Вам нужно знать это параметр, т.е. ID чата. ID у чата всегда со знаком минус.  Один из простых способов узнать ID чата такой:

К примеру добавляю бота в конференцию, и пишу там. Или пишу ему сам. Что бы узнать, что и кто писал боту достачо выполнить простой запрос

https://api.telegram.org/bot[ТОКЕН]/getUpdates