Документация · настройка Hermes Telegram

Настройка Hermes Telegram

Токен, числовой id, polling или webhook, домашний чат и сервис. Чтобы бот жил после SSH logout — сначала установка Hermes на VPS.

Полный upstream-разбор — в официальном разделе Messaging / Telegram. Здесь собран контур, который нужен на VPS в первый вечер. Сначала закончите установку Hermes на VPS.

1. Создайте бота

  1. Откройте @BotFather и отправьте /newbot.
  2. Имя любое, username должен оканчиваться на bot.
  3. Сохраните токен вида 123456789:AAH.... Это секрет: кто его знает, тот пишет вашему агенту.

Полезно сразу задать /setdescription, аватар и меню команд. Для старта хватит:

help - Справка
new - Новый разговор
sethome - Сделать этот чат домашним

2. Узнайте числовой id

Hermes пускает людей по числу, не по @username. Напишите @userinfobot и сохраните id. Его спросит мастер настройки.

3. Подключите шлюз

hermes gateway setup
hermes gateway

Выберите Telegram, вставьте токен и allowlist. Сообщение себе в бота — проверка, что канал живой. Если тишина, почти всегда виноват токен, id или то, что вы пишете с другого аккаунта.

Ручной вариант — переменные в ~/.hermes/.env:

TELEGRAM_BOT_TOKEN=123456789:AAH...
TELEGRAM_ALLOWED_USERS=123456789

4. Webhook или polling

По умолчанию шлюз ходит в Telegram сам (long polling). На VPS за NAT это правильный путь: входящие порты не нужны, UFW держит только SSH.

Webhook — наоборот: Telegram стучится на ваш HTTPS. Имеет смысл за своим доменом и nginx, когда не хотите держать исходящий цикл или ставите несколько инстансов. Без валидного сертификата webhook молчит, и это не «сломался Hermes».

Мы в бою почти всегда оставляем polling. Меньше движущихся частей, проще отладка journalctl.

5. Закрепите домашний чат

После первого ответа в боте выполните в этом чате команду вроде /sethome (или скажите агенту «сделай этот чат домашним»). Cron, дайджесты и алерты должны знать, куда писать. Иначе отчёт уедет в последний активный диалог или никуда.

Проверка: попросите отложенную задачу на две минуты и не пишите боту. Сообщение должно прийти само. Если нет — смотрите home channel в конфиге, не токен.

6. Группы и privacy mode

По умолчанию бот в группе видит только команды, ответы себе и служебные сообщения. Чтобы он слышал обычный чат, в BotFather выключите Group Privacy или сделайте бота админом. После смены privacy бота нужно выгнать из группы и добавить снова — Telegram кэширует режим на момент вступления.

Если нужно только наблюдать болтовню и отвечать по упоминанию, в конфиге включают require_mention и явный список чатов. Не открывайте бота всему интернету «на посмотреть».

7. Сделайте его службой

Процесс hermes gateway в SSH умрёт на logout. На сервере:

hermes gateway install
hermes gateway start
sudo loginctl enable-linger "$USER"

Либо sudo hermes gateway install --system. Критерий готовности — ответ бота после reboot без повторного логина. Короткий разбор — в статье Hermes в Telegram.

FAQ

Создайте бота в BotFather, узнайте числовой id, выполните hermes gateway setup и оформите сервис с linger. Сначала должна отвечать CLI-установка Hermes на VPS.
На обычном VPS берите polling: исходящие запросы, без белого HTTPS. Webhook нужен, если хотите входящий endpoint за nginx и своим сертификатом.
Команда sethome говорит шлюзу, куда слать cron и дайджесты. Без этого отложенные задачи теряются в «последнем чате».