Telegram api php примеры

Пишем простых ботов на php и разбираемся как это работает.
Просто, доступно, на конкретных примерах.

Telegram bot code

Telegram боты на php своими руками. Простые примеры.

Сюда буду сваливать примеры с комментариями.
Расписывать что да как — времени нет, извините.
Итак, этот раздел посвящен телеграм ботам.
И, как можно понять из названия, боты будут написаны именно РНР.
Постараюсь максимально упростить и писать без использования библиотек, модулей и т.п. Максимально просто и понятно.

curl https://api.telegram.org/botXXXX:XXXXXXXXXXXXX/deleteWebhook curl -d «url=https://my.site.ru/bot/mytupobot.php» https://api.telegram.org/botXXXX:XXXXXXXXXXX/setWebhook curl https://api.telegram.org/botXXXX:XXXXXXXXXXXXX/getWebhookInfo

и готов написать своего первого бота прям срочно, чтобы хоть какой-то результат получить от этого. =)

Тупо-бот, самый простой телеграм бот на php, который почти ничего не делает болванка для проектов:

Итак, этот тупо-бот всё же чего-то делает.

Создание Telegram бота на PHP #1: основные понятия для работы с API


Например, бот умеет слушать сообщения чата в котором сидит и на команду /start выдавать тупо сообщение, смайлик и говорить что он на связи.
А для бота это самое главное — уметь слушать и уметь отправлять сообщение.
Постарался в примере показать некоторые детали. Такие как вставка смайлов в сообщения бота, парс-мод в html сообщения, выгребания из сообщений команд. Вроде самое необходимое есть и наглядно.

UPD: Исходники этих и других примеров php ботов расположены на гитЛабе https://gitlab.com/net4me/telegram-php и код лучше брать оттуда.
Тут код неудобно мне обновлять, но я стараюсь это делать по возможности.

Еще по теме:  Как отключить Телеграмм на телефоне на время Айфон

Пример «welcome message».

Задача: При подключении юзера к каналу — выдать приветственное сообщение.
При покидании юзером канала — вывести прощальное сообщение.

Пример простой. Но заставляет задуматься, а что же там в этом контенте такого, что оттуда можно достать всё что угодно? Делаем самого неправильного бота дебагера.

Бот дебагер отладчик. Постит json объекты как есть

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

Что мы сделали? Правильно. Все сообщения (кроме команды /start , на которую мы реагируем ) выдаём в сыром виде. Как есть.
Должен заметить, что PHP далеко не самый заточенный под ботов язык программирования. Но в качестве начала изучения telegram bot api вполне подходит и php.

Эти и другие примеры простых телеграм ботов, работающих через webHook вы найдете на github https://github.com/BenJanet4me/telegram-php
И конечно, до новых встреч на портале net4me!

Дополнение: Использование inline keyboard в сообщениях.

Спасибо 4eburashk.

Telegram бот на PHP за 10 минут

Свежие версии этих php ботов вы найдёте в нашем репозитории на gitLab: https://gitlab.com/net4me/telegram-php
Дополнение: У данной статьи появилось продолжение про использование curl и post для отправки в telegram фото, файлов, координат, аудио и т.д.
Добро пожаловать во вторую часть статьи!

  • net4me.net home page
  • Contacts

Источник: net4me.net

Простой бот для телеграм на PHP

В ответ получим токен (красная надпись на скриншоте). Отлично, теперь инициализируем бота. Перейдем по адресу

https://api.telegram.org/bot_token/setWebhook?url=https://upread.ru/telegram.php

Здесь адрес бота (https://upread.ru/telegram.php) – это файл PHP, на который телеграм будет слать вебхуки при новых событиях, например, при получении сообщения в чате. Адрес особо светить не надо, чтобы кто-то другой не мог вам слать POST-запросы от имени телеграма.

Еще по теме:  3 номер в Телеграмме

Если вы живете в России то наверняка придется сделать это либо через Tor, либо через VPN или зарубежное прокси – так как наш Роскомнадзор не любит телеграм. В дальнейшем такие ухищрения будут не нужны – надо только инициализировать.

Теперь приведём код файла telegram.php

$token = «токен»; $postData = file_get_contents(‘php://input’); $data = json_decode($postData, true); $mess = $data[‘message’][‘text’]; $chat_id = $data[‘message’][‘chat’][‘id’]; $otvet = «Простите, не понимаю. Сформулируйте, пожалуйста, запрос поточнее.»; $findme1 = «привет»; $findme2 = «хай»; $findme3 = «здравствуйте»; $findme4 = «здрасте»; if ((mb_stripos($mess, $findme1)!== false) || (mb_stripos($mess, $findme2)!== false) || (mb_stripos($mess, $findme3)!== false) || (mb_stripos($mess, $findme4)!== false)) $otvet = »

Что вы хотите узнать о компании UpRead.Ru?»; $response = array( ‘chat_id’ => $chat_id, ‘text’ => $otvet ); $ch = curl_init(‘https://api.telegram.org/bot’ . $token . ‘/sendMessage’); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $response); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_exec($ch); curl_close($ch);

Теперь если кто-то напишет строку, содержащую «привет», «здравствуйте», «здрасте» или «hi», то в ответ ему прилетит фраза «

Что вы хотите узнать о компании UpRead.Ru?». В любом другом случае — «Простите, не понимаю. Сформулируйте, пожалуйста, запрос поточнее.». Не слишком большой словарный запас и число реакций у нашего электронного собеседника, но это самые основы.

Вот так просто можно безо всяких библиотек написать бота для телеграм на PHP. Особенность нашего самописного скрипта в том, что он будет работать на любом, даже шаред хостинге и не потребуется установки дополнительных компонентов. Если вам требуется создание бота для телеграм – пишите мне. Не бесплатно, но недорого помогу.

Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

Еще по теме:  Как изменить название подписчиков в Телеграмме

заметки, php, telegram, бот

Бесплатный https и
домен RU в подарок

Источник: upread.ru

создание бота для telegram

создание бота для telegram

Клавиатура с кнопками для Telegram бота на PHP script. В данном примере, показано как создать сразу 3 кнопки для клавиатуры и отправить через запрос в Telegram API. С данной клавиатурой нельзя использовать кнопки для ссылок или скрытым callback data запросом. В стандартном запросе, если не использовать параметры request_contact или request_location, будет запрос текста по названию кнопки (параметр text).
Официальная инструкция Telegram Api: https://core.telegram.org/bots/api#replykeyboardmarkup

Telegram bot создать кнопки и клавиатуру PHP script

пример запроса для Telegram API для создания клавиатуры с кнопками

$bot_token = «********* Бот Токен»; // Telegram bot токен
$chat_id = «TELEGRAM ЧАТ ID»; // не забываем добавить TELEGRAM CHAT ID
$reply = «Working»;
$url = «https://api.telegram.org/bot$bot_token/sendMessage»;

$keyboard = array(
«keyboard» => array(array(array(
«text» => «/button»

),
array(
«text» => «contact»,
«request_contact» => true // Данный запрос необязательный telegram button для запроса номера телефона

),
array(
«text» => «location»,
«request_location» => true // Данный запрос необязательный telegram button для запроса локации пользователя

)),
«one_time_keyboard» => true, // можно заменить на FALSE,клавиатура скроется после нажатия кнопки автоматически при True
«resize_keyboard» => true // можно заменить на FALSE, клавиатура будет использовать компактный размер автоматически при True
);

$postfields = array(
‘chat_id’ => «$chat_id»,
‘text’ => «$reply»,
‘reply_markup’ => json_encode($keyboard)
);

curl_setopt($curld, CURLOPT_POST, true);
curl_setopt($curld, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($curld, CURLOPT_URL,$url);
curl_setopt($curld, CURLOPT_RETURNTRANSFER, true);

Какая разница между запросом измененного размера клавиатуры (True) и не измененного (False)?

измененный: клавиатура telegram бот not resizable: клавиатура telegram бот

Можно скрывать клавиатуру после нажатия кнопки автоматически: one_time_keyboard => Ture (для скрытия) or False

Рейтинг
( Пока оценок нет )
Загрузка ...