OpenClaw๋ฅผ ํ
๋ ๊ทธ๋จ์ ์ฒ์ ๋ถ์ด๋ฉด ๋ณดํต ๊ฐ์ ์ง์ ์์ ๋งํ๋ค. ๋ด์ ์ด์ ์๋๋ฐ ๊ทธ๋ฃน์์ ๋ฐ์์ด ์๊ณ , ํ ํฝ๋ง๋ค ๋์์ด ๋ฌ๋ผ ๋ณด์ด๊ณ , ๊ถํ์ ์ด๋ฉด ํธํด์ง์ง๋ง ์ด์ ๋ฆฌ์คํฌ๊ฐ ๊ฐ์๊ธฐ ์ปค์ง๋ค.
์ด ๋ฌธ์๋ ๊ทธ ์ํ์ฐฉ์ค๋ฅผ ์ค์ด๊ธฐ ์ํด BotFather ์ค์ โ OpenClaw ์ฐ๊ฒฐ โ ๊ทธ๋ฃน/ํ ํฝ ๊ถํ ๋ถ๋ฆฌ โ ์ต์ข
๊ฒ์ฆ ์์๋ก ์ ๋ฆฌํ๋ค. ๊ทธ๋๋ก ๋ฐ๋ผ ํ๋ฉด ์ด๋ฐ์ ๊ฐ์ฅ ๋ง์ด ํฐ์ง๋ ๊ถํ/๋ฐ์ ์ด์๋ฅผ ๋น ๋ฅด๊ฒ ์์ ํํ ์ ์๋ค.
flowchart LR A[BotFather ์์ฑ/๊ถํ] --> B[OpenClaw ํ ํฐ ์ฐ๊ฒฐ] B --> C[DM ์ ์ฑ ์ค์ ] C --> D[๊ทธ๋ฃน ์ ์ฑ ์ค์ ] D --> E[ํ ํฝ ์ ์ฑ ๋ถ๋ฆฌ] E --> F[๋ก๊ทธ/๋ณด์์ ๊ฒ] F --> G[์ด์ ๋ฐฐํฌ]
๋จผ์ ์ด๋ ๊ฒ ์์ํ๋ฉด ์์ ํ๋ค
๊ฐ์ฅ ์ฌ๊ณ ๊ฐ ์ ์ ์์๊ฐ์ **DM์ pairing, ๊ทธ๋ฃน์ allowlist, ๊ธฐ๋ณธ์ ๋ฉ์ ํ์(requireMention=true)**๋ค. ์ด์ ์ค ํ์ํ ํ ํฝ๋ง ์์ธ๋ก ์ด๋ฉด, ํธ์์ฑ๊ณผ ์์ ์ฑ์ ๋์์ ํ๋ณดํ๊ธฐ ์ฝ๋ค.
1) BotFather์์ ๋จผ์ ๋๋ด์ผ ํ๋ ์ค์
OpenClaw ์ด์ ์ ํ ๋ ๊ทธ๋จ ๋ด์ ์์ ๋ฒ์๋ฅผ ๋จผ์ ์ก์์ผ ํ๋ค.
1-1. ๋ด ์์ฑ
- ํ
๋ ๊ทธ๋จ์์
@BotFather์ ์ /newbot- ์ด๋ฆ/username ์ง์
- ํ ํฐ ๋ฐ๊ธ ํ ์์ ํ๊ฒ ๋ณด๊ด
1-2. ๊ทธ๋ฃน ์ด์์ฉ ํต์ฌ ํ ๊ธ
/setjoingroups: ๊ทธ๋ฃน ์ถ๊ฐ ํ์ฉ ์ฌ๋ถ/setprivacy: Privacy Mode
Privacy Mode ์ด์ ๊ธฐ์ค:
- ON(๊ธฐ๋ณธ): ๋ฉ์ /๋ช ๋ น ์ค์ฌ์ผ๋ก๋ง ์์ (์์ )
- OFF: ๊ทธ๋ฃน ๋ฉ์์ง๋ฅผ ๊ด๋ฒ์ ์์ (ํธํ์ง๋ง ์ก์/์ค์๋ ์ํ ์ฆ๊ฐ)
Privacy Mode๋ฅผ ๋ฐ๊ฟจ๋ค๋ฉด, ๊ทธ๋ฃน์์ ๋ด์ ์ ๊ฑฐ ํ ์ฌ์ด๋ํด์ผ ๋ฐ์์ด ๊น๋ํ๋ค.
2) OpenClaw ํ ๋ ๊ทธ๋จ ๊ธฐ๋ณธ ์ฐ๊ฒฐ
ํ ํฐ์ ๋ถ์ด๊ณ ๊ฐ์ฅ ์์ ํ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์์ํ๋ค.
{
channels: {
telegram: {
enabled: true,
botToken: "123456:ABC...",
dmPolicy: "pairing",
groupPolicy: "allowlist",
groups: {
"*": { requireMention: true }
}
}
}
}๋ฐ์:
openclaw gateway restart
openclaw status --deep3) DM(1:1) ๊ถํ ์ค์ โ ๋๊ตฌ๋ฅผ ๋ฐ์์ง
๊ถ์ฅ: pairing
์ฒ์ ๋ฉ์์ง๋ ํ์ด๋ง ์ฝ๋๋ก ๋๊ธฐ์ํค๊ณ , ์น์ธ๋ ์ฌ์ฉ์๋ง ์ฒ๋ฆฌํ๋ค.
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>๋ค๋ฅธ ์ ํ์ง
allowlist: ํน์ ์ฌ์ฉ์ ID๋ง ํ์ฉopen: ๋๊ตฌ๋ ํ์ฉ(์ด์์ฉ ๋น๊ถ์ฅ)disabled: DM ๋นํ์ฑ
3-1) DM ์ข์๋จ new chat +๋ ๋๊ฐ ๋ง๋๋๊ฐ (์ค์)
๋ง์ด ํท๊ฐ๋ฆฌ๋ ์ง์ ์ธ๋ฐ, DM ์ข์๋จ new chat +๋ BotFather ๊ถํ์ผ๋ก ์ผ๋ ๊ธฐ๋ฅ์ด ์๋๋ค. OpenClaw๊ฐ ๋ฒํผ์ ์์ฑํ๋ ๊ฒ๋ ์๋๋ค. ์ด ๋ฒํผ์ ํ
๋ ๊ทธ๋จ ํด๋ผ์ด์ธํธ๊ฐ ์ ๊ณตํ๋ UI๋ค.
์ด์ ๊ด์ ์์ ์ค์ํ ๊ฑด ๋ฒํผ ์์ฒด๋ณด๋ค message_thread_id๊ฐ ๋ค์ด์ค๋๋๋ค.
message_thread_id๊ฐ ์๋ DM ๋ฉ์์ง: OpenClaw๊ฐ thread-aware ์ธ์ ์ผ๋ก ๋ถ๋ฆฌํด ๊ด๋ฆฌmessage_thread_id๊ฐ ์๋ ์ผ๋ฐ DM ๋ฉ์์ง: ๊ธฐ์กด DM ์ธ์ ๊ท์น(dmScope)์ผ๋ก ์ฒ๋ฆฌ
์ฆ, ์ฃผ์ ๋ณ ์ ๋ํ๊ฐ ์๋ ๋ถ๋ฆฌ๋๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ๊ถํ ํ ๊ธ๋ณด๋ค ๋ค์ 2๊ฐ์ง๋ฅผ ๋ง์ถ๋ฉด ๋๋ค.
- OpenClaw์์ thread ์ฒ๋ฆฌ ํ์ฑํ(
session.threadBindings.enabled=true) - ๋ค๋ฅธ ๋ด/๋ฐฑ์๋์์๋ ๋ต์ฅ ์ ๋์ผ
message_thread_id๋ฅผ ์ ์ง
๊ฒ์ฆ์ openclaw logs --follow์์ message_thread_id ์ ์
์ฌ๋ถ๋ฅผ ๋จผ์ ํ์ธํ๋ ๊ฒ ๊ฐ์ฅ ๋น ๋ฅด๋ค.
4) ๊ทธ๋ฃน ๊ถํ ์ค์ โ ์ฌ๊ณ ๋ฅผ ์ค์ด๋ ํต์ฌ ํฌ์ธํธ
๊ทธ๋ฃน์ ์๋ 4๊ฐ์ง๋ฅผ ํจ๊ป ๋ด์ผ ํ๋ค.
groups: ํ์ฉํ ๊ทธ๋ฃน ๋ชฉ๋กgroupPolicy: ๊ทธ๋ฃน ๋ฐํ์ ์ ์ฑ (allowlist | open | disabled)groupAllowFrom: ๊ทธ๋ฃน์์ ๋ง ๊ฑธ ์ ์๋ ์ฌ์ฉ์ ์ ํrequireMention: ๋ฉ์ ํด์ผ ๋ฐ์ํ ์ง
์ค๋ฌด ๊ธฐ๋ณธ ํ ํ๋ฆฟ (ํธ์+์์ ๊ท ํ)
{
channels: {
telegram: {
dmPolicy: "pairing",
allowFrom: ["YOUR_TELEGRAM_USER_ID"],
groupPolicy: "allowlist",
groupAllowFrom: ["YOUR_TELEGRAM_USER_ID"],
groups: {
"*": { requireMention: true },
"-1001234567890": {
groupPolicy: "allowlist",
requireMention: true
}
}
}
}
}5) ๊ทธ๋ฃน ์ฃผ์ (Forum Topic) ์ค์ โ ํ ํฝ๋ณ ๋ถ๋ฆฌ ์ด์
ํฌ๋ผํ ๊ทธ๋ฃน์์๋ ํ ํฝ๋ณ๋ก ์ ์ฑ ์ ๋๋ ์ ์๋ค.
{
channels: {
telegram: {
groups: {
"-1001234567890": {
requireMention: true,
topics: {
"1": { requireMention: true },
"12": {
requireMention: false,
groupPolicy: "allowlist",
allowFrom: ["YOUR_TELEGRAM_USER_ID"],
agentId: "main"
},
"34": {
requireMention: true,
agentId: "youtube-analyzer"
}
}
}
}
}
}
}ํ ํฝ ID ํ์ธ์ ๋ณดํต openclaw logs --follow์์ message_thread_id๋ก ์ก๋๋ค.
6) ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน ๊ถํ(๊ด๋ฆฌ์ ๊ถํ) ์ฒดํฌ
OpenClaw ์ค์ ์ด ๋ง์๋, ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน ๊ถํ์ด ๋ถ์กฑํ๋ฉด ๋์์ด ์ ํ๋๋ค.
- ์ผ๋ฐ ๋ต๋ณ: ๋ฉค๋ฒ ๊ถํ์ผ๋ก๋ ์ถฉ๋ถํ ๊ฒฝ์ฐ ๋ง์
- ๊ทธ๋ฃน ์ ์ฒด ๋ฉ์์ง ์ธ์: Privacy Mode OFF ๋๋ ๊ด๋ฆฌ์ ๊ถํ ํ์ ๊ฐ๋ฅ
- ํ ํฝ ์์ฑ/๊ด๋ฆฌ ์๋ํ: ํ ํฝ ๊ด๋ฆฌ ๊ถํ ํ์
- ๋ฉ์์ง ์ญ์ /์์ ์๋ํ: ํด๋น ๊ด๋ฆฌ ๊ถํ ํ์
๐ง ์น ํ ์นํธ์ํธ
- BotFather:
/newbot,/setjoingroups,/setprivacy- OpenClaw:
botToken + dmPolicy + groupPolicy๋ถํฐ ๊ณ ์ - ๊ทธ๋ฃน ๊ธฐ๋ณธ์
allowlist + requireMention=true- ํ ํฝ์
groups.<chatId>.topics.<threadId>๋ก ๋ถ๋ฆฌ- ๋ง์ง๋ง์
security audit --deep๋ก ๊ฒ์ฆ
7) 20๋ถ ๋์ ๋ฃจํด
0~5๋ถ: ๋ด ์์ฑ + BotFather ํ ๊ธ
/newbot/setjoingroups/setprivacy
5~10๋ถ: OpenClaw ์ฐ๊ฒฐ
botToken์ ๋ ฅdmPolicy,groupPolicy,groups.*.requireMention์ค์
10~15๋ถ: ๊ทธ๋ฃน/ํ ํฝ ๊ฒ์ฆ
- DM 1๊ฑด
- ๊ทธ๋ฃน ๋ฉ์ 1๊ฑด
- ํ ํฝ 1๊ฑด
15~20๋ถ: ์ด์ ์ ๊ฒ
openclaw status --deep
openclaw logs --follow
openclaw security audit --deep8) ์์ฃผ ๋งํ๋ ๋ฌธ์ ์ ์ฆ์ ํ์ธ ํฌ์ธํธ
์ฆ์ A: DM์ ๋๋๋ฐ ๊ทธ๋ฃน์ด ์นจ๋ฌต
groups์ ํด๋น chat ID๊ฐ ์๋์งrequireMention์ด true์ธ๋ฐ ์ค์ ๋ฉ์ ํ๋์ง- BotFather privacy ์ํ๊ฐ ์๋์ ๋ง๋์ง
์ฆ์ B: ํน์ ํ ํฝ์์๋ง ๋ฐ์ ์ ํจ
topics.<threadId>์ซ์ ์ผ์น ํ์ธ- ํด๋น ํ ํฝ์
allowFrom/groupPolicy์์ธ๊ฐ ๊ฑธ๋ ค ์๋์ง
์ฆ์ C: ์์ ์ ๋๋ ํธ์ถ์ด ๋งํ
groupPolicy=open์์allowlist๋ก ๋ฐ๋์๋์งgroupAllowFrom๋ฏธ์ค์ ์ผ๋ก ์ฐจ๋จ๋๋์ง- ๋ณด์ ์ ๊ฒ ๊ฒฐ๊ณผ์์ critical/warn ํญ๋ชฉ ์ฌํ์ธ
์ฆ์ D: ๋ฒํผ์ ๋ณด์ด๋๋ฐ ์ฝ๋ฐฑ(callback)์ด ์ ์ฌ๋ผ์ด
๋ฒํผ ์ฝ๋ฐฑ ์ด์๋ ๋๋ถ๋ถ ๋ด ๊ณ ์ฅ๋ณด๋ค ๊ฒฝ๋ก/์ ์ฑ /๊ถํ ๋ถ์ผ์น๋ก ์๊ธด๋ค. ์๋ ์์๋๋ก ๋ณด๋ฉด 10๋ถ ์์ ์์ธ์ ์ขํ ์ ์๋ค.
- ์ฑ๋ ์ํ๋ถํฐ ํ์ธ
openclaw channels status --proberunning, works, audit ok๊ฐ ์๋๋ฉด gateway ์ํ๋ถํฐ ๋ณต๊ตฌํ๋ค.
- ๊ทธ๋ฃน์์๋ง ์คํจํ๋ฉด BotFather privacy mode ํ์ธ
/setprivacy์์ ์ด์ ์๋์ ์ผ์นํ๋์ง ์ ๊ฒ- ๋ณ๊ฒฝ ํ gateway ์ฌ์์
openclaw gateway restart
openclaw channels status --probe- ๊ธฐ๋ฅ ๊ฒฝ๋ก ์ค์ธก ํ ์คํธ
- ์ ์ก(send)
- ์์ (edit)
- ๋ฐ์(react)
- ์ญ์ (delete)
- ๋ฒํผ ์ ์ก ํ callback ์์
์ด 5๊ฐ๊ฐ ์ฐ์ ํต๊ณผํ๋ฉด ๋ผ์ฐํ ์ ์ ์์ด๊ณ , ์ดํ ๋ฌธ์ ๋ ํน์ ๊ทธ๋ฃน/ํ ํฝ ์ ์ฑ ์ผ๋ก ์ขํ์ ์ก์ ์ ์๋ค.
๋ฒํผ ์ฝ๋ฐฑ 10๋ถ ๋ณต๊ตฌ ์ฒดํฌ๋ฆฌ์คํธ
-
openclaw channels status --probeํ์ธ -
running/works/audit ok์ํ ํ์ธ - BotFather privacy mode ํ์ธ
- gateway ์ฌ์์ ํ ์ฌ๊ฒ์ฆ
- callback ํ ์คํธ 3ํ ์ฐ์ ํต๊ณผ
9) ์ด์์ฉ ๊ถํ ํ๋กํ 3๋จ๊ณ
| ํ๋กํ | ํต์ฌ ์ค์ | ์ถ์ฒ ์ํฉ |
|---|---|---|
| ๋ณด์ํ | pairing + allowlist + requireMention=true | ์ด์๋ฐฉ/์ ๋ฌด๋ฐฉ |
| ๊ท ํํ | ๋ณด์ํ + ์ผ๋ถ ํ ํฝ requireMention=false | ํ ํ์ ์ค์ฌ์ฉ |
| ๊ฐ๋ฐฉํ | groupPolicy=open, ๋ฉ์
์ํ | ํ ์คํธ/์์ ์ด๋ฒคํธ |
๊ฐ๋ฐฉํ์ ํธํ์ง๋ง, ์ฅ๊ธฐ ์ด์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋์ง ์๋ ๊ฒ์ ๊ถ์ฅํ๋ค.
10) ์ต์ข ์ ๊ฒ ์ฒดํฌ๋ฆฌ์คํธ
- BotFather ํ ํฐ ์ ์
-
/setjoingroups,/setprivacyํ์ธ -
channels.telegram.botToken๋ฐ์ - DM ์ ์ฑ
(
pairing/allowlist) ํ์ธ - DM thread(
message_thread_id) ์ ์ /๋ต์ฅ ์ ์ง ํ์ธ - ๊ทธ๋ฃน ์ ์ฑ
(
groupPolicy,groupAllowFrom) ํ์ธ - ํ ํฝ ์ ์ฑ
(
topics.threadId) ํ์ธ -
openclaw status --deep์ ์ -
openclaw security audit --deepcritical 0 ๋ชฉํ
๋ค์ ์ฝ๊ธฐ
- 11. ์ฐ๋์ฒดํฌ
- 12. ๋ธ๋ผ์ฐ์ ๋ฆด๋ ์ด ์ฐ๋ ๊ตฌ์กฐ
- 15. ์บ์ฑ ์์ ๊ฐ์ด๋
- 18. ํ ๋ ๊ทธ๋จ 5๋ถ ๋ณต๊ตฌ
- 20. ์ด์์ํคํ ์ฒ ๊ท์น ์ด์ ๋ฆฌ
- 22. ๊ทธ๋ฃน ํ์ ์ธํ + ๋ณด์
- 23. plaintext ws ๋ณด์์๋ฌ ํด๊ฒฐ
- 25. ํฌ๋ก ์๋ธ์์ด์ ํธ ๋ถ์ฐ์ด์
- 28. ๋์ผ ๋ฆด๋ ์ด ์ด์ ๊ฐ์ด๋
- 29. ํ ๋ ๊ทธ๋จ ๊ถํ๋ณํ ๋ฒ์ ๋น๊ต
AI ์์ฑ ๊ณ ์ง: ์ด ๋ฌธ์๋ OpenClaw/Telegram ๊ณต์ ๋ฌธ์๋ฅผ ๋ฐํ์ผ๋ก ์์ฑํ AI๋ฅผ ํ์ฉํด ์์ฑยทํธ์ง๋์์ต๋๋ค.