Skip to content

TaRaKaN41K/Telegram_Regex_Remote_Info_Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Телеграм бот в контейнерах

Телеграмм бот на питоне с использованием контейнеров Docker

Функционал

1. Поиск информации в тексте и вывод ее

В боте реализован функционал поиска необходимой информации и вывод ее пользователю. Поиск с помощью регулярных выражений.

Информация, которую бот выделяет из текста:

  • Email-адреса. Команда: /find_email

  • Номера телефонов. Команда: /find_phone_number

Шаблон номеров

+79999999999 +7 999 999 99 99 +7 (999) 999-99-99 +7(999)999-99-99 +7-999-999-99-99

79999999999 7 999 999 99 99 7 (999) 999-99-99 7(999)999-99-99 7-999-999-99-99

89999999999 8 999 999 99 99 8(999)999-99-99 8 (999) 999-99-99 8-999-999-99-99

999-99-99 - Домашний

9999999999 - Без префикса (первая не 0)

Взаимодействия с этими командами происходит по следующему принципу:

  1. Пользователь выбирает команду

  2. Бот запрашивает текст

  3. Пользователь отправляет текст

  4. Бот вывод список найденных номеров телефона или email-адресов.

Если номера телефонов или email-адреса найдены не были, сообщается об этом пользователю.

2. Проверка сложности пароля регулярным выражением.

В боте реализован функционал проверки сложности пароль с использованием регулярного выражения.

Команда: /verify_password

Требования к паролю:

  • Пароль должен содержать не менее восьми символов.

  • Пароль должен включать как минимум одну заглавную букву (A–Z).

  • Пароль должен включать хотя бы одну строчную букву (a–z).

  • Пароль должен включать хотя бы одну цифру (0–9).

  • Пароль должен включать хотя бы один специальный символ, такой как !@#$%^&*().

Взаимодействие с этой командой происходит по следующему принципу:

  1. Пользователь выбирает команду

  2. Бот запрашивает пароль

  3. Пользователь отправляет пароль

  4. Бот отвечает: ‘Пароль простой’ или ‘Пароль сложный’.

3. Мониторинг Linux-системы

В боте реализован функционал для мониторинга Linux системы. Для этого устанавливаться SSH-подключение к удаленному серверу (в его роли может выступать собственная виртуальная машина, эта машина не должна участвовать в развертывании проекта), с помощью которого будет собираться метрики с системы.

Мониторинг включает в себя следующий показатели:

  1. Сбор информации о системе:
  • О релизе. /get_release

  • Об архитектуры процессора, имени хоста системы и версии ядра. /get_uname

  • О времени работы. /get_uptime

  • Сбор информации о состоянии файловой системы. /get_df

  • Сбор информации о состоянии оперативной памяти. /get_free

  • Сбор информации о производительности системы. /get_mpstat

  • Сбор информации о работающих в данной системе пользователях. /get_w

  • Сбор логов

    • Последние 10 входов в систему. /get_auths

    • Последние 5 критических события. /get_critical

  • Сбор информации о запущенных процессах. /get_ps

  • Сбор информации об используемых портах. /get_ss

  • Сбор информации об установленных пакетах. /get_apt_list

    Два варианта взаимодействия с этой командой:

    1. Вывод всех пакетов;

    2. Поиск информации о пакете, название которого будет запрошено у пользователя.

  • Сбор информации о запущенных сервисах. /get_services

Взаимодействия с этими командами происходит по следующему принципу:

  1. Пользователь выбирает команду

  2. Бот отправляет соответствующую информацию

Docker

Краткая справка по командам

Просмотр всех контейнеров

docker ps -a

Просмотр запущенных контейнеров

docker ps

Просмотр всех образов

docker images

Запуск проекта с помощью docker-compose

docker-compose up

Остановка проекта с помощью docker-compose

docker-compose down

Краткая справки по ручному созданию, удалению и управлению 3 образами и контейнерами

Bot

Создание образа

docker build -t bot_image .

Создание и запуск контейнера

docker run -d \
    --name bot_container \
    --env-file /home/kalashov-feodor-olegovich/PT_START_bot/.env \
    -p 5434:5432 \
    bot_image

Вход в оболочку контейнера

docker exec -it bot_container bash

Логи контейнера

docker logs bot_container

Остановка контейнера

docker stop bot_container

Удаление контейнера

docker rm bot_container

Удаление образа

docker rmi bot_image

DB

Создание образа

docker build -t db_image .

Создание и запуск контейнера

docker run -d \
    --name db_container \
    --env-file /home/kalashov-feodor-olegovich/PT_START_bot/.env \
    -v /home/kalashov-feodor-olegovich/PT_START_bot/archive:/oracle/pgdata/archive \
    -p 5432:5432 \
    db_image

Вход в оболочку контейнера

docker exec -it db_container bash

Логи контейнера

docker logs db_container

Остановка контейнера

docker stop db_container

Удаление контейнера

docker rm db_container

Удаление образа

docker rmi db_image

DB replica

Создание образа

docker build -t db_repl_image .

Создание и запуск контейнера

docker run -d \
    --name db_repl_container \
    --env-file /home/kalashov-feodor-olegovich/PT_START_bot/.env \
    -p 5433:5432 \
    db_repl_image

Вход в оболочку контейнера

docker exec -it db_repl_container bash

Логи контейнера

docker logs db_repl_container

Остановка контейнера

docker stop db_repl_container

Удаление контейнера

docker rm db_repl_container

Удаление образа

docker rmi db_repl_image

About

Телеграмм бот в Docker

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors