# 📡 Node #2 — Telegram бот-аналітика (23.11.2025) **Мета:** перевірити всі Telegram боти, прив’язані до агентів НОДА2, зафіксувати стан сервісів (STT, TTS, Parser, Web Search, Vision) та результати по кожному агенту. --- ## 1. Зведена таблиця ботів | # | Агент / Бот | Username | Token prefix | Нода / Модель | Статус до фіксу | Статус після фіксу | Коментар | |---|-------------|----------|--------------|---------------|-----------------|--------------------|----------| | 1 | DAARWIZZ | @DAARWIZZBot | 83234123 | Node1/Node2 · qwen3:8b | не відповідає | ✅ активний | Автоініціалізація + polling | | 2 | Helion | @HelionEnergyBot | 81120625 | Node1/Node2 · qwen3:8b | не відповідає | ✅ активний | system_prompt + STT/TTS | | 3 | GREENFOOD | @greenfoodliveBot | 74951653 | Node1 · qwen3:8b | не підключений | ✅ активний | Додано у bots.yaml | | 4 | CLAN | @clan_bot | 85168721 | Node2 · DeepSeek | токен відсутній | ⏳ чекає токен | Потрібно отримати новий BotFather токен | | 5 | Soul | @soul_bot | 80415964 | Node2 · qwen3:8b | токен не внесено | ⏳ чекає токен | Ready після отримання | | 6 | DRUID | @druid_bot | 81456184 | Node2 · qwen3:8b | токен не внесено | ⏳ чекає токен | Той самий gateway | | 7 | EONARCH | @eonarch_bot | 79623915 | Node2 · DeepSeek | токен не внесено | ⏳ чекає токен | DeepSeek модель | | 8 | Яромир | @yaromir_bot | 81281806 | Node2 · qwen3:8b / DeepSeek | токен не внесено | ⏳ чекає токен | Використовує CrewAI | | 9 | NUTRA | — | PLACEHOLDER | Node2 · qwen3:8b | токен відсутній | 🔴 потрібен бот | Потрібно зареєструвати | | 10 | Dario | Discord | — | Node2 · qwen3:8b | Discord only | 🔄 прогрес | Поза Telegram | > ✅ – бот зареєстрований у `telegram-gateway`, polling активний. > ⏳ – gateway готовий, потрібно тільки токен. > 🔴 – немає ні токена, ні бота. --- ## 2. Сервіси, що задіяні | Сервіс | URL (Node1) | Опис | Статус | |--------|-------------|------|--------| | Local Telegram Bot API | `http://144.76.224.179:8081` | офіційний Telegram API (long polling) | ✅ | | telegram-gateway | `http://144.76.224.179:8000` | FastAPI, multi-bot, NATS | ✅ | | NATS | `nats://144.76.224.179:4222` | черга `agent.telegram.update` | ✅ | | DAGI Router | `http://144.76.224.179:9102` | маршрутизація до LLM | ✅ | | STT Service | `http://dagi-stt:9000/stt` | розпізнавання voice/audio | ✅ (через docker network) | | TTS Service | `http://dagi-tts:9100/tts` | відповіді голосом | ✅ | | Parser Service | `http://dagi-parser:9400` | PDF / DOC | ✅ | | Vision / Swapper | `http://144.76.224.179:8890` | qwen3-vl:8b (vision) | ✅ | | Web Search bridge | Router `mode=web_search` | використовується при запитах | ✅ | --- ## 3. Що саме виправлено 1. **Автоініціалізація ботів** - Додано завантаження `bots.yaml` при старті (`app/main.py`). - Gateway перезапускає polling для кожного активного бота. 2. **Повний Telegram listener** - `telegram_listener.py` отримав підтримку: - текстових, голосових, аудіо, video-note повідомлень; - фото з передачою `file_url`; - PDF документів (parser); - автоматичний STT (до 60 секунд, `handle_voice_message`); - metadata → Router для Vision/Parser. 3. **STT / TTS / Parser маршрут** - Події з `metadata` обробляє `router_handler`: - `_handle_photo` → vision спеціаліст; - `_handle_document` → parser + контекст; - `_text_to_speech` → відповіді голосом. 4. **Нові API в telegram-gateway** - `GET /bots/status/{agent_id}` – для UI; - `DELETE /bots/{agent_id}` – відʼєднати бота; - CORS дозволяє звертатися з `http://localhost:8899`; - подія `bot.unregistered` у NATS. 5. **UI модуль "Підключення до Telegram бота"** - У кабінеті кожного агента (`/agent/:agentId`) новий блок: - показує статус (registered/polling); - підключення через токен від @BotFather; - відʼєднання одним кліком; - авто-оновлення раз на 20 секунд. --- ## 4. Як перевірити 1. **Деплой gateway** ```bash cd telegram-infrastructure docker compose up -d --build telegram-gateway ``` 2. **Перевірити health** ```bash curl -s http://localhost:8000/healthz ``` 3. **Список ботів** ```bash curl -s http://localhost:8000/bots/list | jq ``` 4. **Статус конкретного агента** ```bash curl -s http://localhost:8000/bots/status/helion | jq ``` 5. **UI** - Відкрити `http://localhost:8899/agent/helion` - Використати модуль **"Підключення до Telegram бота"** --- ## 5. Наступні кроки 1. **Отримати токени** для CLAN, Soul, DRUID, EONARCH, Яромир, NUTRA. 2. **Додати secrets до `telegram-gateway/bots.yaml`** та перезапустити сервіс. 3. **Розширити router-config** (LLM профілі) для нових агентів, щоби вони отримували власний `system_prompt`. 4. **Підготувати шаблони промптів** у `docs/prompts/telegram/`. --- ✅ **Результат:** боти НОДА2 можуть отримувати текст, голос, фото, PDF, виконувати веб-пошук та відповідати голосом. UI для підключення доступний у кожному агентському кабінеті.