Commit Graph

158 Commits

Author SHA1 Message Date
ANDREY KATYKHIN
3933259674 Merge pull request #15 from KerradKerridi/dev-13
Dev 13
2026-02-02 00:29:07 +03:00
849a033ce9 fix 2026-02-02 00:18:44 +03:00
561c9074dd style: isort + black 2026-02-02 00:13:33 +03:00
5f66c86d99 merge 2 2026-02-02 00:12:20 +03:00
2a09971628 Merge remote-tracking branch 'origin/master' into dev-13 2026-02-02 00:12:09 +03:00
c03bd75b5e style: isort + black 2026-02-01 23:29:59 +03:00
bb95127013 test fix 2026-02-01 23:24:44 +03:00
b8249ebd47 and one more fix 2026-02-01 23:17:59 +03:00
c72c876de7 some fix again 2026-02-01 23:16:11 +03:00
49432acb24 new fix 2026-02-01 23:13:10 +03:00
5ff66993fa fix black 2026-02-01 23:05:46 +03:00
9a6ab9a045 fix isort 2026-02-01 23:04:32 +03:00
f8962225ee fix quality code 2026-02-01 23:03:23 +03:00
731e68a597 import fix 2026-02-01 22:49:25 +03:00
bba5550e15 Обновлены тесты для сервиса аудиофайлов и ограничения скорости, добавлено патчирование asyncio.sleep для проверки задержек. Исправлены комментарии и улучшена читаемость тестов. 2026-02-01 22:43:36 +03:00
e87f4af82f добавил deployment-guide 2026-01-28 01:47:04 +03:00
ANDREY KATYKHIN
90473008bc Merge pull request #14 from KerradKerridi/dev-12
Release Notes: dev-12
2026-01-28 01:31:27 +03:00
35767c289c fix: улучшена проверка данных из RAG API в методе получения статистики
- Упрощена логика проверки наличия данных из API, убраны лишние переменные.
- Обновлен расчет общего количества примеров для корректного отображения статистики.
2026-01-28 01:02:21 +03:00
a949f7e7db refactor: перемещены CI/CD пайплайны в ветку dev-13 2026-01-28 00:29:09 +03:00
81ac65f555 feat: добавлены CI/CD пайплайны 2026-01-28 00:28:36 +03:00
7d173e3474 feat: улучшена обработка статистики RAG API в админ-панели
- Добавлена проверка наличия данных из API для отображения статуса модели и статистики векторного хранилища.
- Реализован fallback на синхронные данные, если API недоступен.
- Обновлено описание метода получения статистики в RagApiClient для уточнения использования endpoint /stats.
2026-01-28 00:23:37 +03:00
5d7b051554 feat: улучшена обработка постов и медиагрупп с добавлением статуса "declined"
- Реализовано обновление статуса постов на "declined" для одиночных сообщений и медиагрупп.
- Оптимизирована фоновая обработка постов, включая получение и обработку ML-скоров.
- Обновлены обработчики для немедленного ответа пользователю при отправке постов.
- Добавлены логирование ошибок для улучшения отладки.
2026-01-27 22:10:04 +03:00
be8af704ba feat: добавлен функционал для извлечения и отправки описания PR в Telegram
- Реализована возможность получения тела последнего объединенного PR по коммиту в GitHub Actions.
- Добавлен шаг для отправки описания PR в важные логи через Telegram.
- Обновлены тесты для проверки нового функционала и улучшения логики обработки сообщений.
2026-01-26 22:40:05 +03:00
feee7f010c refactor: обновление системы ML-скоринга и переход на RAG API
- Обновлен Dockerfile для использования Alpine вместо Slim, улучшая размер образа.
- Удален устаревший RAGService и добавлен RagApiClient для работы с внешним RAG API.
- Обновлены переменные окружения в env.example для настройки нового RAG API.
- Обновлен ScoringManager для интеграции с RagApiClient.
- Упрощена структура проекта, удалены ненужные файлы и зависимости, связанные с векторным хранилищем.
- Обновлены обработчики и функции для работы с новым API, включая получение статистики и обработку ошибок.
2026-01-26 22:03:15 +03:00
7f6f0f028c feat: интеграция ML-скоринга с использованием RAG и DeepSeek
- Обновлен Dockerfile для установки необходимых зависимостей.
- Добавлены новые переменные окружения для настройки ML-скоринга в env.example.
- Реализованы методы для получения и обновления ML-скоров в AsyncBotDB и PostRepository.
- Обновлены обработчики публикации постов для интеграции ML-скоринга.
- Добавлен новый обработчик для получения статистики ML-скоринга в админ-панели.
- Обновлены функции для форматирования сообщений с учетом ML-скоров.
2026-01-26 18:40:38 +03:00
e2b1353408 feat: добавлена система миграций БД и CI/CD пайплайны
- Создана система отслеживания миграций (MigrationRepository, таблица migrations)
- Добавлен скрипт apply_migrations.py для автоматического применения миграций
- Созданы CI/CD пайплайны (.github/workflows/ci.yml, deploy.yml)
- Обновлена документация по миграциям в database-patterns.md
- Миграции применяются автоматически при деплое в продакшн
2026-01-25 23:17:09 +03:00
07e72c4d14 Добавил my-custom-rule.mdc для агента 2026-01-25 16:55:29 +03:00
ANDREY KATYKHIN
4af649dea7 Merge pull request #13 from KerradKerridi/dev-11
Dev 11
2026-01-25 16:22:31 +03:00
c53c036751 Добавил новую инструкцию для написания документации 2026-01-25 16:19:56 +03:00
d2d7c83575 Обновлен Python до версии 3.11.9 и изменены зависимости в Dockerfile и pyproject.toml. Удалены устаревшие файлы RATE_LIMITING_SOLUTION.md и тесты для rate limiting.
Обновлены пути к библиотекам в Dockerfile для соответствия новой версии Python.
Исправлены все тесты, теперь все проходят
2026-01-25 16:07:27 +03:00
5a90591564 Добавлен асинхронный механизм обработки медиагрупп в PrivateHandlers и улучшен AlbumMiddleware для более эффективного сбора сообщений.
- Реализована фоновая обработка медиагрупп, позволяющая пользователю получать ответ сразу, пока происходит сбор сообщений.
- Введен класс `AlbumGetter` для получения полной медиагруппы с использованием событий.
- Обновлены методы в `AlbumMiddleware` для поддержки нового функционала и улучшения логики обработки сообщений.
2026-01-24 01:35:36 +03:00
0e2aef8c03 Добавлен функционал для работы с медиагруппами и улучшена обработка сообщений
- Реализованы методы для добавления связи между постами и сообщениями в `PostRepository` и `AsyncBotDB`.
- Обновлены обработчики публикации постов для корректной работы с медиагруппами, включая удаление и уведомление авторов.
- Улучшена логика обработки сообщений в `AlbumMiddleware` для более эффективного сбора медиагрупп.
- Обновлены тесты для проверки нового функционала и обработки ошибок.
2026-01-24 01:23:35 +03:00
fecac6091e Добавлен функционал для работы с S3 хранилищем и обновление контента опубликованных постов
- В `env.example` добавлены настройки для S3 хранилища.
- Обновлен файл зависимостей `requirements.txt`, добавлена библиотека `aioboto3` для работы с S3.
- В `PostRepository` и `AsyncBotDB` реализованы методы для обновления и получения контента опубликованных постов.
- Обновлены обработчики публикации постов для сохранения идентификаторов опубликованных сообщений и их контента.
- Реализована логика сохранения медиафайлов в S3 или на локальный диск в зависимости от конфигурации.
- Обновлены тесты для проверки нового функционала.
2026-01-23 23:19:16 +03:00
ANDREY KATYKHIN
42f168f329 Merge pull request #12 from KerradKerridi/dev-10
Patch Notes dev-10
2026-01-23 19:54:47 +03:00
f1ebcf453e Подготовлен скрипт миграции данных с blacklist на blacklist history 2026-01-23 18:56:30 +03:00
3b841fcbfa Добавлен функционал для отслеживания истории банов пользователей.
- Введена новая модель `BlacklistHistoryRecord` для хранения информации о банах и разблокировках.
- Обновлены методы `set_user_blacklist` и `delete_user_blacklist` в `AsyncBotDB` для логирования событий в историю.
- Обновлена схема базы данных для создания таблицы `blacklist_history` и соответствующих индексов.
- Обновлены тесты для проверки нового функционала и обработки ошибок при записи в историю.
2026-01-23 16:23:27 +03:00
7269130777 Рефакторизация процесса блокировки пользователей в обработчиках callback
- Обновлена ​​функция `process_ban_user`, теперь в качестве параметра для получения сведений о пользователе используется `bot_db`.

- Улучшена обработка ошибок в сценариях, когда пользователь не найден.

- Введен единый формат отображения информации о пользователе с помощью `format_user_info`.

- Изменено управление состоянием в соответствии с новым алгоритмом ожидания сведений о блокировке.
2026-01-23 14:02:53 +03:00
477e2666a3 Добавлено поле ban_author в модель BlacklistUser и соответствующие изменения в базе данных для отслеживания автора блокировки пользователя. Обновлены методы работы с черным списком в AsyncBotDB и BlacklistRepository, а также обработка блокировок в AdminService и BanService. Обновлены тесты для проверки новых функциональностей. 2026-01-23 13:38:48 +03:00
89022aedaf Реализован функцоинал хранения сырых текстов поста в базе данных. Оформление поста происходит непосредственно перед его отправкой в канал.
- Реализованы методы `get_post_text_and_anonymity_by_message_id` и `get_post_text_and_anonymity_by_helper_id` в `PostRepository` для получения текста поста и флага анонимности.
- Обновлена модель `TelegramPost`, добавлено поле `is_anonymous`.
- Изменена схема базы данных для включения поля `is_anonymous` в таблицу `post_from_telegram_suggest`.
- Обновлены функции публикации постов в `PostPublishService` для учета анонимности.
- Добавлены тесты для проверки новых функций и корректности работы с анонимностью.
2026-01-23 12:12:21 +03:00
c6ba90552d some fixes 2026-01-23 00:38:15 +03:00
34251507da fix problems 2026-01-23 00:37:09 +03:00
03ed2bcf4e Обновлена ​​обработка статуса медиагрупп и улучшены интеграционные тесты
- Реализовано обновление статуса медиагрупп в `PostPublishService` при отклонении медиагрупп.

- Добавлены интеграционные тесты для обновления статусов постов и медиагрупп в `test_post_repository_integration.py

- Улучшен фиктивный репозиторий в `conftest_post_repository.py` для поддержки новых методов обновления статуса.

- Обновлены существующие тесты для проверки корректной обработки статуса постов и медиагрупп.
2026-01-22 23:52:48 +03:00
09e894e48f Обновление управления статусами сообщений и схемы базы данных
- Добавлены методы в `AsyncBotDB` и `PostRepository` для обновления статусов сообщений по идентификатору сообщения и для групп медиафайлов.

- Добавлено поле `status` в модель `TelegramPost` и обновлена ​​схема базы данных, чтобы включить это поле со значением по умолчанию 'suggest'.

- Обновлен `PostPublishService` для установки статусов сообщений на 'approved' или 'declined' в процессе публикации.
2026-01-22 23:37:27 +03:00
ANDREY KATYKHIN
422c36074e Merge pull request #11 from KerradKerridi/dev-9
Dev 9
2025-09-19 13:02:40 +03:00
a0a7a47c8d Refactor Docker configuration and improve database initialization
- Updated `.dockerignore` to streamline ignored files and directories, focusing on essential components.
- Removed obsolete `Dockerfile.bot` to simplify the build process.
- Enhanced `run_helper.py` with a new `init_db` function to initialize the SQLite database if it doesn't exist, improving setup reliability.
- Removed the `/status` endpoint from `server_prometheus.py` to clean up unused functionality and improve code clarity.
2025-09-16 18:43:05 +03:00
ANDREY KATYKHIN
574d374eaa Delete .github/workflows directory 2025-09-08 23:42:20 +03:00
ANDREY KATYKHIN
3f5a6045d8 Create pylint.yml 2025-09-08 23:29:13 +03:00
31e29cdec0 Update banned users handling with async support and improved date parsing
- Modified `change_page` function in `callback_handlers.py` to use async methods for retrieving banned users and their buttons.
- Enhanced `get_banned_users_list` in `helper_func.py` to handle string timestamps and various date formats, ensuring robust date parsing.
- Added a new test case in `test_utils.py` to validate the handling of string timestamps in the banned users list retrieval.
2025-09-08 23:19:19 +03:00
5f6882d348 Implement audio record management features in AsyncBotDB and AudioRepository
- Added methods to delete audio moderation records and retrieve all audio records in async_db.py.
- Enhanced AudioRepository with functionality to delete audio records by file name and retrieve all audio message records.
- Improved logging for audio record operations to enhance monitoring and debugging capabilities.
- Updated related handlers to ensure proper integration of new audio management features.
2025-09-05 01:31:50 +03:00
ANDREY KATYKHIN
87ba7b0040 Merge pull request #10 from KerradKerridi/dev-8
Dev 8
2025-09-04 01:00:36 +03:00