Skip to content

A-V-tor/Bot-secretar

Repository files navigation

Личный бот - секретарь


Функционал

    Телеграм

  • Журнал трат
  • Журнал веса
  • Журнал тренировок
  • Получение напоминаний

    Web админка

  • Сервис заметок
  • Создание напоминаний
  • Доступ к моделям базы данных

Настройка и запуск

  • В корне проекта созать файл .env по аналогу с env.example

    token - токен от Botfather
    headers - заголовки для запросов (парсинг)
    owner_id -  id телеграм для владельца бота
    URL_ADMIN - url админки
    SECRET_KEY - секретный ключ для сессий
    AUTHORIZATION_KEY - ключ для для запросов к API # должен совпадать со знчением "authorizationKey"  из project/adminpanel/static/admin/js
    REDIS_KEY - ключ авторизации с redis
    CHAT_ID - ID телеграма юзера для отправки напоминаний
    
  • по пути project/adminpanel/static/admin/js создать файл .env.json по аналогии с env.json.example

    {
      "notesUrl": "http://localhost:5000/api/all-notes", //  ендпоинт заметок
      "botLogsUrl": "http://localhost:5000/api/bot-logs",
      "flaskLogsUrl": "http://localhost:5000/api/flask-logs",
      "authorizationKey": "1234567" //  ключ для для запросов к API # должен совпадать со значением "AUTHORIZATION_KEY из .env"
    }
    
  • Создание виртуального окружения и установка зависимостей

    poetry shell
    poetry install
    
  • Создание и применение миграций к бд

    alembic revision --autogenerate -m "initial revision"
    alembic upgrade head
    
  • Запуск Celery Запуск работника celery -A project.telegram worker --loglevel=info
    Запуск планировщика celery -A project.telegram beat --loglevel=info

  • Локальный запуск для разработки через developers_manager.py

Pre commit

Включить в работу pre-commit install
Проверка создания файла cat .git/hooks/pre-commit
Проверка согласно конфигурации pre-commit run --all-files

Дополнительное описание в документации