Бот разработан для удобного хранения файлов. Файлы разделяются на категории заданые пользователем. Получать и сохранять можно не только отдельные файлы, но и целые категории
Основное приложение (работающее с файлами) написано на чистом 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_PATH
WEBHOOK_URL
WEBAPP_HOST
WEBAPP_PORT
Так как бот запускается через poetry, то данные переменные могут находится в файле .env
главной директории. Для чтения переменных из данного файла должен быть подключён плагин poetry-dotenv-plugin (команда установки - poetry plugin add poetry-dotenv-plugin
)