|
@@ -1,18 +1,43 @@
|
|
|
# anonflow (podslv21_bot)
|
|
# anonflow (podslv21_bot)
|
|
|
|
|
|
|
|
-**anonflow** — это автономный бот для анонимных сообщений с модерацией, который позволяет пользователям отправлять сообщения в прикрепленный чат **не раскрывая свою личность**.
|
|
|
|
|
|
|
+**anonflow** — это автономный бот для анонимных сообщений с модерацией, который позволяет пользователям отправлять сообщения в прикрепленные чаты, **не раскрывая свою личность**.
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
## Особенности
|
|
## Особенности
|
|
|
|
|
|
|
|
* Бот практически полностью способен работать автономно, без участия администраторов.
|
|
* Бот практически полностью способен работать автономно, без участия администраторов.
|
|
|
-* Никакая личная информация не хранится в боте, бот сохраняет связи между `message_id` и `chat_id` для корректной работы ответов.
|
|
|
|
|
-* Даже администраторы не способны узнать кто отправил сообщение.
|
|
|
|
|
|
|
+* Двухуровневая модерация: omni-moderation + ChatGPT по набору правил.
|
|
|
|
|
+* Гибкая настройка модераторов чата, регулирование привилегий.
|
|
|
|
|
+* Модерация текста и фото (видео пересылается, но не модерируется).
|
|
|
|
|
+* Интеграция с базой через SQLAlchemy, асинхронная архитектура.
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
-## Модерация
|
|
|
|
|
|
|
+## Конфигурация
|
|
|
|
|
|
|
|
-* В бота интегрирована модерация с помощью OpenAI API с возможностью добавления собственных правил.
|
|
|
|
|
-* Модерация выполняется **автоматически перед пересылкой**, без участия администраторов.
|
|
|
|
|
|
|
+* Скопировать `config.yml.example` > `config.yml` и заполнить. Поддерживается $-форматирование из окружения.
|
|
|
|
|
+* Обязательные параметры:
|
|
|
|
|
+ * bot.token — токен бота Telegram.
|
|
|
|
|
+ * openai.api_key — ключ OpenAI API.
|
|
|
|
|
+ * database — секция конфигурации БД, поддерживаются практически все SQLAlchemy бэкенды.
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## Быстрый старт
|
|
|
|
|
+1. `git clone https://github.com/librellium/anonflow.git`
|
|
|
|
|
+2. `cd anonflow`
|
|
|
|
|
+3. `python -m venv .venv`
|
|
|
|
|
+4. `source .venv/bin/activate`
|
|
|
|
|
+5. `pip install -r requirements.txt`
|
|
|
|
|
+6. `cp config.yml.example config.yml (Обязательно заполнить все нужные поля)`
|
|
|
|
|
+7. `python -m anonflow`
|
|
|
|
|
+
|
|
|
|
|
+## Деплой в Docker
|
|
|
|
|
+* `docker compose up -d --build`
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## Ограничения
|
|
|
|
|
+* Видео пересылается, но не модерируется.
|
|
|
|
|
+* Работа бота полностью зависит от доступности и ответа модели OpenAI.
|