OpenClaw Telegram Bot ကိုတပ်ဆင်ခြင်း: Commands, Routing နဲ့ Multi-Agent Sessions

ဟေး အော်တိုမေးရှင်း ဖန်တီးသူများ — သင် OpenClaw ကို Telegram နဲ့ချိတ်ဆက်တာကို စတင်ပြီး Messages တွေကို DMs, Groups နဲ့ Topics လက်ခံတဲ့အခါ Routing ဘယ်လိုအလုပ်လုပ်သလဲဆိုတာစဉ်းစားနေရင် ဒီမှာဆက်ကြည့်ပါ။

ကျွန်တော် အင်္ဂါရပ်သုံးခုဖြစ်တဲ့ Personal DMs, Team Groups နဲ့ Forum Topics မှာ OpenClaw ကို Telegram မှတဆင့် အတည်ပြုထားတဲ့ နှစ်ပတ်ကြာပြီး လုပ်ဆောင်ခဲ့ပါတယ်။ Demo မဟုတ်တဲ့ အခြေအနေတွေပါ။ Session Isolation ကို တမင်ချိုးဖျက်ပြီး၊ Concurrent Requests တွေကို များများစွာပေးပြီး၊ Gateway က Multi-Account Configs ကို ဘယ်လိုကိုင်တွယ်နိုင်တာကို ကြည့်ခဲ့တယ်။

ကျွန်တော်ဆက်မေးခဲ့တဲ့မေးခွန်းက — သင့်မှာ Chats များစွာကိုကိုင်တွယ်ရတဲ့အခါ လတ်တလော Session Boundaries တွေကို သန့်ရှင်းစွာထိန်းထားနိုင်မလား၊ ဒါမှမဟုတ် အားလုံးကို တစ်ခြားမျိုးစကားသံရိုးထဲမှာ ပျံ့လွင့်သွားမလား?

ဒီမှာ ကျွန်တော်တွေ့ရှိခဲ့တာတွေနဲ့ အတူတူ Config Patterns အတိအကျကိုတွေ့ရပါတယ်။

အကြောင်းပြချက်အနေနဲ့, OpenClaw (ဟောင်း Moltbot နဲ့ Clawdbot) က 2026 နဲ့စောစောပိုင်းမှာ GitHub Stars 100,000 ကျော်ရရှိခဲ့တဲ့ Open-Source ဆွဲငင်မှုရှိတဲ့ AI Assistant ဖြစ်ပါတယ်။ Peter Steinberger က ဖန်တီးပြီး Messaging Platforms တွေက Telegram အစရှိတဲ့ AI Agents တွေကို နေရာတိုင်းမှာ သို့မဟုတ် private servers တွေမှာ ချိတ်ဆက်ပေးပါတယ်။


Telegram Bot တစ်ခု ဖန်တီးခြင်း (BotFather)

Every OpenClaw Telegram setup starts with @BotFather, Telegram's official bot creation interface. This hasn't changed since Telegram launched bots — it's still the only way to generate API tokens.

What you'll need:

  • Active Telegram account (phone verification required)
  • 3 minutes for initial setup
  • Bot token stored somewhere secure (I use a password manager)

Step-by-step bot creation

  1. Open Telegram and search for @BotFather
    1. Verified account has a blue checkmark
    2. Send /start to see available commands
  2. Create new bot with /newbot
    1. Bot name: What users see in conversations (can include spaces)
    2. Username: Must end with bot (e.g., YourProjectBot)
    3. Username must be globally unique across Telegram
  3. Save your API token immediately
    1. Format: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
    2. Treat this like a password — anyone with this token controls your bot
    3. If compromised, use /revoke in BotFather to generate a new one

Critical BotFather settings (optional but recommended):

/setjoingroups  → Allow/deny adding bot to groups
/setprivacy     → OFF = bot sees all group messages
                  ON = bot only sees mentions and commands

I learned this the hard way: if you set privacy to ON and wonder why your bot ignores group messages, that's why. OpenClaw's routing expects full message access by default.


Connect Token + Verify Updates

Getting the token into OpenClaw is where most setup guides stop — but that's where real testing should start.

Basic connection config

OpenClaw supports two token input methods:

Environment variable (quick testing):

export TELEGRAM_BOT_TOKEN="your_token_here"
openclaw gateway

Config file (production approach):

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz",
      "dmPolicy": "pairing"
    }
  }
}

Verification test sequence

Here's the sequence I run every time to confirm the Gateway actually sees Telegram updates:

  1. Start Gateway with logging:
openclaw gateway --log-level debug
  1. Send /start to your bot in Telegram
    1. Should trigger pairing flow if dmPolicy: "pairing"
    2. Check terminal for incoming update logs
  2. Monitor update stream:
openclaw logs --follow

Common failure point: Bot token typo. If you see 401 Unauthorized in logs, regenerate the token in BotFather and update your config. Don't waste an hour troubleshooting like I did.

လုံခြုံရေးမှတ်ချက်: ထုတ်လုပ်ရေးဖြန့်ဝေမှုများအတွက်၊ DigitalOcean ၏ အခိုင်အမာ OpenClaw ပုံရိပ် ကို အသုံးပြုရန် စဉ်းစားပါ၊ ၎င်းတွင် မီးဖိုခန်း စည်းမျဉ်းများ၊ ကွန်တိန်နာ သီးခြားမှုနှင့် non-root အကောင်အထည် ဖွင့်မှုများ ပါဝင်သည်။


အတိုင်းအတာကျသော အမိန့်ဒီဇိုင်း

OpenClaw ၏ အမိန့်စနစ်သည် ဦးတည်ချက် ချမှတ်မှုစဉ်အတွင်း စတင် အရေးပါသည်။ Gateway သည် slash အမိန့်များ ကို ချန်နယ်အားလုံးတွင် အသိအမှတ်ပြုသော်လည်း Telegram သည် ၎င်း၏ အမိန့်အလိုအလျောက်ဖြည့်စွက်ခြင်း အလွှာကို ထပ်ပေါင်းသည်။

တရားဝင် OpenClaw စုစည်းမှု တွင် အပြည့်အစုံသော အမိန့်အစုအဝေးကို မှတ်တမ်းတင်ထားသော်လည်း၊ လက်တွေ့အသုံးပြုမှုအပြီးတွင် အနည်းငယ်သာ အရေးပါသည်။

အဓိက အမိန့်ပုံစံများ

ငါ ထုတ်လုပ်ရေး ပြင်ဆင်မှုများတွင် အမှန်တကယ် အသုံးပြုသော အမိန့်များ (အပြည့်အစုံစာရင်းမဟုတ်ပါ — လက်တွေ့အသုံးပြုမှုတွင် ဆက်လက်တည်ရှိသော အရာများသာ):

အမိန့်
ရည်ရွယ်ချက်
အစည်းအဝေးသတ်မှတ်ချက်
/new
အစည်းအဝေးအသစ် ဖန်တီးရန် (အကြောင်းအရာကို ရှင်းလင်းပါ)
Per-chat
/status
အစည်းအဝေး + မော်ဒယ် + token အသုံးပြုမှုကို ပြပါ
လက်ရှိအစည်းအဝေး
/activation
mention-only နှင့် အမြဲ-တုံ့ပြန်မှုကို အပြောင်းအလဲပြုရန်
အစည်းအဝေး-သီးသန့်*
/help
ရရှိနိုင်သော အမိန့်များကို စာရင်းပြုစုပါ
N/A

Important: /activation always only affects the current session. To persist it, add it to your config's requireMention settings.

Setting up custom commands in BotFather

This is what makes your bot feel native in Telegram:

  1. In BotFather: /mybots → Select your bot → Edit Commands
  2. Send command list (one per line):
new - Start fresh sessionstatus - Check session statehelp - Show all commands
  1. These appear in Telegram's / autocomplete menu

Reality check: I initially set up 15 commands. After two weeks, I only use 4. Start minimal.

For deeper understanding of Telegram's bot architecture, see the official Telegram Bot tutorial which covers the Bot API fundamentals.


Routing by Chat/User/Topic

This is where OpenClaw's session architecture either makes sense or falls apart. Session keys determine whether conversations stay isolated or bleed together.

Session key structure

OpenClaw generates session keys using this pattern:

agent:<agentId>:telegram:<chatType>:<chatId>[:topic:<topicId>]

Breakdown:

  • DMs: All messages from one user → shared main session
  • Groups: Each group → isolated session (telegram:group:<chatId>)
  • Forum topics: Each topic → separate session (:topic:<threadId> suffix)

Multi-account routing config

Here's a real config I ran for testing three separate Telegram bots routing to different agents:

{
  "channels": {
    "telegram": {
      "accounts": [
        {
          "name": "personal",
          "botToken": "token1...",
          "routing": { "agent": "main" }
        },
        {
          "name": "work",
          "botToken": "token2...",
          "routing": { "agent": "work-agent" }
        },
        {
          "name": "testing",
          "botToken": "token3...",
          "routing": { "agent": "sandbox" }
        }
      ]
    }
  }
}

Each account routes to a separate agent workspace with independent memory and tools. No cross-contamination.

Group routing with mention controls

Default behavior: groups require @mention to trigger responses. Override per-group:

{
  "channels": {
    "telegram": {
      "groups": {
        "*": { "requireMention": true },
        "-1001234567890": { 
          "requireMention": false 
        }
      }
    }
  }
}

Group ID discovery: Add bot to group, send a message, check openclaw logs --follow for the chat.id value (always negative for groups).

Forum topic isolation

Telegram forums add message_thread_id to messages. OpenClaw appends :topic:<threadId> to session keys automatically.

Critical edge case I hit: Topic ID 1 (general topic) requires special handling. OpenClaw omits message_thread_id when sending to topic 1 because Telegram rejects it.

Config example for per-topic system prompts:

{
  "telegram": {
    "groups": {
      "-1003595003457": {
        "requireMention": false,
        "topics": {
          "14": {
            "requireMention": false,
            "systemPrompt": "You are a coding assistant."
          },
          "27": {
            "systemPrompt": "You focus on deployment issues."
          }
        }
      }
    }
  }
}

Each topic maintains isolated conversation history.


Debugging Missed Messages

When messages disappear into the void, it's usually one of these three culprits.

Diagnostic checklist

  1. Check BotFather privacy settings
/mybots → Your Bot → Bot Settings → Group Privacy → OFF
  1. If ON, bot only sees mentions — not regular messages.
  2. Verify group whitelist
openclaw logs --follow | grep "skipping group message"
  1. If channels.telegram.groups is defined, unlisted groups are ignored.
  2. Confirm bot membership
    1. Bot must be added as a member (not just admin with no read access)
    2. Test: send a message, check if bot's "last seen" timestamp updates
  3. Review Gateway logs
openclaw logs --level debug --filter telegram

Common routing failures

Symptom
Likely Cause
Fix
Bot responds in DMs, silent in groups
Privacy mode ON
BotFather → Group Privacy → OFF
Some groups work, others don't
Groups whitelist active
Add "*": or specific IDs
Forum topics get mixed responses
Session key collision
Check :topic:<id> suffix in logs
No response at all
Wrong token or Gateway not running
openclaw status, verify token

Session hygiene checks

I run this sequence weekly to catch routing drift:

# List active sessions
openclaw sessions list
# Check specific session state
openclaw sessions show <sessionKey>
# Force session cleanup (last resort)
openclaw sessions prune --older-than 7d

When sessions leak: If you see context bleeding between chats, it's usually a config error where multiple chats map to the same session key. Review channels.telegram.accounts[].routing.agent settings.


What Actually Worked Long-Term

After two weeks of daily use across three different Telegram setups, here's what survived:

Stable config pattern

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "env:TELEGRAM_BOT_TOKEN",
      "dmPolicy": "pairing",
      "groups": {
        "*": { "requireMention": true }
      }
    }
  }
}

Why this works:

  • DM pairing prevents unauthorized access
  • Wildcard group policy with mention requirement = safe defaults
  • Token from env var = easier rotation without touching config

What didn't scale

  • Custom commands beyond /new, /status, /help — Users forget them
  • Per-topic system prompts — Maintenance burden grows fast
  • Multiple accounts without clear routing rules — Session chaos

Boundary conditions

OpenClaw Telegram routing is solid for:

  • Personal DM automation (single user)
  • Small team groups (< 20 active members)
  • Forum topics with distinct purposes

It gets messy when:

  • You're managing 10+ groups without config discipline
  • Users expect instant responses (add queue monitoring)
  • Session state matters across Gateway restarts (implement persistence checks)

Security reminder: As noted in security analysis, OpenClaw stores session transcripts and credentials locally. Treat your ~/.openclaw directory as sensitive — use encrypted drives and restrict file permissions.


OpenClaw + Telegram ကနေ မင်းကိုလိုအပ်တဲ့နေရာကိုရောက်အောင်လုပ်ပေးရင် အဲဒီအတိုင်းအသုံးပြုလိုက်ပါ။ Session key တွေကို သန့်ရှင်းအောင်ထားပြီး ဘယ်အဖွဲ့က ဘယ်သူကိုယ်စားလှယ်ကိုရရှိမလဲသိထားဖို့လိုပါတယ်။

Macaron မှာ ကျနော်တို့အချင်းချင်းချိတ်ဆက်မှုစိန်ခေါ်မှုတွေကို အလိုအလျောက်ဖြေရှင်းပေးပါတယ် — စက်ပလက်ဖောင်းအပြင်ပိုင်းမှာ session ကို ကွဲပြားစေပြီး ချန်နယ်အသစ်တွေထည့်သွင်းတိုင်း ဆက်တင်ကို လက်ဖြင့်ပြင်စရာမလိုပါဘူး။ Multi-platform routing ကို ဖွဲ့စည်းမှုအသစ်ပြန်တည်ဆောက်စရာမလိုဘဲ လေ့ကျင့်ကြည့်ချင်ရင် တကယ့် workflow နဲ့စမ်းကြည့်ပါ နှင့် မင်းရဲ့ setup ကိုဘယ်လိုကိုင်တွယ်မလဲကြည့်ရှုပါ။

မေးလေ့ရှိသောမေးခွန်းများ

မေးခွန်း: ကျွန်ုပ်ရဲ့ bot က အဖွဲ့စာမက်ဆေ့ဂျ်တွေကို အလုံးစုံမဖြေဘူး။ အရင်ဆုံးဘယ်မှာစစ်ရမလဲ? BotFather privacy settings. ON အဖြစ်ထားရင် bot က @mentions ကိုသာမြင်ပါတယ် — အခြားအရာအားလုံးကို တိတ်ဆိတ်စွာချန်ထားပါတယ်။ BotFather → /mybots → Bot Settings → Group Privacy → OFF အဖြစ်ပြောင်းလိုက်ပါ။ အဖွဲ့လုပ်ဆောင်မှုတွေအတွက် "ဘာဖြစ်လဲမသိ" အကြောင်းအများစုမှာ ဒီလိုဖြစ်ပါတယ်။

မေးခွန်း: ငါ့အဖွဲ့ရဲ့ chat ID ကို ဘယ်လိုရှာရမလဲ? Bot ကို အဖွဲ့ထဲထည့်ပြီး မက်ဆေ့ဂျ်တစ်ခုတင်ပါ၊ ပြီးရင် openclaw logs --follow ကို run ပါ။ incoming update မှာ chat.id ပေါ်လာပါမယ် — အဖွဲ့များအတွက် နေဂျတစ်နံပါတ်ပါမည်။ အဲဒါကို မင်းရဲ့ whitelist config ထဲထည့်ရမည့်တန်ဖိုးဖြစ်ပါတယ်။

မေးခွန်း: Telegram အကောင့်တစ်ခုစီကို route လုပ်ဖို့ bot token သီးခြားလိုရဲ့လား? ဟုတ်ပါတယ်။ channels.telegram.accounts[] မှာရှိတဲ့ အရာတိုင်းကို BotFather token သီးခြားလိုအပ်ပါတယ်။ တိုကင်တစ်ခုနဲ့ bot identity တစ်ခု။ Bot အများအပြားကို run လုပ်ပြီး အရာတွေကိုအတူတူယှဉ်ပြေးနေခဲ့ရင် OpenClaw gateway config reference မှာ account-level routing isolation ဘယ်လိုအလုပ်လုပ်တယ်ဆိုတာကို ဖျော်ဖြေရေးကိုကြည့်ပါ။

မေးခွန်း: ဖိုရမ်ခေါင်းစဥ်များ - တစ်ခုချင်းစီကို ကိုယ်တိုင်ပြင်ဆင်ရမလား? ခေါင်းစဥ်အလိုက်စနစ်ညွှန်ကြားချက်များလိုချင်ရင်သာ လိုအပ်ပါတယ်။ OpenClaw သည် session key isolation ကို အလိုအလျောက် ကိုင်တွယ်ပေးသည် (:topic:<threadId> suffix)၊ ထို့ကြောင့် စကားဝိုင်းများကို ခွဲခြားထားနိုင်ပြီး အခြားပြင်ဆင်မှုမလိုအပ်ပါ။ ခေါင်းစဉ်အလိုက် agent အပြုအမူကွဲပြားစွာလိုအပ်ပါကသာ ကိုယ်တိုင်ပြင်ဆင်ရပါမည်။

မေးခွန်း: Gateway ပြန်စမတ်တိုင်း Sessions က context မပျောက်ဘူးလား? ပုံမှန်အားဖြင့် ဟုတ်ပါတယ် — session state သည် ပြန်စမတ်တိုင်း မရှိသွားပါဘူး၊ persistence ကို ပြင်ဆင်ထားခြင်းမရှိလျှင်။ သင့်အတွက် အရေးကြီးတာဖြစ်လျှင် Gateway အဆင့်မှာ ရနိုင်သော persistence ရွေးချယ်မှုများအတွက် OpenClaw အစလေ့လာလမ်းညွှန် ကို ကြည့်ပါ။

မေးခွန်း: VPS ပေါ်မှာ အစီအစဉ်ထည့်နေပါတယ်။ Telegram အထူးသိထားရမယ့်အရာများ ရှိပါသလား? သင့် server မှ api.telegram.org ကို outbound connection မပိတ်ထားရပါ — VPS ပေးသွင်းသူအချို့က ဒါကို ကန့်သတ်ပါတယ်။ ဒါကြောင့် အထွေထွေ ခိုင်ခံ့မှုအတွက် non-root execution, firewall စည်းမျဉ်းများ, env vars တွင် token ထည့်သွင်းခြင်းကို လိုက်နာပါ။ သင် အစမှစတင်နေရင် OpenClaw VPS တပ်ဆင်ခြင်းလမ်းညွှန် ကို လေ့လာပါ။

မေးခွန်း: Telegram အတွက် Moltbot ကို အရင်က အသုံးပြုခဲ့ပါတယ်။ ပြောင်းလဲခြင်းက ရိုးရိုးဖြစ်ပါသလား? အများအားဖြင့် ဟုတ်ပါတယ်၊ ဒါပေမယ့် config ဖွဲ့စည်းပုံကပြောင်းလဲသွားပါတယ်။ ပြောင်းလဲပြီးနောက် ပဋိပက္ခများ သို့မဟုတ် မျှော်လင့်ထားသော အပြုအမူမရှိသည်များကို ကြုံခဲ့လျှင် Moltbot Telegram ဖွဲ့စည်းပုံနှိုင်းယှဉ်ခြင်း ကို ကြည့်ပါ — ဒါက နှစ်ခုအကြား ဘာတွေပြောင်းလဲခဲ့တယ်ဆိုတာ ဖေါ်ပြပေးပါတယ်။

Hey, I’m Hanks — a workflow tinkerer and AI tool obsessive with over a decade of hands-on experience in automation, SaaS, and content creation. I spend my days testing tools so you don’t have to, breaking down complex processes into simple, actionable steps, and digging into the numbers behind “what actually works.”

Apply to become Macaron's first friends