OpenClaw Telegram 채널
grammY Bot API 프레임워크를 사용하여 OpenClaw를 Telegram에 연결합니다. @BotFather를 통해 Telegram 봇을 만들고 토큰을 받으면 몇 분 안에 AI 어시스턴트가 Telegram에서 작동합니다. 기본적으로 롱 폴링을 사용하며 선택적으로 Webhook 모드를 사용할 수 있습니다. 가장 쉽게 설정할 수 있는 채널 중 하나로, 인라인 버튼, 스티커, 리액션, 그룹 채팅 등 풍부한 기능을 지원합니다.
Telegram 지원 기능
텍스트 메시지
지원
미디어 및 파일
지원
리액션
지원
스레드
지원
음성 메시지
지원
그룹 채팅
지원
Telegram 사전 요구사항
- Telegram 계정
- @BotFather에서 받은 Bot Token (@BotFather에게 /newbot 전송)
- OpenClaw Gateway 실행 및 구성 완료
- 서버에 Node.js 18+ 설치
Telegram 빠른 설정
@BotFather로 봇 생성
Telegram을 열고 @BotFather를 검색한 후 /newbot을 전송합니다. 안내에 따라 봇 이름을 지정하고 API 토큰을 받습니다. 이 토큰을 안전하게 보관하세요 — 설정 시 필요합니다.
Telegram 채널 구성 추가
~/.openclaw/openclaw.json에 Telegram 채널 구성을 추가합니다. @BotFather에서 받은 봇 토큰을 botToken 필드에 붙여넣습니다. dmPolicy(pairing, allowlist 또는 open)를 설정하여 AI 어시스턴트와 대화할 수 있는 사용자를 제어합니다.
Gateway 시작 및 테스트
Gateway 프로세스를 시작합니다. Telegram에서 봇을 검색하고 메시지를 보냅니다. 기본 pairing 정책을 사용하는 경우 'openclaw pairing approve telegram <code>'로 발신자를 승인합니다. OpenClaw가 AI 어시스턴트를 통해 응답해야 합니다.
Telegram 구성 예시
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "YOUR_BOT_TOKEN_FROM_BOTFATHER",
"dmPolicy": "pairing"
}
}
}Telegram 상세 문서
아키텍처 개요
@BotFather로 봇 만들기
DM 정책
{
"channels": {
"telegram": {
"dmPolicy": "pairing",
"allowFrom": [123456789, 987654321]
}
}
}그룹 채팅 관리
{
"channels": {
"telegram": {
"groupPolicy": "open",
"requireMention": false,
"groups": ["-1001234567890"]
}
}
}메시지 포맷 및 스트리밍
{
"channels": {
"telegram": {
"streamMode": "partial",
"chunkMode": "newline"
}
}
}인라인 버튼
{
"channels": {
"telegram": {
"capabilities": {
"inlineButtons": "all"
}
}
}
}스티커 및 미디어
리액션
{
"channels": {
"telegram": {
"reactionNotifications": "own",
"reactionLevel": "ack"
}
}
}명령 및 도구
Webhook 모드
{
"channels": {
"telegram": {
"webhookUrl": "https://your-domain.com/telegram/webhook",
"webhookSecret": "your-random-secret-string"
}
}
}Telegram 구성 참조
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Telegram 채널 활성화 또는 비활성화 |
| botToken | string | "" | @BotFather의 Telegram Bot API 토큰. TELEGRAM_BOT_TOKEN 환경 변수도 지원 |
| dmPolicy | string | "pairing" | DM 접근 제어. 옵션: pairing, allowlist, open |
| allowFrom | number[] | [] | 허용된 Telegram 사용자 ID (dmPolicy가 allowlist일 때) |
| groupPolicy | string | "disabled" | 그룹 채팅 정책. 옵션: disabled, open, allowlist |
| groups | string[] | [] | 허용된 그룹 채팅 ID 목록 |
| requireMention | boolean | true | 그룹에서 @멘션 필요 여부 |
| streamMode | string | "partial" | 스트리밍 모드. 옵션: partial, block |
| chunkMode | string | "split" | 긴 응답 처리. 옵션: split, newline |
| webhookUrl | string | "" | Webhook 모드용 HTTPS URL |
| webhookSecret | string | "" | Webhook 검증용 비밀 토큰 |
| reactionNotifications | string | "off" | 리액션 알림. 옵션: off, own, all |
| reactionLevel | string | "ack" | 봇 리액션 기능. 옵션: off, ack, minimal, extensive |
| capabilities.inlineButtons | string | "off" | 인라인 버튼 모드. 옵션: off, dm, group, all, allowlist |
| configWrites | boolean | true | 슈퍼그룹 업그레이드 시 채팅 ID 자동 마이그레이션 |
Telegram 채널 활성화 또는 비활성화
@BotFather의 Telegram Bot API 토큰. TELEGRAM_BOT_TOKEN 환경 변수도 지원
DM 접근 제어. 옵션: pairing, allowlist, open
허용된 Telegram 사용자 ID (dmPolicy가 allowlist일 때)
그룹 채팅 정책. 옵션: disabled, open, allowlist
허용된 그룹 채팅 ID 목록
그룹에서 @멘션 필요 여부
스트리밍 모드. 옵션: partial, block
긴 응답 처리. 옵션: split, newline
Webhook 모드용 HTTPS URL
Webhook 검증용 비밀 토큰
리액션 알림. 옵션: off, own, all
봇 리액션 기능. 옵션: off, ack, minimal, extensive
인라인 버튼 모드. 옵션: off, dm, group, all, allowlist
슈퍼그룹 업그레이드 시 채팅 ID 자동 마이그레이션
Telegram 자주 묻는 질문
Telegram 문제 해결
프라이버시 모드가 기본적으로 활성화되어 있습니다. 봇은 @멘션과 슬래시 명령만 수신합니다.
잘못된 토큰, Gateway 미실행 또는 네트워크 문제.
Webhook URL 접근 불가, SSL 인증서 무효 또는 Webhook 미등록.
Telegram은 4,096자 메시지 제한이 있습니다. 긴 AI 응답은 자동으로 청크됩니다.