Telegram Bot. Отправка уведомлений в телеграм канал

Категория: IT / WEB / Internet

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

Создаем бот для уведомлений

1. Активируем бота BotFather для создания и управления своими ботами:

/newbot
> Alright, a new bot. How are we going to call it? Please choose a name for your bot.
NotifierBot
> Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
notifier_gram_bot
> Done! Congratulations on your new bot...
> Use this token to access the HTTP API:
> ...:...
> Keep your token secure and store it safely, it can be used by anyone to control your bot.
/start

См.: https://t.me/botfather

Напишите в бот какое-то сообщение.

Отправляем запрос, чтобы узнать chat_id бота:

bot_token="xxx"
curl "https://api.telegram.org/bot${bot_token}/getUpdates?limit=1"

Отправляем сообщение в бот-чат:

chat_id=1234567890
curl "https://api.telegram.org/bot${bot_token}/sendMessage?chat_id=${chat_id}&text=Уведомление+для+бота"

Используйте urlencode($massage) для передачи сообщения в GET параметре:

curl "https://api.telegram.org/bot${bot_token}/sendMessage?chat_id=${chat_id}" --data-urlencode "text=Уведомление для бота"

Уведомления в канал

2. Создаем в телеграме  канал. Изначально делаем публичным, чтобы получить chat_id канала.

3. Назначаем бота администратором.

4. Отправляем запрос ссылаясь на канал по публичному @имени_канала:

curl "https://api.telegram.org/bot${BOT_TOKEN}/getChat?chat_id=@ИМЯ_КАНАЛА"
#:> {"ok":true,"result":{"id":-1001XXXYYYZZZ, ...}}

5. Указываем "?chat_id=-1001XXXYYYZZZ".

Теперь можем сделать канал приватным.

Отправка уведомления в канал:

curl "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage?chat_id=-1001XXXYYYZZZ&text=Ваше сообщение"

#notice, #notification, #telegram, #telegram bot, #telegram channel #bot