2303515cb7c2005c2f18ad77142ea966b5a87773
StreamHelp support bot
Telegram-бот поддержки: пересылает сообщения клиентов в чат поддержки, ответ оператора реплаем на сообщение клиента копируется обратно клиенту. Маппинг "сообщение в чате поддержки → чат клиента" хранится в SQLite.
Деплой (systemd, Linux)
# 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
Проверка
sudo systemctl status support-bot
sudo journalctl -u support-bot -f
Отправь /start боту в личку — должен прийти шаблонный текст. Затем отправь
любое сообщение — оно должно появиться в чате поддержки (SUPPORT_CHAT_ID).
Ответь на него реплаем из чата поддержки — ответ должен прийти клиенту.
Как получить SUPPORT_CHAT_ID
Добавь бота в чат поддержки, напиши туда любое сообщение и открой:
https://api.telegram.org/bot<TOKEN>/getUpdates — chat.id в ответе и есть
нужное значение (для групп обычно отрицательное число).
Обновление кода
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+, более старые версии несовместимы с кодом).
Languages
Python
72.5%
Shell
27.5%