Files
2026-08-12 14:48:42 +03:00

3.6 KiB

StreamHelp support bot

Telegram-бот поддержки: пересылает сообщения клиентов в чат поддержки, ответ оператора реплаем на сообщение клиента копируется обратно клиенту. Маппинг "сообщение в чате поддержки → чат клиента" хранится в SQLite.

Быстрый деплой (screen)

Один скрипт: качает репозиторий прямо в /opt/support-bot (без вложенных папок), ставит зависимости в venv, поднимает бота в screen-сессии.

curl -fsSL https://git.twitchmagic.pro/AdministratorEbaka1337/streamhelp-bot/raw/main/deploy.sh | bash

Первый запуск остановится на заполнении /etc/support-bot.env — впиши туда BOT_TOKEN и SUPPORT_CHAT_ID (см. ниже, как достать) и прогони скрипт ещё раз. Каждый следующий запуск сам подтягивает свежий код и перезапускает screen-сессию — этим же скриптом обновляешь бота при новом деплое.

screen -r support-bot   # посмотреть логи/вывод бота
# Ctrl+A, D — выйти из сессии, не убивая бота

Как получить SUPPORT_CHAT_ID

Добавь бота в чат поддержки, напиши туда любое сообщение и открой: https://api.telegram.org/bot<TOKEN>/getUpdateschat.id в ответе и есть нужное значение (для групп обычно отрицательное число).

Проверка

Отправь /start боту в личку — должен прийти шаблонный текст. Затем отправь любое сообщение — оно должно появиться в чате поддержки (SUPPORT_CHAT_ID). Ответь на него реплаем из чата поддержки — ответ должен прийти клиенту.

Альтернатива: systemd

Для постоянной эксплуатации (автозапуск при перезагрузке, автоперезапуск при падении, отдельный системный пользователь) в репозитории есть готовый unit — support-bot.service. Тот же deploy.sh кладёт код и venv в /opt/support-bot, дальше:

sudo useradd --system --no-create-home --shell /usr/sbin/nologin support-bot
sudo chown -R support-bot:support-bot /opt/support-bot /var/lib/support-bot
sudo chown support-bot:support-bot /etc/support-bot.env
sudo cp /opt/support-bot/support-bot.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now support-bot
sudo journalctl -u support-bot -f

Файлы

  • support_bot.py — сам бот.
  • support-bot.envшаблон конфига (в репозитории), реальный экземпляр живёт в /etc/support-bot.env на сервере и в git не попадает.
  • deploy.sh — деплой в screen (клонирует/обновляет, venv, зависимости, запуск).
  • support-bot.service — systemd unit, для постоянной эксплуатации.
  • requirements.txt — зависимости (python-telegram-bot — используется async API v20+, более старые версии несовместимы с кодом).