Integracja Telegram — konfiguracja i użycie

Jeden bot na projekt. Każdy worker AI dostaje własny topik w Telegram Supergroup — wiadomości są automatycznie routowane do właściwego workera, a odpowiedź wraca do tego samego topiku.


Jak to wygląda w praktyce

Supergroup "My Project"
├── 📌 General          ← czat ogólny (bez powiązania)
├── 🔵 Developer        ← wiadomości → worker Developer
└── 🟢 Consultant       ← wiadomości → worker Consultant

Piszesz w topiku Developer → Arc OS przetwarza przez Claude → odpowiedź pojawia się w tym samym topiku.

Telegram i CRM Dashboard to dwa kanały do tego samego workera. Możesz zacząć rozmowę w Telegramie, kontynuować w CRM — kontekst jest zachowywany.


Konfiguracja

Krok 1 — Utwórz bota w BotFather

  1. Otwórz @BotFather w Telegramie
  2. Wyślij /newbot
  3. Wpisz nazwę bota (np.: My Project)
  4. Wpisz username — musi kończyć się na bot (np.: my_project_arc_bot)
  5. BotFather zwróci token w formacie 123456789:AABBccDDee...

⚠️ Zachowaj token — będzie potrzebny przy konfiguracji w CRM.


Krok 2 — Utwórz Supergroup z Topics

2.1 Utwórz grupę

Telegram Desktop / Mobile:

  1. Kliknij ikonę ołówka → New Group
  2. Dodaj dowolnego uczestnika (można go potem usunąć)
  3. Nadaj grupie nazwę → Create

2.2 Włącz Topics

  1. Otwórz ustawienia grupy (kliknij nazwę u góry)
  2. Edit → znajdź sekcję Topics
  3. Włącz przełącznik — Telegram automatycznie skonwertuje grupę na Supergroup

2.3 Ustal Supergroup ID

Supergroup ID zawsze zaczyna się od -100.

Wariant A — przez @userinfobot:

  1. Prześlij dowolną wiadomość z grupy do bota @userinfobot
  2. Bot zwróci ID w formacie -1001234567890

Wariant B — przez Telegram Web:

  1. Otwórz grupę na web.telegram.org
  2. W pasku adresu będzie URL postaci #-1001234567890
  3. Skopiuj liczbę razem z minusem

Krok 3 — Dodaj bota jako administratora

  1. Otwórz ustawienia grupy → Administrators
  2. Add Admin → w wyszukiwarce wpisz @username_twojego_bota (pełny username z @)
  3. Wybierz bota z listy → OK
  4. Domyślne uprawnienia wystarczą — zostaw jak są

⚠️ Bot nie pojawi się w wyszukiwarce, jeśli wpiszesz niepełny username albo bez @. Wpisz dokładny @username.


Krok 4 — Utwórz topiki dla workerów

W grupie kliknij +New Topic:


Krok 5 — Podłącz w CRM

  1. Otwórz arc-os.co → wybierz projekt → Project Settings
  2. Znajdź sekcję Channels → kliknij Connect Telegram

5.1 Wprowadź dane bota

Pole Co wpisać
Bot Token Token z BotFather (123456789:AABBcc...)
Supergroup ID ID grupy (-1001234567890)

Kliknij Verify & get topics.

5.2 Weryfikacja

CRM sprawdzi:

5.3 Powiąż topiki z workerami

Dla każdego topiku wybierz workera z dropdownu:

Developer  →  [developer     ▾]
Consultant →  [consultant    ▾]
General    →  [(niepowiązany)]

Kliknij Save bindings.


Krok 6 — Test

  1. Napisz dowolną wiadomość w topiku Developer
  2. Bot odpowie w tym samym topiku jako worker Developer
  3. Powtórz dla Consultanta

Codzienne użycie

Praca przez topiki (zalecane)

Po prostu pisz treść zadania w odpowiednim topiku — żadne prefiksy nie są potrzebne:

[topik Developer]
Napraw bug w formularzu logowania — pole email nie jest walidowane

[topik Consultant]
Przeanalizuj architekturę modułu auth, co można poprawić?

Jeśli topik nie jest powiązany z workerem — odpowiada worker domyślny.


Komendy w prywatnym czacie z botem

W prywatnym czacie z botem dostępne jest ręczne przełączanie workerów przez prefiksy:

Prefiks Worker Przeznaczenie
/c <tekst> Consultant Analiza, strategia, read-only
/d <tekst> Developer Kod, pliki, terminal
/w:<worker_id> <tekst> Niestandardowy Dowolny worker z rejestru
(bez prefiksu) Aktywny Ostatnio używany

Przykłady:

/c Przeanalizuj architekturę modułu auth
/d Napraw bug w formularzu logowania
/w:sentinel Przeprowadź security audit ostatnich zmian

Wiadomość bez prefiksu trafia do bieżącego aktywnego workera — po /d Napraw bug kolejne wiadomości bez prefiksu też pójdą do Developera.


Przyciski inline pod odpowiedzią

Po każdej odpowiedzi workera AI pojawiają się przyciski sterujące:

Sterowanie procesem:

Przycisk Działanie
🛑 STOP Zatrzymaj Claude (jeśli poszedł w złą stronę albo zawiesił się)
⏸️ PAUSE Wstrzymaj — przydatne, żeby na coś poczekać przed kontynuacją
▶️ RESUME Wznów wstrzymany proces

Kontekst i feedback:

Przycisk Działanie
💡 BTW Dodaj kontekst — następna wiadomość zostanie dołączona jako kontekst do kolejnego zapytania
🛠️ Fix It Powtórz zadanie z automatycznymi poprawkami
👍 Pozytywny feedback — zapisywany w metrykach
👎 Negatywny feedback — automatycznie tworzy regułę korekty uwzględnianą w kolejnych zapytaniach

Nawigacja:

Przycisk Działanie
🏷️ Skills Pokaż skille użyte do odpowiedzi
📊 View Log Otwórz log sesji w CRM

Kontekst i pamięć


Komendy sterujące bota

Komenda Opis
/ping Sprawdź, czy bot żyje + uptime
/thread Rozmiar bieżącego kontekstu (liczba wiadomości)
/quality Metryki jakości: wywołania, feedback, średni czas odpowiedzi
/issue list Lista otwartych zgłoszeń projektu
/issue create <nazwa> Utwórz nowe zgłoszenie
/issue switch <id> Przełącz aktywne zgłoszenie
/continue Kontynuuj sesję w kontenerze Cloud
/specs Lista specyfikacji (draft / review / approved)
/approve <id> Zatwierdź specyfikację
/reject <id> [powód] Odrzuć specyfikację

Powiązanie z CRM Dashboard

Topik Telegram  ──┐
                  ├──► Child Bot ──► Claude ──► Odpowiedź
CRM Dashboard   ──┘                              │
                                                 ▼
                                        Telegram + CRM (jednocześnie)

Odłączenie bota

CRM → Project Settings → Channels → Disconnect.

To usunie token i wszystkie powiązania topików. Bot pozostanie w grupie — usuń go z administratorów ręcznie, jeśli trzeba.


Rozwiązywanie problemów

Problem Rozwiązanie
Bot nie odpowiada w topiku Sprawdź, czy bot jest administratorem grupy. Sprawdź powiązanie topiku w CRM → Channels. W prywatnym czacie → /ping
Długi czas odpowiedzi Developer (Opus) jest wolniejszy niż Consultant (Sonnet). Do analiz i pytań używaj Consultanta
Odpowiedź jest ucinana Limit Telegrama 4096 znaków — bot automatycznie dzieli na [1/3], [2/3] itd.
Bota nie da się znaleźć przy dodawaniu do grupy Wpisuj pełny username z @: @arc_os_project_bot
"Invalid bot token" przy weryfikacji Sprawdź token — format digits:letters, bez spacji
"Bot is not admin" przy weryfikacji Dodaj bota przez Administrators → Add Admin → @username_bota
"supergroup_id must start with -100" ID musi być postaci -1001234567890. Włącz Topics, aby skonwertować grupę na Supergroup
👎 nie tworzy reguły korekty Klikaj 👎 dokładnie pod odpowiedzią workera, a nie pod wiadomością systemową