Thanks to visit codestin.com
Credit goes to github.com

Skip to content

LizardKing131313/tg_bots

Repository files navigation

Telegram Bots Portfolio — Starter

CI Qodana Coverage

Стартовый шаблон монорепозитория под 10 телеграм-ботов на aiogram 3. Готовы два бота: echo_bot (базовый пример) и questionnaire_bot (FSM).

Рекомендуемая подготовка окружения

pip install -U pip setuptools wheel
# опционально
pip install -U pip-tools

Быстрый старт (dev, long-polling)

python -m venv .venv
# Windows: .venv\Scripts\activate
# macOS/Linux: source .venv/bin/activate

pip install -U pip setuptools wheel
pip install -e ".[dev]"

cd bots/echo_bot && python -m app

Логи

  • Консоль — цветной вывод (если установлен colorlog).
  • Файл с ротацией по дням — logs/bot.log (по умолчанию), хранится LOG_BACKUP_DAYS дней.

Переменные окружения:

LOG_LEVEL=INFO
LOG_FILE=logs/bot.log
LOG_BACKUP_DAYS=7

Установка colorlog (опционально):

pip install colorlog

Стек

  • Python 3.11+
  • aiogram 3
  • pydantic 2 + pydantic-settings
  • python-dotenv
  • httpx
  • pre-commit (Ruff + Black хуки)
  • pytest (юнит-тесты)

CI (GitHub Actions)

В репозитории уже есть workflow .github/workflows/ci.yml, который при каждом push/PR:

  • ставит зависимости (pip install -e ".[dev]"),
  • гоняет Ruff (ruff check .),
  • проверяет формат Black (black --check .),
  • запускает pytest (пока тестов нет, этап «зелёный»).

IntelliJ IDEA: запуск pre-commit перед коммитом

Settings → Version Control → Commit → Before Commit:

  • включи Run Git Hooks (если доступно), либо добавь External Tool на:

    pre-commit run --files $ChangedFiles$
  • при желании включи Run tests и Run inspection.

Линтинг, форматирование и тесты

В проекте настроены Ruff (линтер) и Black (форматтер), а также pre-commit хуки.

Установка зависимостей и активация хуков

make setup
# или вручную:
# pip install -U pre-commit ruff black
# pre-commit install

Проверить код

make lint

Автоматически исправить и отформатировать

make fix

Запустить тесты

make test

Проверить и протестировать (режим CI)

make ci

Все конфигурации Ruff и Black лежат в pyproject.toml. .editorconfig содержит только базовые настройки редактора.

Структура репозитория

tg-bots-portfolio-starter/
  bots/
    echo_bot/
    questionnaire_bot/
  libs/
    common/
  .github/workflows/ci.yml
  Makefile
  pyproject.toml
  .pre-commit-config.yaml
  .editorconfig
  .gitignore
  README.md

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published