AntiToxicBot — это Telegram-бот, который борется с токсичностью в чатах. Он использует Perspective API для анализа сообщений и выдает муты за токсичное поведение.
Perspective API использует модели машинного обучения для идентификации оскорбительных комментариев.
Perspective предоставляют оценки для нескольких различных атрибутов. Помимо основного атрибута Toxicity, Perspective может предоставлять оценки для следующих атрибутов:
- Severe Toxicity
- Insult
- Profanity
- Identity attack
- Threat
- Sexually explicit
Perspective API бесплатен и доступен для использования на арабском, китайском, чешском, нидерландском, английском, французском, немецком, хинди, индонезийском, итальянском, японском, корейском, польском, португальском, русском, испанском и шведском языках.
- Старым участникам накапливаются поинты токсичности за каждое токсичное сообщение.
- При достижении 3 поинтов, пользователь получает мут на определенное время.
- Поинты сбрасываются после выдачи мута.
- Пользователи, которые часто нарушают правила, будут получать увеличенное время мута.
- Мут увеличивается на 2 часа за каждые 3 накопленных поинта.
- Бот хранит историю всех мутов и накопленных поинтов для каждого пользователя.
- История доступна через команду
/mute_history
.
- Новые участники (менее 3 часов в чате) имеют более низкий порог токсичности для выдачи мута.
- Порог токсичности для новых участников снижен на 10%, чтобы быстрее реагировать на их поведение.
- Клонируйте репозиторий:
git clone https://github.com/0niel/anti-toxic-bot.git
- Перейдите в директорию проекта:
cd anti-toxic-bot
- Установите зависимости:
poetry install
- Создайте файл
.env
и добавьте ваши ключи API:PERSPECTIVE_API_KEY=your_perspective_api_key TELEGRAM_BOT_TOKEN=your_telegram_bot_token
- Клонируйте репозиторий:
git clone https://github.com/0niel/anti-toxic-bot.git
- Перейдите в директорию проекта:
cd anti-toxic-bot
- Соберите Docker-образ:
docker build -t tg-bot .
- Создайте файл
.env
и добавьте ваши ключи API:PERSPECTIVE_API_KEY=your_perspective_api_key TELEGRAM_BOT_TOKEN=your_telegram_bot_token
- Запустите контейнер:
docker run --env-file .env -p 5000:5000 --name tg-bot tg-bot
- Запустите бота:
poetry run python main.py
- Запустите контейнер:
docker run --env-file .env -p 5000:5000 --name tg-bot tg-bot
/start
— приветственное сообщение./muted_users
— получить список замученных пользователей./unmute <user_id>
— размутить пользователя./toxic_users
— получить антирейтинг самых токсичных пользователей./mute_history
— получить историю мутов и выдачи поинтов.
make format
— Запуск инструментов форматирования кода.make build
— Сборка Docker-образа.make run
— Запуск Docker-контейнера.make stop
— Остановка и удаление Docker-контейнера.make restart
— Остановка, пересборка и запуск Docker-контейнера.make clean
— Удаление Docker-образа.make logs
— Показ логов работающего контейнера.make shell
— Открытие шелла внутри работающего контейнера.make prune
— Удаление всех неиспользуемых объектов Docker.
Этот проект лицензируется на условиях лицензии MIT.