API Telegram Bot и PHP — Отправка сообщений

api telegram botНе так давно появилась необходимость реализовать отправку сообщений с сайта в Telegram Бот. Ранее описывал работу с API VK, где в случае получении капчи отправлялось сообщение на почту. Этот вариант меня не совсем устроил, бывают задержки, по этому решил освоить API Telegram. Всё достаточно просто, необходимо только создать Telegram Bot, получить ключ (он же token) и ID чата. Дальше просто отправляем сообщение по средствам PHP.

API Telegram Bot и PHP — Отправка сообщений

Содержание:

Создаём Telegram Bot

Получаем Chat ID Telgram Bot -а

Отправляем сообщение средствами PHP в Telegram

Создаём Telegram Bot.

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

1. Для начала пишем сообщение «/start«. Нам в ответ вернут все возможные команды бота. api telegram bot создаём бота

2. Отправляем боту команду «/newbot«.

3. Нам предлагают ввести имя нашего бота. Тут как вам будет угодно, я назвал «PechnekTest».

4. Теперь нам необходимо выбрать имя пользователя для бота, главное, что бы название нашего бота заканчивалось на «bot» (например  TestBot или Test_bot). В моём случае «PechnekTest_Bot»

5. После всего мы увидим поздравления и наш токен.

6. Теперь добавляем в друзья нашего бота. Можно искать по имени что мы задали ранее.

Получаем Chat ID  Telgram Bot -а.

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

1. Написать что-то нашему боту, абсолютно любое сообщение. Нужно это для того, что бы мы могли достать наш chat id. Без этого метод API Telegram вернёт нам пустое значение.

2. В браузере выполняем следующую команду:

<token> — сюда вставляем ранее полученный токен.

3. В результате мы получим ответ в формате json в котором будет наш telegram чат ID.api telegram bot Получаем id чата

Отправляем сообщение средствами PHP в Telegram.

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

<token> —  Тут указываем наш токен.

<ID чата> — Здесь ID чата.

<text> — Тут любой текст.

Моя ссылка будет выглядеть так:

Вставляем наш запрос в строку браузера, получим примерно следующее:

api telegram bot отправляем сообщение

Заходим в телеграмм и видим наше сообщение.api telegram bot сообщение в чате

Значит наш метод работает.

Отправка сообщения по средствам PHP.

Теперь самое вкусное. Реализуем отправку сообщений через PHP.

У меня была задача, необходимо было отлавливать ошибку в текстовом файле, после чего отправлять на почту. Реализовывал данный способ в данной статье: API VK и PHP — Автопостинг сообщений в группах. Решил заменить почту на телеграмм. В итоге написал такой скрипт:

К примеру у меня есть файл mess.txt, в нём ищем текст «error«, если текст найден, то выполняем запрос. В результате отправим сообщение в телеграмм.

По скрипту внёс комментарии, но всё же немного разжую.

mess.txt — тут указываем путь к файлу в котором будем искать.

error — текст который мы ищем в файле, в моём случае «error»

$token — Тут токен telegram bot -а, который мы получали ранее.

$chatid — ID чата телеграмма.

$mess — сообщение, которое мы отправляем в телеграмм

$tbot — тут запрос к API телеграмма, в неё подставляем значения из переменных.

Копируем наш скрипт в файл, с расширением «.php», желательно через Notepad++, и не забывайте менять кодировку на «UTF-8», иначе получите на выходе «кракозябры». Заливаем файл на хостинг. Дальше в браузере переходим по ссылке «Ваш домен/название файла.php», в моём случае будет «pechenek.net/telegram-sender.php». При выполнении скрипта получаю сообщение в телеграмм (я заранее в файл «mess.txt» внёс искомое значение). API telegram bot Сообщение отправлено

Ну и напоследок готовый файл скрипта можете скачать тут: Скачать

На этом пожалуй всё, надеюсь статья была вам полезной. Не забывайте пользоваться кнопками «Поделиться в соц. сетях», так же подписываться на наш Канал и группы в ВК, Twitter, Facebook.

Всем удачи и море печенек!

Поделиться в соц. сетях:

Понравилась статья? Поблагодари автора, накорми печеньками! :)

7 комментариев

  1. Скрипт почему то не работает. Ссылка с браузера исполняется, а вот с сервера нет.

    • Возможно не находит искомый текст в файле. Попробуйте указать полный путь. И что выдаёт если открыть PHP файл в браузере?

  2. Подскажите, пожалуйста, как использовать sendMediaGroup, т.е. отправку нескольких фото за раз?
    https://api.telegram.org/bot{-Variable.token-}/sendMediaGroup?chat_id={-Variable.user_id-}&media=[{«file_id»:»AgADAgADzagxGyoRaEljuWLsLhzZ3l4PnA4ABFDhLwVBZVGf6aUCAAEC», «file_id»:»AgADAgAD0KgxGyoRaEmAKpJyGvbCIYbBRg4ABDFgc0cwK4XkzkkAAgI»}]
    Делаю запрос вот так, не работает(((

    • /sendMediaGroup?chat_id=183444444&media=[{«type»:»photo»,»media»:»AgADAgADhKgxG1rCkEk-rX7O8T5quYoYnA4ABNCVsOXH1MjTSMQCAAEC»},{«type»:»photo»,»media»:»AgADAgADhKgxG1rCkEk-rX7O8T5quYoYnA4ABNCVsOXH1MjTSMQCAAEC»}]

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

    • Добрый день. Теоретически, можно в переменную $mess подставлять нужный текст и рассылать на два чата.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *