Бот Telegram
Пятый способ дотянуться до агента — на случай «пришло уведомление, надо ответить прямо сейчас, а компьютер далеко». Входящий маршрут до машины ему не нужен: бот сам ходит наружу.
Как привязать
- Возьмите токен у @BotFather и вложите его в настройках приложения (в докере —
TELEGRAM_BOT_TOKENв.env). - Нажмите «Получить код» и отправьте боту
/start КОД. Код живёт 10 минут.
Список команд и кнопку меню бот ставит себе сам, в @BotFather за этим ходить не нужно.
Что он умеет
- присылает вопросы агента кнопками вариантов — ответ уходит в сессию;
- присылает завершённые ответы целиком;
- обычное сообщение уходит в сессию: не выбирали, в какую, — значит, в ту, где работа идёт прямо сейчас.
Команды: /chats, /new, /where, /agents, /status, /stop, /app. Всё, что сложнее ответа, открывается кнопкой в самой веб-морде.
Как выглядит ответ
Rich-сообщением с исходным Markdown: заголовки, таблицы с выравниванием, списки и задачи, цитаты, сноски, формулы и спойлеры Telegram рисует сам, а предел сообщения — 32768 символов вместо 4096.
Если Bot API этого не умеет, бот один раз это замечает и дальше шлёт прежней HTML-разметкой, где широкая таблица разворачивается построчно, а не уезжает в горизонтальную прокрутку.
Привязанный чат — это права хозяина машины
Чат, привязанный к боту, пишет агенту с вашими правами. Поэтому привязка идёт одноразовым кодом, а неизвестному чату бот молчит. Для чата, которому нужны только уведомления, есть режим «только читать».
Одна беда, о которой все спотыкаются
409 Conflict значит, что одного бота крутят двое: один токен — один полинг. Clauder в докере и он же в приложении не могут держать одного бота вдвоём — заведите второго бота или выключите полинг в одном из них.