Telegram (Bot API)
Trạng thái: sẵn sàng cho sản xuất với tin nhắn trực tiếp (DM) và nhóm qua grammY. Chế độ long polling là mặc định; chế độ webhook là tùy chọn.Ghép nối
Chính sách DM mặc định cho Telegram là ghép nối.
Khắc phục sự cố kênh
Chẩn đoán và hướng dẫn sửa chữa đa kênh.
Cấu hình Gateway
Mẫu cấu hình kênh đầy đủ và ví dụ.
Thiết lập nhanh
Tạo token bot trong BotFather
Mở Telegram và trò chuyện với @BotFather (xác nhận tên chính xác là
@BotFather).Chạy lệnh /newbot, làm theo hướng dẫn và lưu token.Cấu hình token và chính sách DM
TELEGRAM_BOT_TOKEN=... (chỉ tài khoản mặc định).
Telegram không sử dụng openclaw channels login telegram; cấu hình token trong config/env, sau đó khởi động gateway.Thứ tự giải quyết token có nhận thức về tài khoản. Trong thực tế, giá trị cấu hình sẽ ưu tiên hơn dự phòng môi trường, và
TELEGRAM_BOT_TOKEN chỉ áp dụng cho tài khoản mặc định.Cài đặt phía Telegram
Chế độ riêng tư và khả năng hiển thị nhóm
Chế độ riêng tư và khả năng hiển thị nhóm
Bot Telegram mặc định ở Chế độ Riêng tư, giới hạn các tin nhắn nhóm mà chúng nhận được.Nếu bot cần thấy tất cả tin nhắn nhóm, bạn có thể:
- tắt chế độ riêng tư qua
/setprivacy, hoặc - làm cho bot trở thành quản trị viên nhóm.
Quyền nhóm
Quyền nhóm
Trạng thái quản trị viên được kiểm soát trong cài đặt nhóm Telegram.Bot quản trị viên nhận được tất cả tin nhắn nhóm, hữu ích cho hành vi nhóm luôn bật.
Các tùy chọn hữu ích của BotFather
Các tùy chọn hữu ích của BotFather
/setjoingroupsđể cho phép/từ chối thêm vào nhóm/setprivacycho hành vi hiển thị nhóm
Kiểm soát truy cập và kích hoạt
- Chính sách DM
- Chính sách nhóm và danh sách cho phép
- Hành vi nhắc đến
channels.telegram.dmPolicy kiểm soát truy cập tin nhắn trực tiếp:pairing(mặc định)allowlist(yêu cầu ít nhất một ID người gửi trongallowFrom)open(yêu cầuallowFrombao gồm"*")disabled
channels.telegram.allowFrom chấp nhận ID người dùng Telegram dạng số. Tiền tố telegram: / tg: được chấp nhận và chuẩn hóa.
dmPolicy: "allowlist" với allowFrom trống sẽ chặn tất cả DM và bị từ chối bởi xác thực cấu hình.
Quá trình onboarding chấp nhận đầu vào @username và chuyển đổi nó thành ID số.
Nếu bạn đã nâng cấp và cấu hình của bạn chứa các mục allowlist @username, hãy chạy openclaw doctor --fix để chuyển đổi chúng (nỗ lực tốt nhất; yêu cầu token bot Telegram).
Nếu trước đây bạn dựa vào các tệp allowlist trong pairing-store, openclaw doctor --fix có thể khôi phục các mục vào channels.telegram.allowFrom trong các luồng allowlist (ví dụ khi dmPolicy: "allowlist" chưa có ID rõ ràng).Đối với bot chỉ có một chủ sở hữu, nên sử dụng dmPolicy: "allowlist" với các ID allowFrom dạng số rõ ràng để giữ chính sách truy cập bền vững trong cấu hình (thay vì phụ thuộc vào các phê duyệt ghép nối trước đó).Tìm ID người dùng Telegram của bạn
An toàn hơn (không cần bot bên thứ ba):- DM bot của bạn.
- Chạy
openclaw logs --follow. - Đọc
from.id.
@userinfobot hoặc @getidsbot.Hành vi khi chạy
- Telegram được sở hữu bởi quá trình gateway.
- Định tuyến là xác định: Telegram nhận tin nhắn trả lời lại Telegram (mô hình không chọn kênh).
- Tin nhắn đến được chuẩn hóa thành phong bì kênh chia sẻ với siêu dữ liệu trả lời và chỗ giữ chỗ phương tiện.
- Phiên nhóm được cách ly theo ID nhóm. Các chủ đề diễn đàn thêm
:topic:<threadId>để giữ các chủ đề cách ly. - Tin nhắn DM có thể mang
message_thread_id; OpenClaw định tuyến chúng với khóa phiên nhận thức chủ đề và bảo toàn ID chủ đề cho các câu trả lời. - Long polling sử dụng grammY runner với trình tự theo chat/chủ đề. Tổng thể runner sink concurrency sử dụng
agents.defaults.maxConcurrent. - Telegram Bot API không hỗ trợ xác nhận đã đọc (
sendReadReceiptskhông áp dụng).
Tham khảo tính năng
Xem trước luồng trực tiếp (chỉnh sửa tin nhắn)
Xem trước luồng trực tiếp (chỉnh sửa tin nhắn)
OpenClaw có thể phát trực tiếp các câu trả lời một phần theo thời gian thực:
- trò chuyện trực tiếp: xem trước tin nhắn +
editMessageText - nhóm/chủ đề: xem trước tin nhắn +
editMessageText
channels.telegram.streaminglàoff | partial | block | progress(mặc định:partial)progressánh xạ tớipartialtrên Telegram (tương thích với tên gọi đa kênh)channels.telegram.streamModecũ và các giá trị booleanstreamingđược ánh xạ tự động
- DM: OpenClaw giữ cùng một tin nhắn xem trước và thực hiện chỉnh sửa cuối cùng tại chỗ (không có tin nhắn thứ hai)
- nhóm/chủ đề: OpenClaw giữ cùng một tin nhắn xem trước và thực hiện chỉnh sửa cuối cùng tại chỗ (không có tin nhắn thứ hai)
sendMessage + editMessageText.Luồng lý luận chỉ dành cho Telegram:/reasoning streamgửi lý luận đến bản xem trước trực tiếp trong khi tạo- câu trả lời cuối cùng được gửi mà không có văn bản lý luận
Định dạng và dự phòng HTML
Định dạng và dự phòng HTML
Văn bản gửi đi sử dụng
parse_mode: "HTML" của Telegram.- Văn bản giống Markdown được hiển thị thành HTML an toàn với Telegram.
- HTML thô của mô hình được thoát để giảm lỗi phân tích cú pháp của Telegram.
- Nếu Telegram từ chối HTML đã phân tích, OpenClaw thử lại dưới dạng văn bản thuần túy.
channels.telegram.linkPreview: false.Lệnh gốc và lệnh tùy chỉnh
Lệnh gốc và lệnh tùy chỉnh
Đăng ký menu lệnh Telegram được xử lý khi khởi động với Quy tắc:Lệnh ghép nối thiết bị (plugin
Khi plugin
setMyCommands.Mặc định lệnh gốc:commands.native: "auto"bật lệnh gốc cho Telegram
- tên được chuẩn hóa (bỏ dấu
/đầu, viết thường) - mẫu hợp lệ:
a-z,0-9,_, độ dài1..32 - lệnh tùy chỉnh không thể ghi đè lệnh gốc
- xung đột/trùng lặp bị bỏ qua và ghi lại
- lệnh tùy chỉnh chỉ là mục menu; chúng không tự động thực hiện hành vi
- lệnh plugin/kỹ năng vẫn có thể hoạt động khi được nhập ngay cả khi không hiển thị trong menu Telegram
setMyCommands failedvớiBOT_COMMANDS_TOO_MUCHcó nghĩa là menu Telegram vẫn tràn sau khi cắt bớt; giảm lệnh plugin/kỹ năng/tùy chỉnh hoặc tắt menu gốcsetMyCommands failedvới lỗi mạng/lấy thường có nghĩa là DNS/HTTPS ra ngoài tớiapi.telegram.orgbị chặn.
Lệnh ghép nối thiết bị (plugin device-pair)
Khi plugin device-pair được cài đặt:/pairtạo mã thiết lập- dán mã vào ứng dụng iOS
/pair pendingliệt kê các yêu cầu đang chờ xử lý (bao gồm vai trò/phạm vi)- phê duyệt yêu cầu:
/pair approve <requestId>để phê duyệt rõ ràng/pair approvekhi chỉ có một yêu cầu đang chờ xử lý/pair approve latestcho yêu cầu gần nhất
requestId khác. Chạy lại /pair pending trước khi phê duyệt.Thêm chi tiết: Ghép nối.Nút nội tuyến
Nút nội tuyến
Cấu hình phạm vi bàn phím nội tuyến:Ghi đè theo tài khoản:Phạm vi:Các lần nhấp callback được chuyển đến agent dưới dạng văn bản:
offdmgroupallallowlist(mặc định)
capabilities: ["inlineButtons"] cũ ánh xạ tới inlineButtons: "all".Ví dụ hành động tin nhắn:callback_data: <value>Hành động tin nhắn Telegram cho agent và tự động hóa
Hành động tin nhắn Telegram cho agent và tự động hóa
Các hành động công cụ Telegram bao gồm:
sendMessage(to,content, tùy chọnmediaUrl,replyToMessageId,messageThreadId)react(chatId,messageId,emoji)deleteMessage(chatId,messageId)editMessage(chatId,messageId,content)createForumTopic(chatId,name, tùy chọniconColor,iconCustomEmojiId)
send, react, delete, edit, sticker, sticker-search, topic-create).Kiểm soát cổng:channels.telegram.actions.sendMessagechannels.telegram.actions.deleteMessagechannels.telegram.actions.reactionschannels.telegram.actions.sticker(mặc định: tắt)
edit và topic-create hiện được bật theo mặc định và không có các chuyển đổi channels.telegram.actions.* riêng biệt.
Các lần gửi khi chạy sử dụng ảnh chụp nhanh cấu hình/bí mật đang hoạt động (khởi động/tải lại), vì vậy các đường dẫn hành động không thực hiện giải quyết lại SecretRef theo từng lần gửi.Ngữ nghĩa loại bỏ phản ứng: /tools/reactionsThẻ luồng trả lời
Thẻ luồng trả lời
Telegram hỗ trợ các thẻ luồng trả lời rõ ràng trong đầu ra được tạo:
[[reply_to_current]]trả lời tin nhắn kích hoạt[[reply_to:<id>]]trả lời một ID tin nhắn Telegram cụ thể
channels.telegram.replyToMode kiểm soát xử lý:off(mặc định)firstall
off vô hiệu hóa luồng trả lời ngầm định. Các thẻ [[reply_to_*]] rõ ràng vẫn được tôn trọng.Chủ đề diễn đàn và hành vi chủ đề
Chủ đề diễn đàn và hành vi chủ đề
Siêu nhóm diễn đàn:Mỗi chủ đề sau đó có khóa phiên riêng: Điều này hiện được giới hạn cho các chủ đề diễn đàn trong các nhóm và siêu nhóm.Khởi tạo ACP theo chủ đề từ chat:
- khóa phiên chủ đề thêm
:topic:<threadId> - trả lời và gõ nhắm vào chủ đề
- đường dẫn cấu hình chủ đề:
channels.telegram.groups.<chatId>.topics.<threadId>
threadId=1):- gửi tin nhắn bỏ qua
message_thread_id(Telegram từ chốisendMessage(...thread_id=1)) - hành động gõ vẫn bao gồm
message_thread_id
requireMention, allowFrom, skills, systemPrompt, enabled, groupPolicy).
agentId chỉ dành cho chủ đề và không thừa kế từ mặc định nhóm.Định tuyến agent theo chủ đề: Mỗi chủ đề có thể định tuyến đến một agent khác nhau bằng cách thiết lập agentId trong cấu hình chủ đề. Điều này cho phép mỗi chủ đề có không gian làm việc, bộ nhớ và phiên riêng biệt. Ví dụ:agent:zu:telegram:group:-1001234567890:topic:3Liên kết chủ đề ACP bền vững: Các chủ đề diễn đàn có thể ghim các phiên harness ACP thông qua các liên kết ACP kiểu cấp cao nhất:bindings[]vớitype: "acp"vàmatch.channel: "telegram"
/acp spawn <agent> --thread here|autocó thể liên kết chủ đề Telegram hiện tại với một phiên ACP mới.- Các tin nhắn chủ đề tiếp theo định tuyến trực tiếp đến phiên ACP đã liên kết (không cần
/acp steer). - OpenClaw ghim tin nhắn xác nhận khởi tạo trong chủ đề sau khi liên kết thành công.
- Yêu cầu
channels.telegram.threadBindings.spawnAcpSessions=true.
MessageThreadIdIsForum
- các cuộc trò chuyện riêng với
message_thread_idgiữ định tuyến DM nhưng sử dụng khóa phiên nhận thức chủ đề/mục tiêu trả lời.
Âm thanh, video và nhãn dán
Âm thanh, video và nhãn dán
Tin nhắn âm thanh
Telegram phân biệt giữa ghi chú giọng nói và tệp âm thanh.- mặc định: hành vi tệp âm thanh
- thẻ
[[audio_as_voice]]trong câu trả lời agent để buộc gửi ghi chú giọng nói
Tin nhắn video
Telegram phân biệt giữa tệp video và ghi chú video.Ví dụ hành động tin nhắn:Nhãn dán
Xử lý nhãn dán đến:- WEBP tĩnh: tải xuống và xử lý (chỗ giữ chỗ
<media:sticker>) - TGS động: bỏ qua
- WEBM video: bỏ qua
Sticker.emojiSticker.setNameSticker.fileIdSticker.fileUniqueIdSticker.cachedDescription
~/.openclaw/telegram/sticker-cache.json
Thông báo phản ứng
Thông báo phản ứng
Phản ứng Telegram đến dưới dạng cập nhật
message_reaction (tách biệt với tải trọng tin nhắn).Khi được bật, OpenClaw xếp hàng các sự kiện hệ thống như:Telegram reaction added: 👍 by Alice (@alice) on msg 42
channels.telegram.reactionNotifications:off | own | all(mặc định:own)channels.telegram.reactionLevel:off | ack | minimal | extensive(mặc định:minimal)
owncó nghĩa là phản ứng của người dùng đối với các tin nhắn do bot gửi chỉ (nỗ lực tốt nhất qua bộ nhớ cache tin nhắn đã gửi).- Các sự kiện phản ứng vẫn tôn trọng các kiểm soát truy cập Telegram (
dmPolicy,allowFrom,groupPolicy,groupAllowFrom); người gửi không được phép bị loại bỏ. - Telegram không cung cấp ID chủ đề trong các cập nhật phản ứng.
- các nhóm không phải diễn đàn định tuyến đến phiên trò chuyện nhóm
- các nhóm diễn đàn định tuyến đến phiên chủ đề chung của nhóm (
:topic:1), không phải chủ đề gốc chính xác
allowed_updates cho polling/webhook tự động bao gồm message_reaction.Phản ứng xác nhận
Phản ứng xác nhận
ackReaction gửi một emoji xác nhận trong khi OpenClaw đang xử lý một tin nhắn đến.Thứ tự giải quyết:channels.telegram.accounts.<accountId>.ackReactionchannels.telegram.ackReactionmessages.ackReaction- emoji nhận dạng agent dự phòng (
agents.list[].identity.emoji, nếu không có thì ”👀”)
- Telegram mong đợi emoji unicode (ví dụ ”👀”).
- Sử dụng
""để tắt phản ứng cho một kênh hoặc tài khoản.
Ghi cấu hình từ sự kiện và lệnh Telegram
Ghi cấu hình từ sự kiện và lệnh Telegram
Ghi cấu hình kênh được bật theo mặc định (
configWrites !== false).Các ghi được kích hoạt bởi Telegram bao gồm:- sự kiện di chuyển nhóm (
migrate_to_chat_id) để cập nhậtchannels.telegram.groups /config setvà/config unset(yêu cầu bật lệnh)
Long polling vs webhook
Long polling vs webhook
Mặc định: long polling.Chế độ webhook:
- thiết lập
channels.telegram.webhookUrl - thiết lập
channels.telegram.webhookSecret(bắt buộc khi URL webhook được thiết lập) - tùy chọn
channels.telegram.webhookPath(mặc định/telegram-webhook) - tùy chọn
channels.telegram.webhookHost(mặc định127.0.0.1) - tùy chọn
channels.telegram.webhookPort(mặc định8787)
127.0.0.1:8787.Nếu điểm cuối công khai của bạn khác, hãy đặt một proxy ngược phía trước và trỏ webhookUrl đến URL công khai.
Thiết lập webhookHost (ví dụ 0.0.0.0) khi bạn cố ý cần ingress bên ngoài.Giới hạn, thử lại và mục tiêu CLI
Giới hạn, thử lại và mục tiêu CLI
channels.telegram.textChunkLimitmặc định là 4000.channels.telegram.chunkMode="newline"ưu tiên ranh giới đoạn văn (dòng trống) trước khi chia độ dài.channels.telegram.mediaMaxMb(mặc định 100) giới hạn kích thước phương tiện Telegram đến và đi.channels.telegram.timeoutSecondsghi đè thời gian chờ của khách hàng API Telegram (nếu không được đặt, áp dụng mặc định của grammY).- lịch sử ngữ cảnh nhóm sử dụng
channels.telegram.historyLimithoặcmessages.groupChat.historyLimit(mặc định 50);0vô hiệu hóa. - Kiểm soát lịch sử DM:
channels.telegram.dmHistoryLimitchannels.telegram.dms["<user_id>"].historyLimit
- cấu hình
channels.telegram.retryáp dụng cho các trợ giúp gửi Telegram (CLI/công cụ/hành động) cho các lỗi API gửi đi có thể khôi phục.
openclaw message poll và hỗ trợ các chủ đề diễn đàn:--poll-duration-seconds(5-600)--poll-anonymous--poll-public--thread-idcho các chủ đề diễn đàn (hoặc sử dụng mục tiêu:topic:)
--buttonscho bàn phím nội tuyến khichannels.telegram.capabilities.inlineButtonscho phép--force-documentđể gửi hình ảnh và GIF gửi đi dưới dạng tài liệu thay vì tải lên ảnh hoặc phương tiện động nén
channels.telegram.actions.sendMessage=falsevô hiệu hóa các tin nhắn Telegram gửi đi, bao gồm cả các cuộc thăm dòchannels.telegram.actions.poll=falsevô hiệu hóa việc tạo cuộc thăm dò Telegram trong khi vẫn để lại các lần gửi thông thường được bật
Phê duyệt thực thi trong Telegram
Phê duyệt thực thi trong Telegram
Telegram hỗ trợ phê duyệt thực thi trong DM của người phê duyệt và có thể tùy chọn đăng lời nhắc phê duyệt trong chat hoặc chủ đề gốc.Đường dẫn cấu hình:
channels.telegram.execApprovals.enabledchannels.telegram.execApprovals.approverschannels.telegram.execApprovals.target(dm|channel|both, mặc định:dm)agentFilter,sessionFilter
enabled là false hoặc approvers trống, Telegram không hoạt động như một khách hàng phê duyệt thực thi. Các yêu cầu phê duyệt quay lại các tuyến phê duyệt cấu hình khác hoặc chính sách dự phòng phê duyệt thực thi.Quy tắc giao hàng:target: "dm"chỉ gửi lời nhắc phê duyệt đến DM của người phê duyệt được cấu hìnhtarget: "channel"gửi lời nhắc trở lại chat/chủ đề Telegram gốctarget: "both"gửi đến DM của người phê duyệt và chat/chủ đề gốc
/approve và không thể sử dụng các nút phê duyệt Telegram.Giao hàng kênh hiển thị văn bản lệnh trong chat, vì vậy chỉ bật channel hoặc both trong các nhóm/chủ đề đáng tin cậy. Khi lời nhắc hạ cánh trong một chủ đề diễn đàn, OpenClaw bảo toàn chủ đề cho cả lời nhắc phê duyệt và theo dõi sau phê duyệt.Các nút phê duyệt nội tuyến cũng phụ thuộc vào channels.telegram.capabilities.inlineButtons cho phép bề mặt mục tiêu (dm, group, hoặc all).Tài liệu liên quan: Phê duyệt thực thiKhắc phục sự cố
Bot không phản hồi tin nhắn nhóm không nhắc đến
Bot không phản hồi tin nhắn nhóm không nhắc đến
- Nếu
requireMention=false, chế độ riêng tư của Telegram phải cho phép khả năng hiển thị đầy đủ.- BotFather:
/setprivacy-> Tắt - sau đó xóa và thêm lại bot vào nhóm
- BotFather:
openclaw channels statuscảnh báo khi cấu hình mong đợi tin nhắn nhóm không nhắc đến.openclaw channels status --probecó thể kiểm tra ID nhóm dạng số rõ ràng; ký tự đại diện"*"không thể được kiểm tra thành viên.- kiểm tra phiên nhanh:
/activation always.
Bot không thấy tin nhắn nhóm nào cả
Bot không thấy tin nhắn nhóm nào cả
- khi
channels.telegram.groupstồn tại, nhóm phải được liệt kê (hoặc bao gồm"*") - xác minh thành viên bot trong nhóm
- xem lại nhật ký:
openclaw logs --followđể biết lý do bỏ qua
Lệnh hoạt động một phần hoặc không hoạt động
Lệnh hoạt động một phần hoặc không hoạt động
- ủy quyền danh tính người gửi của bạn (ghép nối và/hoặc
allowFromdạng số) - ủy quyền lệnh vẫn áp dụng ngay cả khi chính sách nhóm là
open setMyCommands failedvớiBOT_COMMANDS_TOO_MUCHcó nghĩa là menu gốc có quá nhiều mục; giảm lệnh plugin/kỹ năng/tùy chỉnh hoặc tắt menu gốcsetMyCommands failedvới lỗi mạng/lấy thường chỉ ra các vấn đề về khả năng truy cập DNS/HTTPS tớiapi.telegram.org
Sự không ổn định của polling hoặc mạng
Sự không ổn định của polling hoặc mạng
- Node 22+ + fetch/proxy tùy chỉnh có thể kích hoạt hành vi hủy bỏ ngay lập tức nếu các loại AbortSignal không khớp.
- Một số máy chủ giải quyết
api.telegram.orgthành IPv6 trước; egress IPv6 bị hỏng có thể gây ra lỗi API Telegram không liên tục. - Nếu nhật ký bao gồm
TypeError: fetch failedhoặcNetwork request for 'getUpdates' failed!, OpenClaw hiện thử lại những lỗi này như các lỗi mạng có thể khôi phục. - Trên các máy chủ VPS với egress/TLS trực tiếp không ổn định, định tuyến các cuộc gọi API Telegram qua
channels.telegram.proxy:
- Node 22+ mặc định là
autoSelectFamily=true(trừ WSL2) vàdnsResultOrder=ipv4first. - Nếu máy chủ của bạn là WSL2 hoặc hoạt động tốt hơn rõ ràng với hành vi chỉ IPv4, buộc chọn họ:
- Ghi đè môi trường (tạm thời):
OPENCLAW_TELEGRAM_DISABLE_AUTO_SELECT_FAMILY=1OPENCLAW_TELEGRAM_ENABLE_AUTO_SELECT_FAMILY=1OPENCLAW_TELEGRAM_DNS_RESULT_ORDER=ipv4first
- Xác thực câu trả lời DNS:
Tham khảo cấu hình Telegram
Tham khảo chính:-
channels.telegram.enabled: bật/tắt khởi động kênh. -
channels.telegram.botToken: token bot (BotFather). -
channels.telegram.tokenFile: đọc token từ đường dẫn tệp thông thường. Symlink bị từ chối. -
channels.telegram.dmPolicy:pairing | allowlist | open | disabled(mặc định: pairing). -
channels.telegram.allowFrom: danh sách cho phép DM (ID người dùng Telegram dạng số).allowlistyêu cầu ít nhất một ID người gửi.openyêu cầu"*".openclaw doctor --fixcó thể chuyển đổi các mục@usernamecũ thành ID và có thể khôi phục các mục danh sách cho phép từ các tệp pairing-store trong các luồng di chuyển danh sách cho phép. -
channels.telegram.actions.poll: bật hoặc tắt việc tạo cuộc thăm dò Telegram (mặc định: bật; vẫn yêu cầusendMessage). -
channels.telegram.defaultTo: mục tiêu Telegram mặc định được sử dụng bởi CLI--deliverkhi không có--reply-torõ ràng được cung cấp. -
channels.telegram.groupPolicy:open | allowlist | disabled(mặc định: allowlist). -
channels.telegram.groupAllowFrom: danh sách cho phép người gửi nhóm (ID người dùng Telegram dạng số).openclaw doctor --fixcó thể chuyển đổi các mục@usernamecũ thành ID. Các mục không phải số bị bỏ qua khi xác thực. Xác thực nhóm không sử dụng dự phòng pairing-store DM (2026.2.25+). -
Ưu tiên đa tài khoản:
- Khi hai hoặc nhiều ID tài khoản được cấu hình, thiết lập
channels.telegram.defaultAccount(hoặc bao gồmchannels.telegram.accounts.default) để làm cho định tuyến mặc định rõ ràng. - Nếu không có cái nào được thiết lập, OpenClaw quay lại ID tài khoản đầu tiên đã chuẩn hóa và
openclaw doctorcảnh báo. channels.telegram.accounts.default.allowFromvàchannels.telegram.accounts.default.groupAllowFromchỉ áp dụng cho tài khoảndefault.- Các tài khoản được đặt tên thừa kế
channels.telegram.allowFromvàchannels.telegram.groupAllowFromkhi các giá trị cấp tài khoản không được thiết lập. - Các tài khoản được đặt tên không thừa kế
channels.telegram.accounts.default.allowFrom/groupAllowFrom.
- Khi hai hoặc nhiều ID tài khoản được cấu hình, thiết lập
-
channels.telegram.groups: mặc định theo nhóm + danh sách cho phép (sử dụng"*"cho mặc định toàn cầu).channels.telegram.groups.<id>.groupPolicy: ghi đè theo nhóm cho groupPolicy (open | allowlist | disabled).channels.telegram.groups.<id>.requireMention: mặc định kiểm soát nhắc đến.channels.telegram.groups.<id>.skills: bộ lọc kỹ năng (bỏ qua = tất cả kỹ năng, trống = không có).channels.telegram.groups.<id>.allowFrom: ghi đè danh sách cho phép người gửi theo nhóm.channels.telegram.groups.<id>.systemPrompt: lời nhắc hệ thống bổ sung cho nhóm.channels.telegram.groups.<id>.enabled: vô hiệu hóa nhóm khifalse.channels.telegram.groups.<id>.topics.<threadId>.*: ghi đè theo chủ đề (trường nhóm + chỉ chủ đềagentId).channels.telegram.groups.<id>.topics.<threadId>.agentId: định tuyến chủ đề này đến một agent cụ thể (ghi đè định tuyến cấp nhóm và liên kết).
-
channels.telegram.groups.<id>.topics.<threadId>.groupPolicy: ghi đè theo chủ đề cho groupPolicy (open | allowlist | disabled). -
channels.telegram.groups.<id>.topics.<threadId>.requireMention: ghi đè kiểm soát nhắc đến theo chủ đề. -
bindings[]cấp cao nhất vớitype: "acp"và ID chủ đề chuẩnchatId:topic:topicIdtrongmatch.peer.id: trường liên kết chủ đề ACP bền vững (xem Agent ACP). -
channels.telegram.direct.<id>.topics.<threadId>.agentId: định tuyến các chủ đề DM đến một agent cụ thể (cùng hành vi như các chủ đề diễn đàn). -
channels.telegram.execApprovals.enabled: bật Telegram làm khách hàng phê duyệt thực thi dựa trên chat cho tài khoản này. -
channels.telegram.execApprovals.approvers: ID người dùng Telegram được phép phê duyệt hoặc từ chối yêu cầu thực thi. Bắt buộc khi phê duyệt thực thi được bật. -
channels.telegram.execApprovals.target:dm | channel | both(mặc định:dm).channelvàbothbảo toàn chủ đề Telegram gốc khi có. -
channels.telegram.execApprovals.agentFilter: bộ lọc ID agent tùy chọn cho các lời nhắc phê duyệt được chuyển tiếp. -
channels.telegram.execApprovals.sessionFilter: bộ lọc khóa phiên tùy chọn (chuỗi con hoặc regex) cho các lời nhắc phê duyệt được chuyển tiếp. -
channels.telegram.accounts.<account>.execApprovals: ghi đè theo tài khoản cho định tuyến phê duyệt thực thi Telegram và ủy quyền người phê duyệt. -
channels.telegram.capabilities.inlineButtons:off | dm | group | all | allowlist(mặc định: allowlist). -
channels.telegram.accounts.<account>.capabilities.inlineButtons: ghi đè theo tài khoản. -
channels.telegram.commands.nativeSkills: bật/tắt lệnh kỹ năng gốc Telegram. -
channels.telegram.replyToMode:off | first | all(mặc định:off). -
channels.telegram.textChunkLimit: kích thước khối gửi đi (ký tự). -
channels.telegram.chunkMode:length(mặc định) hoặcnewlineđể chia trên các dòng trống (ranh giới đoạn văn) trước khi chia độ dài. -
channels.telegram.linkPreview: bật/tắt xem trước liên kết cho các tin nhắn gửi đi (mặc định: true). -
channels.telegram.streaming:off | partial | block | progress(xem trước luồng trực tiếp; mặc định:partial;progressánh xạ tớipartial;blocklà chế độ tương thích xem trước cũ). Phát trực tiếp xem trước Telegram sử dụng một tin nhắn xem trước duy nhất được chỉnh sửa tại chỗ. -
channels.telegram.mediaMaxMb: giới hạn phương tiện Telegram đến/đi (MB, mặc định: 100). -
channels.telegram.retry: chính sách thử lại cho các trợ giúp gửi Telegram (CLI/công cụ/hành động) trên các lỗi API gửi đi có thể khôi phục (lần thử, minDelayMs, maxDelayMs, jitter). -
channels.telegram.network.autoSelectFamily: ghi đè Node autoSelectFamily (true=bật, false=tắt). Mặc định là bật trên Node 22+, với WSL2 mặc định là tắt. -
channels.telegram.network.dnsResultOrder: ghi đè thứ tự kết quả DNS (ipv4firsthoặcverbatim). Mặc định làipv4firsttrên Node 22+. -
channels.telegram.proxy: URL proxy cho các cuộc gọi Bot API (SOCKS/HTTP). -
channels.telegram.webhookUrl: bật chế độ webhook (yêu cầuchannels.telegram.webhookSecret). -
channels.telegram.webhookSecret: bí mật webhook (bắt buộc khi webhookUrl được thiết lập). -
channels.telegram.webhookPath: đường dẫn webhook cục bộ (mặc định/telegram-webhook). -
channels.telegram.webhookHost: máy chủ liên kết webhook cục bộ (mặc định127.0.0.1). -
channels.telegram.webhookPort: cổng liên kết webhook cục bộ (mặc định8787). -
channels.telegram.actions.reactions: cổng phản ứng công cụ Telegram. -
channels.telegram.actions.sendMessage: cổng gửi tin nhắn công cụ Telegram. -
channels.telegram.actions.deleteMessage: cổng xóa tin nhắn công cụ Telegram. -
channels.telegram.actions.sticker: cổng hành động nhãn dán Telegram — gửi và tìm kiếm (mặc định: false). -
channels.telegram.reactionNotifications:off | own | all— kiểm soát phản ứng nào kích hoạt sự kiện hệ thống (mặc định:ownkhi không được thiết lập). -
channels.telegram.reactionLevel:off | ack | minimal | extensive— kiểm soát khả năng phản ứng của agent (mặc định:minimalkhi không được thiết lập). - Tham khảo cấu hình - Telegram
- khởi động/xác thực:
enabled,botToken,tokenFile,accounts.*(tokenFilephải trỏ đến một tệp thông thường; symlink bị từ chối) - kiểm soát truy cập:
dmPolicy,allowFrom,groupPolicy,groupAllowFrom,groups,groups.*.topics.*,bindings[]cấp cao nhất (type: "acp") - phê duyệt thực thi:
execApprovals,accounts.*.execApprovals - lệnh/menu:
commands.native,commands.nativeSkills,customCommands - luồng/trả lời:
replyToMode - phát trực tiếp:
streaming(xem trước),blockStreaming - định dạng/gửi:
textChunkLimit,chunkMode,linkPreview,responsePrefix - phương tiện/mạng:
mediaMaxMb,timeoutSeconds,retry,network.autoSelectFamily,proxy - webhook:
webhookUrl,webhookSecret,webhookPath,webhookHost - hành động/khả năng:
capabilities.inlineButtons,actions.sendMessage|editMessage|deleteMessage|reactions|sticker - phản ứng:
reactionNotifications,reactionLevel - ghi/lịch sử:
configWrites,historyLimit,dmHistoryLimit,dms.*.historyLimit