Telegram API: Отправка Сообщений — Бот Для Уведомлений

Как насчет получения push-уведомления о завершении какого-либо долгого процесса в Linux?

Или как насчет скрипта, запускаемого из crontab, который собирает какие-либо данные и периодически отправляет отчеты на ваш мобильный телефон?

В данном руководстве описывается процесс создания бота для личных уведомлений, который может отправлять сообщения из командной строк в Linux через Telegram API.

Telegram Messenger

Скачайте и установите telegram messenger для вашей платформы.

Запустите Telegram и пройдите процесс регистрации.

Дельный Совет: Массовая отправка писем с помощью Bash-скрипта в Linux! Читать далее →

Создание Бота в Telegram

Начните диалог с BotFather:

🔍 ПОИСК -> BotFather

BotFather: Бот по имени BotFather рулит всеми ботами. Используйте его для создания новых ботов и для управления уже существующими.

Создайте нового бота:

/newbot

Придумайте удобное имя для вашего бота, например:

Notifier

Придумайте уникальной идентификатор (должен оканчиваться на «bot»), например:

notifier_bot

Как только бот будет создан, вы получите токен для подключения к Telegram API.

ТОКЕН: Это строка необходимая для авторизации бота и отправки запросов к Telegram API. Пример токена:4334584910:AAEPmjlh84N62Lv3jGWEgOftlxxAfMhB1gs

Получение Chat ID

CHAT ID: Чтобы отправить сообщение через Telegram API, боту необходимо указать ID чата в который он будет писать. ID чата будет сгенерирован в момент отправки первого сообщения вашему боту.

Начните чат с ботом:

🔍 ПОИСК -> ИМЯ_ВАШЕГО_БОТА -> СТАРТ

Отправьте команду /start:

/start

Чтобы узнать ID чата, откройте следующую ссылку в браузере: https://api.telegram.org/bot<ТОКЕН>/getUpdates (замените <ТОКЕН> на токен вашего бота).

Если вы работаете под Linux и предпочитаете консоль, можно быстро выполнить данный запрос из командной строки с помощью curl, например:

$ curl https://api.telegram.org/bot4334584910:AAEPmjlh84N62Lv/getUpdates
..."chat":{"id":123456789,"first_name":"my_first_name","type":"private"}...

Дельный Совет: Отправляйте почту через SMTP-сервер с помощью telnet из командной строки в Linux! Читать далее →

Telegram Bot API: Отправка Сообщения

Теперь я приведу несколько примеров того, как отправить сообщение через Telegram API через браузер, с помощью curl и из Bash-скрипта.

Браузер

Чтобы отправить сообщение «Hello World» через браузер, просто откройте URL:

https://api.telegram.org/bot<ТОКЕН>/sendMessage?chat_id=<ID_ЧАТА>&text=Hello%20World

Терминал в Linux

Отправить сообщение из командной строки в Linux, с помощью curl:

$ curl -s -X POST https://api.telegram.org/bot<ТОКЕН>/sendMessage -d chat_id=<ID_ЧАТА> -d text="Hello World"

Bash-Скрипт

Простой Bash-скрипт для отправки сообщения «Hello World» через Telegram API:

#!/bin/bash

TOKEN=<ТОКЕН>
CHAT_ID=<ID_ЧАТА>
MESSAGE="Hello World"
URL="https://api.telegram.org/bot$TOKEN/sendMessage"

curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE"

20 Replies to “Telegram API: Отправка Сообщений — Бот Для Уведомлений”

  1. Ошибочка:
    Отправить сообщение из командной строки а Linux, с помощью curl:

    $ curl -s -X POST https://api.telegram.org/botsendMessage -d chat_id= -d text="Hello World"

    Нет слеша перед sendMessage.
    А так спасибо за статью!

    1. Поправил. Спасибо.

  2. Спасибо, работает!

  3. Отличная статья! Все работает.

  4. Отличная статья! Большое спасибо)))

  5. Если в теле сообщения есть #, то сообщение не отображается, можно ли это обойти?

  6. Спасибо, отличный скрипт!

  7. Нужно заменить решётку на ее код %23 кажется.

  8. Debian 9, OpenSSL 1.1.0f
    >curl: (60) SSL certificate problem: self signed certificate

  9. а как прокси применить? только для этого баш-скрипта чтоб,

  10. Спасибо за статью.
    При установленном торе в линукс пользуемся curl таким образом:
    curl —socks5-hostname 127.0.0.1:9050 -s -X POST https://api.telegram.org/bot123456:fgflgfg-dfgfg-fgfgfgf/sendMessage -d chat_id=12345678 -d text=»proizvolniy text»

  11. Ввиду судебных преследований можно использовать на своём заграничном сервере прослойки в виде php-скрипта, например вот этот:
    https://github.com/mcnemesis/proxy.php

  12. А как отправить сообщение на заданный аккаунт в телеграме? Пользователю

  13. Is there any option to send the file like photo.jpg ?

  14. I open https://api.telegram.org/bot/getUpdates this link in my browser and got this {«ok»:true,»result»:[]} what’s next?

  15. Some changes are required to make it work.
    1. Don’t `/start` your bot before opening your token url.
    2. Open your token url. (it should give you something like `{“ok”:true,”result”:[]}`
    3. Go to your bot and `/start` it
    4. Refresh your token url. (it should now give you some data)

    If you did `/start` your bot before opening your token url and got stuck at `{“ok”:true,”result”:[]}`, go to your bot and delete conversation. After that follow steps 3 and 4.

  16. If you don’t get a Chat ID send a message in the chat and refresh the page in the browser.

  17. How do I send a scheduled message?
    like daily notifications

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