tshipenchko / sulu_aiogram_3

Rewritten telegram bot on aiogram v3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

image image image image image image

Telegram-bot для Linux Klubа

Данный проект является нынешним чат-ботом Linux Klub-а, который выдает тэги пользователям, рассказывает анекдоты, не разрешает выражаться нецензурной лексикой, а также может вести базовую беседу. Данные о возможных плохих словах, о приветствиях и ссылки на гиф-изображения хранятся внутри NoSQL MongoDB базы данных. Данные о спаме пользователя хранятся в NoSQL Redis базе данных. Все подключено через асинхронные драйверы. Бот общается по средством модели реализованной с помощью библиотеки scikit-learn. Само общение бота с TelegramAPI реализовано с помощью Webhook-ов и Caddy веб-сервера

Ссылка на бота: https://t.me/SulujhonBot

image

Инструкция по использованию:

image

Функционал

  • Общение с пользователями
  • Выдавание и отбирание тэга у участников чата
  • Выдача информации насчет клуба и правил его чата
  • Фильтрация нецензурной речи
  • Приветствие новых пользователей
  • Удаление сообщений о уходе пользователей
  • Рассказывание анекдотов про 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
    • MacOS, Windows: docker-compose up -d --build

После всех этих действий бот будет доступен в Telegram по своему Telegram ID, приятного использования!

About

Rewritten telegram bot on aiogram v3

License:GNU Affero General Public License v3.0


Languages

Language:Python 98.1%Language:Dockerfile 1.8%Language:Shell 0.2%