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>/getUpdates — chat.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+, более старые версии несовместимы с кодом).