Построение моста между двумя Telegram-ботами в одном групповом чате: семантика доставки по HTTP

Соединить двух независимых Telegram-ботов в одном групповом чате сложнее, чем кажется. Разработчик на r/openclaw рассказывает о своем опыте создания промежуточного слоя, поскольку Telegram не гарантирует доставку сообщений от одного бота другому в группе — хотя люди видят оба сообщения.
Основная проблема
Telegram не передает обновления Боту B, когда Бот A отправляет сообщение в группу. Поэтому команда построила небольшой мост, обходящий ограничения Telegram:
- Бот B → Бот A: Бот B отправляет сообщение через HTTP-точку (шлюз) для связи с Ботом A.
- Бот A → Бот B: Бот A предоставляет выбранные исходящие сообщения через контролируемую ленту, которую опрашивает Бот B.
- Сообщения содержат метаданные:
source,direction,chat ID,nonceи флагsafe_to_bridge. - Подтверждения: Бот B может подтвердить получение конкретного сообщения, гарантируя, что хотя бы один переход сработал.
- Общая лента содержит только контекст группы, безопасный для моста — никаких личных сообщений или постороннего трафика.
- Локальный опросчик Бота B отсеивает старые, отладочные, протокольные и служебные сообщения, дедуплицирует события и пропускает только свежие реплики диалога.
Уроки первой версии
Первая реализация была слишком нестрогой: сырой контекст Telegram просачивался в общую ленту, вызывая недоумение: «Откуда другой бот это знает?» Исправление заключалось в переходе от сырых общих логов к явным событиям, безопасным для моста.
Текущее состояние работает в контролируемых тестах:
- Бот B → Бот A через ретранслятор
- Бот A → Бот B через ленту
- Подтверждения проходят через путь ретранслятора
- Безопасное автоматическое зеркалирование для сообщений, явно адресованных одному боту
Желаемый поток
Целевой цикл общения:
- Человек или Бот A пишет сообщение, адресованное Боту B.
- Мост безопасно зеркалирует его.
- Бот B видит его один раз, отвечает один раз.
- Ответ зеркалируется обратно, если это безопасно и уместно.
- Без дубликатов, устаревших сообщений, утечек личных сообщений, отладочного эха или бесконечных циклов бота.
Направление архитектуры
Автор предлагает рассматривать мост как небольшую шину событий, а не как хак для чата:
- Строгие идентификаторы сообщений и nonce
- Подтверждения, дедупликация, контрольные точки
- Ограниченные ленты с жестким разделением между личным и общегрупповым контекстом
Самое сложное — семантика доставки: свежесть, дедупликация, подтверждения и решение, когда бот должен автоматически отвечать, чтобы не вызвать бесконечных циклов.
📖 Читать полный источник: r/openclaw
👀 Смотрите также

Camoufox Cookie Injection: браузинг Reddit от вашего имени пока агент работает
Подробный гайд по обходу защиты Reddit через извлечение cookies из Firefox и инъекцию в Camoufox через Playwright.

Экономичная настройка мультиагента OpenClaw с использованием моделей подписки
Пользователь Reddit описывает маршрутизацию всех операций мультиагентной системы OpenClaw через существующие подписки Anthropic Pro Max за $200 и ChatGPT OpenAI Codex за $200 вместо прямых вызовов API, используя более дешёвые модели Anthropic для простых агентов и более сложные модели для других задач.

Использование Claude для анализа стилей письма с целью улучшения пользовательских инструкций
Пользователь Reddit описывает метод создания более эффективных пользовательских инструкций, предлагая Клоду проанализировать 10 образцов письма для выявления конкретных паттернов, таких как избегание определённых знаков препинания и источники аналогий, вместо того чтобы полагаться на субъективные описания тона.

Практические решения для повышения надёжности OpenClaw
Разработчик делится восемью конкретными техниками, которые улучшили его настройку OpenClaw, включая трёхуровневую систему памяти с ежедневными логами и графом знаний, управление активационными баллами и принудительное применение правил через файлы.