Skip to content

Balbuto/tg-support-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ Особенности

📋 Интеллектуальная система FAQ с категориями и вопросами

🔍 Мощный поиск по базе знаний с поддержкой русского языка

️ Полноценная админ-панель для управления контентом

📊 Подробная статистика использования и аналитика

💾 Автоматические бэкапы и восстановление данных

🐳 Полная Docker контейнеризация

🇷🇺 Поддержка русского языка

🔧 CRUD операции через Telegram интерфейс

🔔 Интеграция с поддержкой (Telegram, email, телефон)

Обновление до версии 1.1

Добавлено

Полная система управления настройками бота через админ-панель

Возможность изменять имя и описание бота

Управление администраторами (добавление/удаление по ID)

Настройки поддержки (Telegram username, email, телефон, рабочие часы)

Управление резервным копированием (включение/отключение, настройка интервалов)

Настройки безопасности (таймаут сессии, максимальное количество попыток входа)

Настройки производительности (TTL кэша, таймаут запросов, максимальные соединения)

Динамические настройки (возможность добавлять пользовательские параметры)

Автоматическое создание файла настроек при первом запуске

Поддержка динамической загрузки настроек из файла data/settings.json

Для обновления используйте команду:

cd /opt/tg-support-bot && docker compose down && docker compose pull && docker compose up -d

Для запуска нескольких инстансов используйте команду:

docker compose -f docker-compose.scale.yml up -d

🚀 Быстрый старт

1. Установите необходимое для запуска Docker контейнеров

sudo curl -fsSL https://get.docker.com | sh

2. Перейдите в директорию проектов (обычно /opt)

cd /opt/

3. Скачайте необходимые файлы

git clone https://github.com/Balbuto/tg-support-bot.git

4. Перейдите в папку и с ботом и сделайте все дополнительные скрипты исполняемыми

cd /opt/tg-support-bot && chmod +x scripts/*.sh

5. Запустите скрипт первоначальной настройки

./scripts/setup.sh

6. Отредактируйте файл конфигурации .env

nano .env

7. Запустите скрипт развертывания бота

./scripts/deploy.sh

🔑 Получение токена бота

Найдите @BotFather в Telegram

Отправьте команду /newbot

Следуйте инструкциям:

  1. Введите имя бота (будет отображаться пользователям): 🏢 Техподдержка компании

  2. Введите username бота (должен заканчиваться на 'bot'): mycompany_support_bot

  3. ✅ Готово! Ваш токен: 1234567890:ABCdefGHIjklMNOpqrSTUvwxYZ

🆔 Получение ID администратора

Найдите @userinfobot в Telegram

Отправьте команду /start

Скопируйте ваш ID из сообщения бота

Добавьте ID в .env файл:

ADMIN_IDS=111111111 # Ваш Telegram ID

📋 Основные функции

Для пользователей:

📋 Просмотр FAQ по категориям

🔍 Поиск по вопросам и ответам

💬 Связь с поддержкой (Telegram, email, телефон)

👍 Обратная связь по полезности ответов

📱 Удобный интерфейс с inline-кнопками

Для администраторов:

➕ Добавление/удаление категорий

✏️ Редактирование вопросов и ответов

📊 Просмотр статистики использования

💾 Экспорт/импорт данных в JSON формате

🔧 Управление контентом через удобный интерфейс

🛠️ Управление ботом

Основные команды Docker

Запуск бота

docker compose up -d

Остановка бота

docker compose down

Перезапуск бота

docker compose restart bot

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

docker compose logs -f bot

docker compose logs --tail=100 bot

docker compose logs bot | grep ERROR

Проверка статуса

docker compose ps

docker compose images

Обновление до последней версии

docker compose pull && docker compose up -d --force-recreate

📊 Мониторинг и обслуживание

Скрипт проверки здоровья

scripts/healthcheck.sh

Запуск Telegram Support Bot

scripts/start.sh

Остановка Telegram Support Bot

scripts/stop.sh

Перезапуск Telegram Support Bot

scripts/restart.sh

Просмотр логов сервиса

scripts/logs.sh

Статус системы

scripts/status.sh

Создание резервной копии данных

scripts/backup.sh

Восстановление из резервной копии

scripts/restore.sh

Автоматическое обслуживание

Добавьте в crontab для автоматических задач:

Откройте crontab crontab -e

Добавьте задачи обслуживания

Ежедневная проверка здоровья в 6:00

0 6 * * * /path/to/support-bot/scripts/healthcheck.sh >> /path/to/support-bot/logs/healthcheck.log 2>&1

Очистка старых логов каждый понедельник

0 2 * * 1 find /path/to/support-bot/logs -name "*.log" -type f -mtime +30 -delete

Проверка обновлений образа каждый месяц

0 3 1 * * cd /path/to/support-bot && docker-compose pull && docker-compose up -d

🔧 Устранение неполадок

Распространенные проблемы и решения

Проблема: Бот не запускается

Проверьте логи

docker compose logs bot --tail=50

Проверьте токен бота

echo $BOT_TOKEN

Перезапустите с чистого листа

docker compose down -v

docker compose up -d

Проблема: Ошибки подключения к PostgreSQL

Проверьте статус PostgreSQL

docker compose ps postgres

Проверьте логи PostgreSQL

docker compose logs postgres

Проверьте доступность порта

docker exec support_bot_postgres pg_isready -U postgres

Пересоздайте базу данных (заранее подготовьте резервную копию)

docker compose down -v

rm -rf data/*

docker compose up -d

❓ FAQ

Как добавить несколько администраторов?

Укажите их ID через запятую в .env:

ADMIN_IDS=563470213,987654321,123456789

Как изменить язык интерфейса?

В текущей версии интерфейс только на русском языке. Для изменения нужно модифицировать исходный код.

Как настроить автоматические бэкапы?

Настройки уже встроены в .env:

BACKUP_INTERVAL_HOURS=24 # Каждые 24 часа

BACKUP_KEEP_DAYS=30 # Хранить 30 дней

ENABLE_BACKUP=true # Включить автобэкапы

Как увеличить производительность?

Настройте параметры в .env:

MAX_CONNECTIONS=20 # Увеличьте для высокой нагрузки

CACHE_TTL_MINUTES=10 # Увеличьте время кэширования

QUERY_TIMEOUT_SECONDS=60 # Увеличьте таймаут запросов

🎉 Поздравляем!

Ваш Telegram Support Bot успешно установлен и готов к работе!

Для начала работы:

Найдите бота в Telegram по его username

Отправьте команду /start

Начните добавлять вопросы через админ-панель

Настройте интеграцию с поддержкой (email, телефон)

About

Телеграм бот для организации технической поддержки

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors