본문 바로가기
IT/AI

[실전 가이드] 오픈클로(OpenClaw. 구 Clawdbot)를 텔레그램(Telegram) Group Policy allowList 활용하기(feat. 그룹 채팅방에서 대화하기)

by twofootdog 2026. 3. 3.
반응형

안녕하세요

지난시간에는 오픈클로(OpenClaw) 봇과 텔레그램(Telegram) 메신저에 연동 후, 텔레그램을 통해서 오픈클로 봇을 다뤄봤습니다.

이번 시간에는 오픈클로 채널설정에서 Group Policy allowList를 설정해서 오픈클로 봇을 텔레그램의 특정 비공개 그룹(단톡방)에 초대하여 대화를 해보도록 하겠습니다. 

[목차여기]

 

 


1. 사전 준비사항(prerequisite)

 


2. 텔레그램 봇 설정 변경 및 그룹 생성

① 텔레그램 봇의 프라이버시 설정 변경

텔레그램 봇을 저 말고 다른 유저도 접근할 수 있게, 프라이버시 설정을 변경해 줍니다.

@BotFather에서 다음과 같이 명령어를 수행하면 됩니다.

/setprivacy
@봇이름
Disable

 

 

② 텔레그램 그룹 채팅방 생성

다음으로 텔레그램 그룹 채팅방을 생성해줍니다(채널이 아니라 그룹입니다). 2개의 그룹 채팅방을 생성하고 이름은 봇테스트1,2로 작성합니다.

그리고 해당 봇테스트1,2에 모두 봇을 초대해줍니다(관리자로 초대).

 

 

② 텔레그램 그룹 채팅방에서 봇과 대화

이제 봇에게 말을 걸어보겠습니다. 맨션을 걸어서 대화해 보면 2개 그룹 채팅방(봇테스트1,2) 에 있는 봇 모두 대답을 해줍니다(아무런 설정이 되어 있지 않기 때문에 pairing 설정이 걸린 제 계정에는 잘 대답을 해줍니다)

 

 

 

③ 텔레그램 그룹 채팅방 id 추출

이제 텔레그램 그룹 채팅방 id를 추출해 보겠습니다.

우리가 원하는건 우리가 모르는 모든 채팅방에 불려가서 대화를 할 수 있는 봇 설정이 아닌 특정 그룹 채팅방에서만 봇이 대화하는 것입니다. 

그러기 위해서는 그룹 채팅방 id를 오픈클로 설정(allowlist) 에 등록해서 그 채팅방에서만 봇이 대화할 수 있게 권한을 부여해 줘야 합니다

그룹 채팅방 id 추출하는 방법은 다음와 같습니다(이 실습에서는 "봇테스트1" 그룹 채팅방만 권한을 부여할 겁니다)

  • 봇이 대화할 수 있는 권한을 부여할 채팅방에 아무 메시지나 보내기
  • 메시지를 보내자마자 바로 브라우저 창에서 아래 URL 입력(※ 진짜 바로 하셔야 합니다. 안그러면 result가 빈값이 나옵니다)
    https://api.telegram.org/bot<텔레그램 봇 토큰>/getUpdates
    예 : https://api.telegram.org/bot846xxxxxxx:AAE9xxxxxxxxxxxxxxxxxxxxxxxxxx/getUpdates
     
  • 브라우저 창에 나오는 텔레그램 그룹 채팅방 id 복사(id는 -100으로 시작하는 값입니다)

 

 


3. 오픈클로(OpenClaw) 설정 변경

다음으로 오픈클로 대시보드에서 채널 설정을 변경해 보겠습니다.

오픈클로 대시보드 -> Channels로 이동합니다

① allowList 추가

다음과 같이 Group Policy를 allowList로 변경 후 Groups 정책을 입력합니다. Group Allow From과 Group Policy 하위의 Custom entries에는 은 조금 전 복사한 텔레그램 그룹 채팅방의 id(-100으로 시작하는 숫자)를 입력 후 Enabled를 활성화 해 줍니다. 

 

 

그리고 Custom entries 안에 있는 Allow From에는 "*"(아스테리스크)를 넣어줍니다. 그렇게 해야 그룹에 있는 모든 사람이 봇에게 말을 걸었을 때 답변을 받을 수 있습니다. 입력 후 Enabled를 활성화해줍니다.

마지막으로 Require Mention을 활성화 시켜 줍니다. 이걸 활성해주면 그룹 채팅방에서 오픈클로 봇의 id를 맨션(@)을 걸어주고 말을 걸어야 답변을 해줍니다. 완료되었으면 Save & Reload를 클릭합니다.

 

 

그러면 openclaw.json 파일이 다음과 같이 변경됩니다(위 설정이 불편하신 분들은 아래와 같이 openclaw.json 파일을 그냥 수정해주셔도 됩니다)

  "channels": {
    "telegram": {
      "enabled": true,
      "dmPolicy": "pairing",
      "botToken": "84XXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "groupAllowFrom": [
        -100XXXXXXXXXXX               	<-- 텔레그램 그룹 id
      ],
      "groupPolicy": "allowlist",
      "streamMode": "partial",
      "actions": {
        "sendMessage": false            <-- 봇이 먼저 메시지 보내기(true/false 상관없음)
      },
      "groups": {
        "-100XXXXXXXXXXX": {			<-- 텔레그램 그룹 id
          "requireMention": true,		<-- 봇 맨션할때만 봇이 대답
          "enabled": true,
          "allowFrom": ["*"]			<-- 전체(*)로 셋팅해야 해당 그룹에 있는 모든 사람이 맨션 가능
        }
      }
    }
  }

 

 

 

② 오픈클로 테스트

다시 한번 그룹방에서 오픈클로 봇에게 말을 걸어보겠습니다.

방금 allowList에 추가한 그룹 채팅방에서만 오픈클로 봇이 대답하는 걸 확인할 수 있습니다(이 실습에서는 "봇테스트1" 그룹 채팅방만 allowlist에 추가했습니다)성공!

 

 

 

 

③ 텔레그램 그룹에 다른 사용자 추가

이제 그룹에 다른 사용자를 추가해서 말을 걸어보겠습니다.

제가 아닌 다른사람의 말에도 답변하는 걸 확인할 수 있습니다. 성공!

 

 


4. 마치며

이번 시간에는 오픈클로 텔레그램 설정 중 allowList를 활용하여 단체 그룹방에 오픈클로 봇을 초대해서 질의를 던지는 것까지 실습해 보았습니다.

제가 실습을 하다보니, 설정 변경 후 reload 할 경우 잘 적용이 안되는 경우도 있고(기존 세션이 종료되지 않아서), 봇이 자기 마음대로 설정일 바꿔서 오픈클로 게이트웨이가 정상 기동되지 않는 경우도 많았고, 저한테는 답을 하는데 그룹 채팅방의 다른 사람들에게는 대답을 하지 않는 경우도 있었습니다(처음엔 실습하면서 애를 많이 먹었습니다)

그럴 때마다 설정 수정내용 원복 및 오픈클로 재기동 등을 해보시면서 하나씩 해결해 나가시면 잘 되실겁니다

그룹방에서 여러 사람들과 함께 오픈클로 봇과 즐거운 시간 보내시길 바라겠습니다. 화이팅!

 

혹시라도 텔레그램 연동 이외에 다른 오픈클로 관련된 내용도 궁금하신 분들은 아래 글 참고하시기 바랍니다. 감사합니다

 

* 오픈클로 관련 다른 글

 

 

 


5. 참고 자료

 

반응형

댓글