BusinessLogger — это Telegram-бот на Python, предназначенный для продвинутого логирования сообщений, отслеживания изменений и удаления сообщений в бизнес-чатах Telegram.
Построен с использованием библиотеки Aiogram, Redis для кэширования
и Loguru для логирования
- Логирование сообщений: Сохраняет входящие сообщения в Redis с периодом истечения в 21 день.
- Обработка редактированных сообщений: Отслеживает и обрабатывает редактированные сообщения, сохраняя оригинальные данные для аудита.
- Отслеживание удаленных сообщений: Фиксирует удаленные сообщения и уведомляет назначенного пользователя.
- Интеграция с Redis: Эффективное кэширование и быстрый доступ к сообщениям.
- Обработка пользовательских колбэков: Поддержка взаимодействий через встроенные кнопки.
Python 3.8+
Redis сервер
-
Клонирование репозитория:
git clone <repository-url> cd BusinessLogger
-
Создание виртуального окружения:
python3 -m venv venv source venv/bin/activate # На Windows используйте `venv\Scripts\activate`
-
Установка зависимостей:
pip install -r requirements.txt
-
Настройка переменных окружения: Создайте файл
.env
в корневой директории и задайте следующие переменные:TOKEN=<Ваш токен Telegram-бота> REDIS_HOST=<Хост Redis> REDIS_PORT=<Порт Redis> REDIS_PASSWORD=<Пароль Redis (опционально)> USER_ID=<Ваш Telegram User ID>
BusinessLogger/
├── bot.py # Основная логика бота
├── settings.py # Конфигурационные настройки
├── keyboards.py # Обработчики встроенных клавиатур
├── requirements.txt # Python-зависимости
└── .env # Переменные окружения (определяются пользователем)
-
Запуск бота:
python bot.py
-
Взаимодействие с ботом:
- Добавьте бота в бизнес-чат.
- Отслеживайте логирование, редактирование и удаление сообщений.
- Используйте встроенные кнопки для взаимодействия.
Сохраняет каждое входящее сообщение в Redis с предопределенным сроком истечения.
Получает оригинальное сообщение, обновляет его и уведомляет пользователя.
Извлекает удаленные сообщения из Redis и отправляет уведомление с их оригинальным содержанием.
Кастомные колбэки для встроенных кнопок:
EMPTY
: Никаких действий.CLOSE
: Удаляет сообщение при активации.
Ваши идеи и доработки приветствуются! Форкните репозиторий и создайте pull request с вашими улучшениями или исправлениями ошибок.
Этот проект распространяется под лицензией MIT License. Подробнее см. в файле LICENSE.
- Aiogram за мощный фреймворк для создания Telegram-ботов.
- Loguru за гибкую библиотеку логирования.
- Redis за эффективное кэширование и управление данными.
Автор: Дуплей Максим Игоревич
TG: @quadd4rv1n7
Дата: 30.12.2024