Skip to content

A SaaS platform for creating support and feedback bots for your users

Notifications You must be signed in to change notification settings

glebgv/GraceHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

256 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Schemathesis Frontend CI Backend CI Security Scan

License: MIT

⚠️ Важно: Находимся на стадии альфа-тестирования. Функционал может меняться, возможны ошибки и нестабильная работа. Используйте с осторожностью и сообщайте о проблемах.


GraceHub Logo

GraceHub Platform

GraceHub — это SaaS платформа, которая позволяет вам развернуть свою поддержку прямо в телеграм, а так же становиться поставщиком услуги по созданию ботов обратной связи и технической поддержки.

🌐 Сайт: gracehub.ru
📢 Telegram канал: @gracehubru
👨‍💻 Разработчик: @Gribson_Micro
🗺️ Roadmap: README/ROADMAP.md

📱 Скриншоты

Стартовая Дашборд Добавление бота
Стартовая страница Дашборд Добавление бота
Раздел оплаты Скриншот 5 Скриншот 6
Раздел оплаты, в котором было убито много времени Главный бот, где можно привязать бота поддержки Меню админа бота поддержки пользователей
Скриншот 7 Скриншот 8 Скриншот 9
Приходит месседж от клиента Меню работы с тикетом Ответ клиенту

Функционал

  • Главный бот — центральная точка привязки всех ботов обратной связи
  • Mini App личный кабинет — интерфейс для управления ботами и клиентами
  • Статистика и аналитика — отслеживайте метрики по каждому боту
  • Система биллинга — рассчёт и управление платежами

🌍 Поддерживаемые языки

  • 🇷🇺 Русский
  • 🇬🇧 English
  • 🇪🇸 Español
  • 🇮🇳 हिन्दी
  • 🇨🇳 简体中文

📁 Структура

gracehub/
├── src/
│   └── master_bot/
│       ├── main.py                 # Точка входа мастер‑бота
│       ├── api_server.py           # REST API сервер
│       └── worker/                 # Воркеры для инстансов
├── frontend/                       # React приложение
├── config/                         # Конфигурационные файлы
├── scripts/
│   └── launch.sh                   # Скрипт запуска
├── logs/                           # Логи приложения
└── .env                            # Переменные окружения

💳 Платёжки

Под капотом следующие шлюзы/системы:

Система Способ оплаты Технические особенности
Telegram Stars Внутренняя валюта Telegram Прямая интеграция с Telegram Mini Apps Billing. Платежи обрабатываются внутри платформы Telegram.
TON Coin Криптовалюта (Toncoin) Прямые переводы на TON-кошелек. Транзакции обрабатываются в блокчейне TON без использования смарт-контрактов на стороне платформы.
ЮKassa Платежный агрегатор (RU) Прием платежей по 54-ФЗ (банковские карты, СБП, электронные кошельки). REST API с вебхуками для подтверждения платежей.
Stripe Банковские карты (и др. методы Stripe) Прием международных платежей через Stripe API; подтверждение оплаты через вебхуки Stripe.

📋 Требования

Компонент Технология/Версия
Backend Python (FastAPI, Hypercorn)
Frontend React 19 + TypeScript + Vite
Управление ботами Telegram Bot API
База данных PostgreSQL 15+
Прокси Nginx (опционально)
Версия Python 3.10+
Node.js 20+
Доменное имя Необходимо🤓

⚙️ Подготовка окружения

  1. В каталог проекта:
cd /root/gracehub
  1. Создайте файл окружения и заполните его:
cp .env-example .env
nano .env
  1. Создайте виртуальное окружение:
python3 -m venv venv
source venv/bin/activate

ВНИМАНИЕ: На 3.13 python ошибка установки pydantic-core. Лучше пользоваться версией ниже.

🚀 Запуск для разработки

Обычный режим (с логами в терминале)

./scripts/launch.sh dev

Фоновый режим

./scripts/launch.sh dev --detach

Запуск включает три процесса:

  • мастер‑бот
  • REST API сервер
  • frontend приложение

🔧 Продакшен‑деплой через systemd

Первичная настройка и деплой

./scripts/launch.sh prod

Управление сервисами

После развертывания управление осуществляется через systemd:

# Проверка статуса
systemctl status gracehub-master gracehub-api gracehub-frontend

# Перезагрузка сервисов
systemctl restart gracehub-master gracehub-api gracehub-frontend

# Остановка сервиса
systemctl stop gracehub-frontend

📊 Логи и мониторинг

Для режима разработки

Логи находятся в каталоге logs/:

tail -f logs/masterbot.log
tail -f logs/api_server.log
tail -f logs/frontend-dev.log

Для продакшена

Просмотр логов systemd:

journalctl -u gracehub-master -n 50 --no-pager
journalctl -u gracehub-api -n 50 --no-pager
journalctl -u gracehub-frontend -n 50 --no-pager

🎯 Инструкция по использованию

После успешного деплоя следуйте этим шагам для настройки вашей поддержки:

Шаг 1: Подключение основного бота GraceHub

  1. Найдите основного GraceHub Platform бота в Telegram (которого вы развернули на предыдущих шагах)
  2. Нажмите Start или напишите /start
  3. Бот предоставит вам личный кабинет и инструкции для управления

Шаг 2: Регистрация вашего бота поддержки

  1. В основном боте выберите опцию добавления нового бота
  2. Получите токен своего Telegram бота через @BotFather
  3. Отправьте токен боту GraceHub Platform
  4. Ваш бот поддержки будет активирован в системе

Шаг 3: Инициализация администратора

  1. Напишите в ваш новый бот поддержки команду /start
  2. Бот запомнит вас как администратора и даст доступ к управлению

Шаг 4: Создание суперчата с топиками

  1. Создайте новую группу в Telegram
  2. В параметрах группы включите режим "Обсуждения" (Topics)
  3. Добавьте вашего бота поддержки в эту группу с правами администратора
  4. Убедитесь, что боту даны права на управление сообщениями и топиками

Шаг 5: Привязка бота к топику General

  1. Откройте топик General в вашем суперчате
  2. Напишите команду привязки:
/bind @your_bot_username

Замените @your_bot_username на имя вашего бота поддержки.

  1. После успешной привязки бот начнет принимать обращения клиентов в этом топике
  2. Все сообщения от клиентов будут автоматически распределяться по топикам в суперчате

✅ Готово!

Ваша система поддержки в Telegram полностью настроена. Клиенты вашего бизнеса смогут писать боту, а вы будете видеть все обращения в удобном интерфейсе суперчата с разделением по топикам.

📄 Лицензия

MIT

Releases

No releases published

Packages

No packages published