Telegram Bot. Отправка уведомлений в телеграм канал
Пишем простого бота и создаем приватный канал для отправки уведомлений в Телеграм.
Создаем бот для уведомлений
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