Данный проект является нынешним чат-ботом Linux Klub-а, который выдает тэги пользователям, рассказывает анекдоты, не разрешает выражаться нецензурной лексикой, а также может вести базовую беседу. Данные о возможных плохих словах, о приветствиях и ссылки на гиф-изображения хранятся внутри NoSQL MongoDB базы данных. Данные о спаме пользователя хранятся в NoSQL Redis базе данных. Все подключено через асинхронные драйверы. Бот общается по средством модели реализованной с помощью библиотеки scikit-learn. Само общение бота с TelegramAPI реализовано с помощью Webhook-ов и Caddy веб-сервера
Ссылка на бота: https://t.me/SulujhonBot
- Общение с пользователями
- Выдавание и отбирание тэга у участников чата
- Выдача информации насчет клуба и правил его чата
- Фильтрация нецензурной речи
- Приветствие новых пользователей
- Удаление сообщений о уходе пользователей
- Рассказывание анекдотов про Linux
- Блокировка и запрет писать анонимно от лица каналов
- Блокировка ответа на сообщения, если пользователь начал спам
- Aiogram
- Asyncio
- Caddy
- Scikit-learn
- AsyncIOMotor(MongoDB-Python)
- MongoDB
- Aioredis(Redis-Python)
- Redis
- Docker
- Docker Compose
- Python 3.10+
- Клонировать репозиторий:
git clone https://github.com/LaggerIsME/telegrambot_for_chat
- Скачать и установить Docker и Docker-Compose: https://docs.docker.com/engine/install/
- Перейти в директорию проекта:
cd ~/telegrambot_for_chat
- Создать бота в Telegram и получить токен у @BotFather
- Также в чате с @BotFather написать:
/setprivacy
и поставить галочку на DISABLE - Изменить значение переменных в файле
.env
- Установить реверс-прокси Caddy с этого репозитория по инструкции: https://github.com/LaggerIsME/caddy_for_telegram_bot
- Запустить бота с помощью команды:
-
- Linux:
docker compose up -d --build
- Linux:
-
- MacOS, Windows:
docker-compose up -d --build
- MacOS, Windows:
После всех этих действий бот будет доступен в Telegram по своему Telegram ID, приятного использования!