
23.01.2020

VyacheslavK

CentOS, Linux

комментариев 8
В этой статье мы рассмотрим пример использования Telegram бота на сервере с Linux CentOS, покажем, как настроить простые уведомления в чат-бот для мониторинга вашего сервера, а также несколько управляющих команд.
В эпоху мобильных гаджетов, стало актуально использование различных мессенджеров не только для общения с реальными людьми, но и использование различных ботов. Например, в Telegram существует широкий функционал для бота, который можно использовать в различных целях — выдать информацию о заказе клиенту, информация по посылке у почтового оператора и, например, мониторинг собственного сервера.
Как убрать системные сообщения в группе телеграм
Создание чат-бота в Telegram

Нажмите START. Чтобы создать нового бота, выберете в меню /newbot, введите имя бота в формате “имя_bot». После создания бота, вы получите API токен бота, который нужен будет в дальнейшей настройке.

Теперь нужно узнать user_id — это ID часа с ботом, в который он будет отправлять уведомления. Перейдите в ваш с ним чат и нажмите старт и отправить любой символ. После этого в браузере перейдите по адресу:
https://api.telegram.org/bot/getUpdates — где это API который выдал BotFather.

На скриншоте выделен ваш ID.
Итак, мы создали бота в Telegram и получили авторизационные данные.
Отправка в чат Telegram уведомлений с сервера
С помощью ранее созданного бота и полученных ID можно отсылать с сервера уведомления в Telegram чат, и таким образом получать какие-то интересные нам данные или алерты.
Для отправки сообщения в чат, нужно использовать следующий URL:
# curl -s -X POST https://api.telegram.org/bot944496485:AAEtGaGCVrQ7d26Rc3r_cqXPIhrKVokh8e4/sendMessage -d chat_id=336116180 -d text=»Доброе утро, страна»

Для чего можно использовать такие Telegram уведомления? Например, при создании резервной копии вы можете отправлять уведомления о ее создании или же отправлять ссылку на скачивание копии в чат с ботом. Вы можете отправлять себе в Telegram уведомления с информацией о сбоях в системе. Можно добавить в крон выполнение каких-либо проверок с последующей отправкой в Telegram.
Еще пример использования подобных уведомлений:
# curl -s -X POST https://api.telegram.org/bot944496485:AAEtGaGCVrQ7d26Rc3r_cqXPIhrKVokh8e4/sendMessage -d chat_id=336116180 -d text=» User $(whoami) logged into $(hostname) on $(date) from $(echo $SSH_CLIENT | awk ‘< print $1>’)» /dev/null 2>Development tools» -y
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel -y
# ./configure
# make
# make install

Создайте симлинк для Python:
# ln -s /usr/local/bin/python3 /usr/bin/python3
И установите ПО для самого бота:
# pip3 install python-telegram-bot —upgrade

Теперь скачайте и распакуйте к себе на сервер в каталог root/admin три файла из архива telegram_bot.zip:
Рассмотрим файл config.py. В нем нам нужно указать token(API) и ID вашего чата с ботом, а также путь до директорий с бэкапами и директории, размер которой вы будете в дальнейшем проверять:

Файл bot.sh не требует настройки, в нем лишь указываем путь до bot.py:

И самый основной файл, который собственно и позволит нам управлять сервером, это bot.py. В нем описаны функции, которые будут доступны в чате с ботом и собственно туда, мы можем добавлять свой собственный функционал. Например, в первом блоке описываются доступные команды бота в чате:

Тут описываются все функции, которые будут доступны, после ввода команды /help.
Ниже описывается сама функция, например,
#функция команады ifconfig def ifconfig(bot, update): reload(config) user = str(update.message.from_user.id) if user in config.admin: #если пользовательский id в списке admin то команда выполняется run_command(«ifconfig») bot.sendMessage(chat_id=update.message.chat_id, text=textoutput)
И эту функцию, нужно описать как команду:
ifconfig_handler = CommandHandler(‘ifconfig’, ifconfig) dispatcher.add_handler(ifconfig_handler)
То есть как видим, это выполнение стандартной функции проверки сетевых настроек ifconfig.
При знакомстве с ботом я попытался добавить собственную команду, например для проверки Apache:
# service httpd status
Но только через настройку данного файла это не сработало. Как я понял, здесь можно выполнить только команду описанную одним словом или символами. Я решил проблему создав файл apache_status.sh с содержимым:
#!/bin/bash
service httpd status
И создал на него симлинк:
# ln -s /root/admin/apache_status.sh /usr/local/sbin/apachestatus
Теперь при вызове команды apachestatus, у меня выводит статус веб-сервера apache:

В файле bot.py я заполнил все три блока, согласно других функций. Чтобы bot заработал, нужно запустить файл bot.sh. Для удобства, создадим отдельный сервис для Telegram бота. Создаем нужный файл и выставляем права:
# touch /etc/systemd/system/telegram-bot.service
# chmod 664 /etc/systemd/system/telegram-bot.service
После чего заходим в файл сервиса:
И добавляем содержимое:
[Unit] Description=Telegram bot After=network.target [Service] ExecStart=/root/admin/bot.sh [Install] WantedBy=multi-user.target
# systemctl start telegram-bot.service
# systemctl enable telegram-bot.service
# systemctl status telegram-bot.service
Теперь, если в чате с вашим ботом ввести /help, вы получите список доступных команд.

Например, в данный момент у меня на сервере остановлен веб-сервер Apache:

Запустим его на сервере и проверим статус через Telegram:

Еще несколько примеров выполнения команд:

Таким образом, вы можете выполнять мониторинг своего Linux сервера или даже частичное администрирование через Telegram, что поможет сильно сократить время на выполнение типовых действий.
Так же хотел бы заметить, что авторизация сервера с ботом происходит именно по ID и token(API) (любой другой человек, не зная ваших данных, подключиться не сможет).
На момент выпуска статьи, тестовый бот удален.
Предыдущая статья Следующая статья
Источник: winitpro.ru
Как Отписаться от Бота в Телеграмме на Андроид

В большинстве случаев уведомления, которые вы получаете от чат-ботов, говорят вам о важных изменениях. Например, ваша заявка была исполнена или персонаж в игре достиг нового уровня. Как Отписаться от Чат Бота в Телеграмме
Как остановить бота в Telegram за 3 секунды
Как Отписаться от Телеграмм Бота 2. Проверьте релиз ноты и комментарии других пользователей на странице бота в Bots Club — возможно, разработчики просто выкатили большое обновление Как Отписаться от Бота Телеграм
Будьте вежливы и конструктивны — зачастую владельцы ботов будут рады помочь вам и завоевать ваше доверие.
Почему это происходит.
Настройка уведомлений (читать далее. )
2. Найдите раздел с настройкой уведомлений (обычно он находится в разделе Account/Профиль или Settings/Настройки)
Управление рекламой
▪ Если проблема была решена, не забудьте поблагодарить и поставить хорошую оценку Взломанный бот
Дополнительная инфомация
Если вам показалось, что бот выглядит не так, как всегда, и был взломан, то вот что нужно сделать:
Знакома ли вам ситуация, когда вы запустили бота в Telegram, решили свою задачу и ушли, а через некоторое время он начинает надоедать вам сообщениями?
20 ботов для администратора Телеграм-канала
На этой странице представлен максимально полный список востребованных ботов для администратора Телеграм-канала. Их в обязательном порядке нужно подключить, настроить и использовать в своем хозяйсте для эффективной работы

Один бот с более громоздким юзернеймом с нижним подчеркиванием при создании канала делается для автопостинга и форматирования сообщений перед публикацией в канал. Второй – для обратной связи. Максимально возможное количество созданных ботов на одном номере в Телеграм – 20 штук.
Контроллер бот работает не напрямую через канал, а через одного из созданных в Ботфазере ботов, чтобы уменьшить нагрузку и не перекинутся бочком. При настройке Контроллербота подключаем в него своего бота и его же добавляем админом в канал.
Боты для опросов
Боты комментариев
Остальные боты
Он работает! Не говори, что не работает. На одном аккаунте предпросмотр загружен в кэш. Надо смотреть ссылку с другого аккаунта, все будет ок. В качестве альтернативы моментального изменения также можно использовать (это для знающих, кто в теме) instantview.telegram.org.
Неосновные, но официальные встроенные в строку текста Телеграм боты
Остальные боты мне впадло толковать. Список можно скачать здесь. В основном, это боты для чатов: модераторы, полицейские, карма бот и прочие плюшки. Знаешь еще интересные боты – пиши Елисею с пометкой #бот.

Telegram кузница им. Николая Дурова — пансионат администраторов Телеграм-каналов: черная бухгалтерия, неугомонные страсти и вся подноготная мессенджера
Источник: telesmithy.net