Bỏ qua đến nội dung chính
AI Automation
Linh vật tôm hùm OpenClaw phía trên ảnh Telegram duyệt lệnh của trợ lý

OpenClaw Telegram: nối bot, khóa người lạ, duyệt lệnh

Nguyễn Việt Chung

Đăng 9 phút đọc

1 lượt xem
Mục lục · 15

Hướng dẫn OpenClaw Telegram làm thật trên bản 2026.9.9 ngày 10/10/2026: tạo bot ở BotFather, đi qua openclaw channels add từng màn hình, ghép cặp bằng mã, khóa bot chỉ cho tài khoản của bạn, rồi bật chế độ để mọi lệnh lạ phải bấm Allow Once trên điện thoại mới chạy.

Nối OpenClaw Telegram cần ba thứ: một bot tạo ở @BotFather, lệnh openclaw channels add để đưa token bot vào OpenClaw, và một lần ghép cặp để OpenClaw biết tài khoản Telegram nào là của bạn. Làm xong, bạn nhắn việc cho trợ lý từ điện thoại, còn mọi lệnh lạ nó muốn chạy trên máy đều gửi về Telegram kèm nút Allow Once và Deny để bạn quyết.

Mình làm toàn bộ các bước dưới đây trên OpenClaw 2026.9.9 ngày 10/10/2026, với một máy Windows 10 thuê theo giờ và một bot thử tạo riêng cho bài này. Telegram là kênh OpenClaw tự giới thiệu trong danh sách là "simplest way to get started", và mình đồng ý: tính từ lúc gõ lệnh tới khi bot báo kết nối xong chỉ mất khoảng 7 phút.

Nếu chưa cài OpenClaw, làm theo bài Cài đặt OpenClaw trên Windows trước.

Tạo bot Telegram cho OpenClaw thế nào?

Bot tạo trên điện thoại hay máy tính đều được, mất khoảng 2 phút:

  1. Mở Telegram, tìm @BotFather. Kiểm tra đúng tên này, có dấu tích xanh.

  2. Gửi /newbot, đặt tên hiển thị, ví dụ Trợ lý của Lan.

  3. Đặt username, phải kết thúc bằng bot, ví dụ tro_ly_lan_bot.

  4. BotFather trả về token dạng 123456789:AA…. Ai có token là điều khiển được bot, đừng gửi cho ai.

  5. Gửi /setjoingroups, chọn bot, chọn Disable để người lạ không kéo được bot vào nhóm.

Nên tạo một bot riêng cho OpenClaw, đừng dùng lại bot đang chạy việc khác. Hai chương trình cùng đọc tin của một bot sẽ giành tin của nhau.

Nối OpenClaw Telegram bằng openclaw channels add

Mở PowerShell (hoặc terminal trên Linux, macOS) và gõ:

powershell
openclaw channels add

Câu đầu tiên hỏi có thiết lập kênh chat không, chọn Yes:

openclaw channels add hỏi Set up a chat channel now với hai lựa chọn Yes và No

Danh sách kênh của bản 2026.9.9 dài hơn 30 dòng. Dùng mũi tên xuống tới Telegram (Bot API), Enter. Bên dưới còn ba lựa chọn cho Zalo nếu sau này bạn muốn thêm.

Danh sách kênh chat của OpenClaw 2026.9.9 trong openclaw channels add, mũi tên đang ở Telegram Bot API

Câu tiếp theo hỏi tài khoản Telegram, chọn default (primary). Rồi tới câu How do you want to provide this Telegram bot token?, chọn dòng đầu Enter Telegram bot token và dán token:

Màn hình nhập Telegram bot token trong OpenClaw, có hướng dẫn mở @BotFather và chạy /newbot

Dán xong, danh sách kênh hiện lại. Không thêm kênh nào nữa thì nhấn mũi tên lên để tới dòng Finished. Đừng chọn lại Telegram, nó sẽ bắt nhập token lần nữa.

Các câu hỏi phụ sau khi nhập token nên chọn gì?

Trình thiết lập hỏi thêm bốn câu. Mình chọn như sau trên cả máy thử lẫn máy khách:

Câu hỏi

Chọn

Vì sao

Configure DM access policies now? (default: pairing)

No

Giữ chế độ ghép cặp, khóa bằng allowlist sau khi biết ID của bạn

Set up administration from your own chat account?

Skip for now

Người được duyệt ghép cặp đầu tiên tự thành chủ bot

Name these channel accounts now?

No

Chỉ có một bot thì tên default là đủ

Route these channel accounts to agents now?

Yes, rồi chọn main

Không gắn bot với agent thì bot bị chặn, không trả lời ai

Các câu hỏi phụ của openclaw channels add: DM policy No, administration Skip for now, Name No, Route Yes, gắn vào agent main

Kết quả đúng là khung Routing bindings ghi Added: telegram accountId=default và dòng Channels updated.:

Kết quả cuối của openclaw channels add: Routing bindings Added telegram accountId=default, Channels updated

Kiểm tra bot đã kết nối chưa:

powershell
openclaw channels status --probe
openclaw channels status --probe báo Telegram default enabled, configured, running, connected, mode polling, works

mode:polling nghĩa là OpenClaw tự hỏi Telegram có tin mới không, nên máy bạn không cần IP public hay mở cổng nào.

Ghép cặp: làm sao để chỉ mình bạn ra lệnh được?

Bot mới nối xong chưa trò chuyện với ai. Mở bot trên Telegram, bấm Start. Bot trả lời "access not configured", kèm ID Telegram của bạn và một mã ghép cặp 8 ký tự:

Bot trả lời /start bằng OpenClaw access not configured, ID Telegram đã che và mã ghép cặp RC6MENJR

Trên máy tính, xem danh sách yêu cầu và duyệt đúng mã đó. Mã có hạn 1 giờ:

powershell
openclaw pairing list telegram
openclaw pairing approve telegram RC6MENJR
openclaw pairing list telegram hiện một yêu cầu với mã RC6MENJR, ID và tên tài khoản đã che

Duyệt xong, OpenClaw in thêm dòng Command owner configured telegram:…. Người được duyệt đầu tiên thành chủ bot, tức người được đổi cấu hình, khởi động lại Gateway và duyệt lệnh. Vì vậy người nhắn bot đầu tiên phải là chủ máy. Có ai khác nhắn trước thì đừng duyệt mã của người đó.

Kết quả openclaw pairing approve: Approved telegram sender và Command owner configured, ID đã che

Ở máy khách, mình suýt dừng lại ở bước này vì tên tài khoản Telegram vừa ghép cặp khác hẳn tên khách. Hỏi lại mới biết đó đúng là tài khoản của khách, chỉ đặt tên khác. Thấy tên lạ trong pairing list thì hỏi lại chủ máy trước khi duyệt.

Chế độ ghép cặp vẫn để người lạ nhận được mã nếu họ tìm ra bot. Khi đã có ID của bạn, khóa hẳn bằng allowlist:

powershell
openclaw config set channels.telegram.dmPolicy allowlist
openclaw config set channels.telegram.allowFrom '[\"ID_TELEGRAM_CUA_BAN\"]'
openclaw config get channels.telegram.allowFrom
Lệnh đặt dmPolicy allowlist và allowFrom cho Telegram, ID đã che, kèm cảnh báo khi allowFrom còn trống

Sau bước này người lạ nhắn bot sẽ bị bỏ qua, không còn nhận được mã ghép cặp. Trang Telegram access control của tài liệu chính thức liệt kê bốn chế độ của dmPolicy:

dmPolicy

Ai nhắn được bot

Khi nào dùng

pairing (mặc định)

Người lạ nhận mã, chỉ người được duyệt mới chat

Lúc mới cài, để lấy ID của bạn

allowlist

Chỉ các ID trong allowFrom

Bot của một người, điều khiển máy tính

open

Bất kỳ ai, phải kèm allowFrom: ["*"]

Bot công khai, công cụ bị khóa chặt

disabled

Không ai

Tạm tắt tin nhắn riêng

Tài liệu cũng ghi allowlist mà allowFrom trống thì mọi tin nhắn riêng đều bị chặn.

Duyệt lệnh qua Telegram hoạt động ra sao?

Mặc định agent được chạy lệnh trên máy mà không hỏi. Bật chế độ thận trọng:

powershell
openclaw exec-policy preset cautious
Kết quả openclaw exec-policy preset cautious: Applied exec-policy preset cautious, approvals lưu trong openclaw.sqlite

Từ đó, lệnh nào chưa có trong danh sách cho phép thì agent phải xin. Mình nhắn "Chạy lệnh ipconfig rồi cho anh biết IPv4", bot hiện chữ Working rồi gửi tin Approval required kèm lệnh nó định chạy, nơi chạy (Host: gateway), thời hạn 30 phút và hai nút:

Tin Approval required trên Telegram cho lệnh ipconfig, kèm hai nút Allow Once và Deny

Bấm Allow Once thì lệnh chạy và bot trả kết quả, bấm Deny thì thôi. Không bấm trong 30 phút thì lệnh tự bị từ chối. Với lệnh ipconfig, tin còn ghi "Allow Always is unavailable for this command", tức OpenClaw không cho đưa lệnh đó vào danh sách luôn cho phép.

Có hai chỗ chế độ này không che được. Thứ nhất, lệnh PowerShell viết liền nhiều bước bị chặn thẳng với thông báo SYSTEM_RUN_DENIED: approval cannot safely bind this command, không có tin xin duyệt. Thứ hai, khi lệnh bị chặn, agent có thể chuyển sang làm bằng chuột và bàn phím, mà thao tác chuột không qua bước duyệt. Trên máy khách, nó mở File Explorer để đọc dung lượng ổ đĩa thay cho lệnh bị chặn.

Lỗi mình đã gặp khi nối OpenClaw với Telegram

Lỗi 1: chọn nhầm cách nhập token. Mình lỡ chọn Use external secret provider thay vì Enter Telegram bot token. Trình thiết lập hỏi tiếp:

text
Where is this Telegram bot token stored?
> Environment variable (Reference a variable from your runtime environment)
  OpenClaw secret store
  Configured secret provider

Không có biến môi trường nào chứa token thì chọn kiểu gì cũng hỏng. Nhấn mũi tên trái (← back) để quay lại, chọn dòng đầu.

Lỗi 2: bật allowlist xong thì bot im lặng. Chạy lệnh dmPolicy allowlist trước lệnh allowFrom, OpenClaw cảnh báo:

text
Config warnings: channels.telegram.allowFrom: channels.telegram.dmPolicy="allowlist" but channels.telegram.allowFrom is empty; all DMs will be dropped.

Lúc đó mọi tin, kể cả của bạn, đều bị bỏ. Chạy ngay lệnh allowFrom với ID của bạn. Trên PowerShell 5.1 nhớ giữ dấu \" như trong lệnh mẫu, nếu không chuỗi JSON mất dấu ngoặc kép.

Lỗi 3: bật chế độ xin phép khi chưa có kênh chat. Trên máy Ubuntu, mình bật cautious trước khi nối Telegram rồi hỏi bằng lệnh openclaw agent. 187 giây sau mới nhận:

text
Request timed out before a response was generated. Please try again, or increase `agents.defaults.timeoutSeconds` in your config.

Agent cần chạy lệnh, lệnh cần duyệt, nhưng chưa có kênh nào để gửi tin xin duyệt. Nối Telegram trước, bật cautious sau.

Khi nào không nên dùng OpenClaw Telegram?

Nếu công ty bạn dùng Zalo hay Microsoft Teams cho mọi việc thì bắt nhân viên cài thêm Telegram chỉ để nói chuyện với trợ lý là thêm việc. OpenClaw có kênh cho cả hai, mình chưa thử kênh Zalo nên chưa so được độ ổn định.

Telegram cũng không hợp nếu nhiều người cùng dùng một trợ lý. Allowlist khóa theo từng ID, nhưng ai trong danh sách cũng ra lệnh được cho cùng một máy. Muốn nhiều người dùng thì nên có nhiều agent, mỗi người một bot.

Câu hỏi thường gặp

Lấy ID Telegram của mình ở đâu?

Nhắn bot lúc chưa ghép cặp, bot trả về dòng "Your Telegram user id". Cách này không cần bot bên thứ ba như @userinfobot.

Thêm bot vào nhóm Telegram được không?

Được, nhưng mặc định bot trong nhóm chỉ trả lời khi được nhắc tên, và nhóm phải nằm trong danh sách cho phép. Bot điều khiển máy tính thì mình không đưa vào nhóm.

Máy tắt thì nhắn bot có mất tin không?

Tin vẫn nằm ở Telegram. Khi Gateway bật lại, OpenClaw đọc và xử lý các tin còn chờ, nên bot có thể trả lời liền mấy câu cũ.

Lộ token bot thì làm gì?

Vào @BotFather, gửi /revoke, chọn bot để đổi token. Rồi chạy lại openclaw channels add, chọn Telegram, dán token mới.

Đọc tiếp

Trợ lý chỉ trả lời khi Gateway đang chạy. Muốn bot trực 24/7 mà không để máy nhà bật suốt, bạn có thể thuê máy chủ theo giờ trên AIDev Cloud. Cần người cài và khóa bot giúp, AIDev nhận cài trọn gói qua trang liên hệ.

Làm ngày 10/10/2026 trên OpenClaw 2026.9.9, máy Windows 10 LTSC 21H2 và Ubuntu 24.04 của AIDev Cloud, bot thử tạo riêng cho bài viết, model deepseek/deepseek-flash. ID Telegram và tên tài khoản trong ảnh đã được che.

Về tác giả

Nguyễn Việt Chung

Founder AIDev

Thạc sĩ AI MSE, tốt nghiệp thủ khoa với điểm 9,4/10. Đồng sáng lập, CTO E-University, SVOnline: số hóa 10+ đại học, 40.000+ sinh viên. Sáng lập AIDev và VietPlatform, xây hệ thống AI cho doanh nghiệp. Anh trực tiếp biên soạn và giảng dạy toàn bộ lộ trình AI Engineer.