# StreamHelp support bot Telegram-бот поддержки: пересылает сообщения клиентов в чат поддержки, ответ оператора реплаем на сообщение клиента копируется обратно клиенту. Маппинг "сообщение в чате поддержки → чат клиента" хранится в SQLite. ## Деплой (systemd, Linux) ```bash # 1. Системный пользователь без shell/home sudo useradd --system --no-create-home --shell /usr/sbin/nologin support-bot # 2. Код sudo mkdir -p /opt/support-bot sudo cp support_bot.py requirements.txt /opt/support-bot/ cd /opt/support-bot sudo python3 -m venv .venv sudo ./.venv/bin/pip install -r requirements.txt # 3. Конфиг — реальные значения, не то, что лежит в репозитории sudo cp support-bot.env /etc/support-bot.env sudo nano /etc/support-bot.env # BOT_TOKEN и SUPPORT_CHAT_ID sudo chown support-bot:support-bot /etc/support-bot.env sudo chmod 600 /etc/support-bot.env # там токен бота # 4. Каталог под БД sudo mkdir -p /var/lib/support-bot sudo chown support-bot:support-bot /var/lib/support-bot # 5. Владелец кода sudo chown -R support-bot:support-bot /opt/support-bot # 6. systemd sudo cp support-bot.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now support-bot ``` ## Проверка ```bash sudo systemctl status support-bot sudo journalctl -u support-bot -f ``` Отправь `/start` боту в личку — должен прийти шаблонный текст. Затем отправь любое сообщение — оно должно появиться в чате поддержки (`SUPPORT_CHAT_ID`). Ответь на него реплаем из чата поддержки — ответ должен прийти клиенту. ## Как получить SUPPORT_CHAT_ID Добавь бота в чат поддержки, напиши туда любое сообщение и открой: `https://api.telegram.org/bot/getUpdates` — `chat.id` в ответе и есть нужное значение (для групп обычно отрицательное число). ## Обновление кода ```bash cd /opt/support-bot sudo -u support-bot ./.venv/bin/pip install -r requirements.txt # если менялись зависимости sudo systemctl restart support-bot ``` ## Файлы - `support_bot.py` — сам бот. - `support-bot.env` — **шаблон** конфига (в репозитории), реальный экземпляр живёт в `/etc/support-bot.env` на сервере и в git не попадает. - `support-bot.service` — systemd unit. - `requirements.txt` — зависимости (`python-telegram-bot` — используется async API v20+, более старые версии несовместимы с кодом).