Как это работает
- Пользователь отправляет сообщение в Чат X → Бот A
- Правило маршрутизации совпадает → сообщение пересылается через Бота B в Чат Y
- BotMux сохраняет сопоставление:
(source_bot, source_chat, source_msg) ↔ (target_bot, target_chat, target_msg) - Пользователь в Чате Y отвечает на пересланное сообщение
- BotMux проверяет
route_mappings→ находит исходный источник - Ответ отправляется через Бота A обратно в Чат X
Двунаправленное отслеживание
Каждый ответ создаёт новую запись сопоставления, обеспечивая непрерывные межботовые диалоги без потери контекста.Защита от циклов
Сообщения, исходящие от ботов (не от пользователей), не подвергаются обратной маршрутизации, что предотвращает бесконечные циклы.Хранение
Сопоставления маршрутов хранятся в таблицеroute_mappings SQLite с RouteID=0 для маршрутов, сгенерированных LLM.