Создаем бота в телеграм:
идем к @BotFather авторизируемся у него и создаем нового бота командой /newbot, обязательно со словом bot в конце имени бота.
После создания бота вам придет сообщение с токеном, который нужно сохранить.

newbot

Далее, нужно получить user_id, — это ID нашего с ботом чата, на который он будет отправлять уведомления.
Для этого открываем страницу созданного бота и пишем ему что-нибудь. После чего переходим по адресу:

https://api.telegram.org/bot<token>/getUpdates

Вместо token нужно подставить токен, который нам выдал @BotFather.

На странице ищем id, и так же его сохраняем.

Теперь, для отправки уведомления используем команду:

https://api.telegram.org/bot<token>/sendMessage?chat_id=<chat_id>&text=<text>

Где <token> – токен. <chat_id> – ID чата. <text> – текст, который мы отправляем.

Примеры  использования:

Отправка уведомлений про новые ssh подключения:

В файл ~/.bashrc добавить строку:

curl -s -X POST https://api.telegram.org/bot<token>/sendMessage -d chat_id=<chat_id> -d text=" User $(whoami) logged into $(hostname) on $(date) from $(echo $SSH_CLIENT | awk '{ print $1}')" &>/dev/null 2>&1
Простой мониторинг доступности IP:

Можно добавить в cron для проверки с интервалом.

ping 192.168.0.1 -c2 >> log  || curl -s -X POST https://api.telegram.org/bot<token>/sendMessage -d chat_id=<chat_id> -d text="$(tail -5 log)" &>/dev/null 2>&1

Подобных примеров может быть много, уведомления на телеграм более удобны и более быстры, чем по почте. Их можно использовать как альтернативу, если заблокирован 25 порт.

Бота так же можно использовать и для других целей, у него разнообразный функционал, ознакомится с которым Вы можете на странице https://core.telegram.org/bots/api.


2 Comments

Dikssen · 19.09.2019 at 00:16

Это гениально!!!!

Dikssen · 15.12.2019 at 05:26

Если подключить python и использовать данный скрипт
import config
import telebot
import os

myCmd = ‘ls -la’

bot = telebot.TeleBot(‘1041657957:AAE8epW9jGdghTQMDRvElYWwi’)

#@bot.message_handler(content_types=[“text”])
#def repeat_all_messages(message): # Название функции не играет никакой роли, в принципе
# bot.send_message(message.chat.id, message.text)

@bot.message_handler(content_types=[“text”])
def cmd_comand(message):
if message.text == ‘Start server’:
bot.send_message(message.chat.id, “СТАРТУЮЮЮ!!!”)
os.system (“sl”)
os.system (“service httpd start”)
elif message.text == ‘D’:
os.system (“service httpd stop”)
bot.send_message(message.chat.id, “Взял апач стопнул, ну что за дебил!!!”)

if __name__ == ‘__main__’:
bot.polling(none_stop=True)

Можно выполнять команды с телеграмма на сервере.
Потребуется модуль pytelegrambotapi
pip3 install pytelegrambotapi

Leave a Reply

Avatar placeholder