Skip to content

Телеграм-бот для создания партнерских сертификатов

License

Notifications You must be signed in to change notification settings

coder8080/usmile

Folders and files

NameName
Last commit message
Last commit date
Apr 8, 2025
Mar 18, 2025
Apr 9, 2025
Mar 19, 2025
Apr 9, 2025
Apr 8, 2025
Mar 18, 2025
Apr 8, 2025
Apr 4, 2025
Apr 4, 2025
Apr 4, 2025
Mar 17, 2025
Mar 19, 2025
Apr 8, 2025
Apr 8, 2025
Mar 20, 2025

Repository files navigation

3x-ui

🦷 USMILE Telegram Bot

Телеграм бот для создания партнерских сертификатов стоматологии usmile

⭐️ Поставьте звездочку - это очень мотивирует)

Функции

  • Администраторы могут создавать особые ссылки для партнеров
  • Пройдя по ссылке, партнер пополняет свой баланс
  • Партнер может создавать сертификаты, используя свой баланс
  • Администраторы могут проверить статус сертификата по его номеру
  • Администраторы могут пометить сертификат как использованный

Техническая информация

Стек

  • Python3
  • Aiogram3 - библиотека для создания телеграм-ботов
  • Peewee - легковесная ORM
  • Docker - контейнеризация
  • Docker Compose - удобный запуск нескольких контейнеров
  • PostgreSQL - база данных
  • Redis - быстрое хранилище типа ключ-значение

Разработка

Установка зависимостей

Зависимости устанавливаются во время сборки Docker контейнера. Но чтобы в вашем редакторе кода работало автодополнение, рекомендуется также установить зависимости в виртуальную среду:

python3 -m venv .venv
source ./.venv/bin/activate
pip install -r requirements.txt

Запуск

docker compose --profile dev up --build
  • --profile dev - использует параметры docker для разработки
  • up - запускает проект
  • --build - пересобирает контейнеры

При внесении изменений в файлы на диске бот перепускается. Реализовано с помощью volumes и watchdog

Добавление новых пакетов

Все пакеты, использующиеся проектом (даже во время разработки) должны быть добавлены в requirements.txt

Команды ниже предполагают, чтовы уже установили зависимости

pip install package # package - ваш пакет
pip freeze > requirements.txt # обновляет requirements.txt

Продакшен

Сборка и деплой автоматизированы с помощью github-actions

Команда запуска

docker compose --profile prod up -d
  • --profile prod - использует параметры docker для продакшена
  • up - запускает проект
  • -d - фоновый режим и запуск при загрузке системы