0
0
mirror of https://gitflic.ru/project/maks1ms/ocab.git synced 2024-12-23 16:23:01 +03:00
Go to file
2024-07-08 00:21:50 +03:00
src Merged with chore/refactor-core 2024-07-07 21:25:10 +03:00
.bandit Добавлены инструменты для повышения качества кода 2024-07-07 23:59:33 +03:00
.flake8 Добавлены инструменты для повышения качества кода 2024-07-07 23:59:33 +03:00
.gitignore Merged with chore/refactor-core 2024-07-07 21:25:10 +03:00
.pre-commit-config.yaml Добавлен pre-commit 2024-07-08 00:21:50 +03:00
how-to install deps.md Poetry fix 2024-04-30 23:58:30 +03:00
init.py Множественные мелкие исправления 2024-05-01 01:50:18 +03:00
LICENSE Create LICENSE 2023-07-08 20:36:02 +03:00
poetry.lock Добавлен pre-commit 2024-07-08 00:21:50 +03:00
pyproject.toml Добавлен pre-commit 2024-07-08 00:21:50 +03:00
README.md обновил стек: Python 3.11.6 или выше 2024-02-12 11:48:55 +07:00
run_tests Исправлены импорты внутри модулей, добавлены: модуль для исключений, скрипт инициализации путей, переделано подключение к бд 2023-12-10 23:04:17 +07:00

OpenChatAiBot V2

Что такое OCAB?

OCAB - это бот для Telegram, который призван помочь во взаимодействии с чатом. Бот поддерживает интеграцию модулей для расширения функционала. Фактически бот является платформой для запуска созданных для него модулей. Модули могут взаимодействовать друг с другом или быть полностью независимыми.

Что такое модуль?

Модуль - это директория, которая содержит в себе код модуля и его конфигурацию.

Структура модуля

Будет дополнено после закрытия issue #17.

Стандартные модули

В стандартный состав бота входят следующие модули:

  • admin - модуль для модерирования чата. Позволяет удалять сообщения, банить пользователей и т.д.
  • reputation - модуль репутации пользователей. Позволяет оценивать ответы пользователей и накапливать репутацию.
  • welcome - модуль приветствия новых пользователей. Позволяет приветствовать новых пользователей в чате, а также проверять пользователя капчей для предотвращения спама.
  • roles - модуль ролей. Позволяет назначать пользователям роли и ограничивать доступ к командам бота по ролям. Является важной частью системы прав доступа и модуля admin.

Дополнительные официальные модули

  • gpt - модуль для генерации ответов на основе нейросети GPT-3.5. Позволяет боту отвечать на сообщения пользователей, используя нейросеть. Ключевой особенностью является построение линии контекста для нейросети, которая позволяет боту отвечать на вопросы, используя контекст предыдущих сообщений. Для этого используется модуль база данных хранящий историю сообщений.
  • bugzilla - модуль для интеграции с BugZilla. Позволяет получать уведомления о новых багах в BugZilla, отслеживать их статус, формировать стандартизированные сообщения для корректного описания багов. В будущем планируется интеграция с API BugZilla для возможности создания багов из чата.
  • alt_packages - модуль для интеграции с AltLinux Packages. Позволяет получать уведомления о новых пакетах в репозитории AltLinux, поиска пакетов по названию, получения истории изменений, команды для установки пакета из репозитория и прочей информации о пакете.
  • notes - модуль заметок. Позволяет сохранять заметки для пользователей и чатов. Заметки являются ссылками на сообщения в чате.

Список модулей будет пополняться. Идеи для модулей можно оставлять в issues.

Установка бота

Docker

Вручную

Технологический стек

  • Python 3.11.6 или выше - основной язык программирования.
  • SQLite 3 - база данных для хранения информации о чате и пользователях.
  • Poetry - менеджер зависимостей.
  • aiogram 3 - библиотека для работы с Telegram API.
  • peewee - ORM для работы с базой данных.