Бот разработан для удобного хранения файлов. Файлы разделяются на категории заданые пользователем. Получать и сохранять можно не только отдельные файлы, но и целые категории
Основное приложение (работающее с файлами) написано на чистом Python с sqlite3 в качестве БД. Телеграм-оболочка написана на aiogram. Также есть логирование, реализовано с помощью loguru.
В качестве оболочки проекта используется poetry
Для запуска бота написан CLI, запускаемый командой poetry run bot [options].
Опции:
- --stage: где запускается бот. Варианты:
dev- при разработке,prod- в продакшене. По умолчанию -dev - --use: как запускать бота. Варианты:
polling- через поллинг,webhook- через вебхук. По умолчанию -polling
В зависимости от параметра stage используется разный конфиг (лежат в filogram/config.py)
Тесты лежат в tests/, запускаются через poetry run pytest.
Переменная STAGE ставится сама после запуска через CLI
Обязательные:
BOT_TOKEN- токен телеграм-бота
При использовании вебхука:
WEBHOOK_PATHWEBHOOK_URLWEBAPP_HOSTWEBAPP_PORT
Так как бот запускается через poetry, то данные переменные могут находится в файле .env главной директории. Для чтения переменных из данного файла должен быть подключён плагин poetry-dotenv-plugin (команда установки - poetry plugin add poetry-dotenv-plugin)