Telegram

Telegram을 통해 CLI-JAW 에이전트를 원격으로 제어하세요. 메시지 전송, 응답 수신, 에이전트 출력 전달, STT를 활용한 음성 메시지 처리, 슬래시 명령어 사용까지 -- 모두 휴대폰에서 가능합니다.

설정

1. BotFather로 봇 생성

  1. Telegram에서 @BotFather를 엽니다
  2. /newbot을 보내고 안내에 따릅니다
  3. 봇 토큰을 복사합니다 (123456:ABC-DEF... 형태)

2. settings.json 구성

{
  "telegram": {
    "token": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
    "allowedChatIds": [],
    "forwardAll": true
  }
}
처음에는 allowedChatIds를 비워 두세요. 봇에 /id를 보내 채팅 ID를 확인한 후, 보안을 위해 배열에 추가하세요.

3. 대안: jaw init 사용

jaw init --channel telegram --telegram-token "YOUR_TOKEN"

메시지 송수신

전달

forwardAlltrue이면 에이전트의 agent_done 결과가 자동으로 Telegram 채팅으로 전달됩니다. Telegram에서 시작된 결과는 에코를 방지하기 위해 제외됩니다.

/forward on   # Enable forwarding
/forward off  # Disable forwarding

파일 전송

에이전트는 채널 전송 API를 사용하여 Telegram으로 파일을 보낼 수 있습니다:

POST /api/telegram/send
POST /api/channel/send  # Unified endpoint (preferred)

파일은 20MB 크기 제한에 따라 검증됩니다. Telegram 메시지는 4096자 단위로 분할되며 Telegram HTML 형식으로 변환됩니다.

그룹 채팅

그룹/슈퍼그룹 채팅에서는 @botUsername으로 멘션할 때만 봇이 응답합니다. 멘션은 처리 전에 메시지에서 자동으로 제거됩니다.

사용 가능한 명령어

Telegram에서 27개의 슬래시 명령어를 사용할 수 있습니다 (Discord와 동일한 세트). 봇 전용 명령어:

명령어설명
/start환영 메시지
/id채팅 ID 표시
/settings봇 설정 (서버가 아닌 봇에서 처리)

환경 변수

환경 변수를 통해 설정을 재정의할 수 있습니다:

TELEGRAM_TOKEN=123456:ABC-DEF...
TELEGRAM_ALLOWED_CHAT_IDS=12345,67890