Telegram bot là gì? Cách tạo, webhook, giới hạn gửi tin và dùng bot để nhận thông báo cho doanh nghiệp

Telegram bot là gì? Cách tạo, webhook, giới hạn gửi tin và dùng bot để nhận thông báo cho doanh nghiệp
2 Tháng 11, 2026 Lê Quốc Nghĩa 10 phút đọcHướng dẫn

Telegram bot là gì? Telegram bot là ứng dụng nhỏ chạy ngay trong Telegram: người dùng tương tác với bot qua tin nhắn, lệnh, nút bấm hoặc Mini App, còn lập trình viên điều khiển bot bằng một API qua HTTPS. Theo trang chính thức của Telegram (kiểm tra ngày 23/10/2026), nền tảng bot có hơn 10 triệu bot và miễn phí cho cả người dùng lẫn nhà phát triển. Bài này giải thích bot làm được gì, cách tạo bot đầu tiên bằng BotFather, hai cách nhận cập nhật (getUpdates và webhook), các giới hạn gửi tin cần biết, quyền riêng tư trong nhóm, cách giữ token an toàn, và kinh nghiệm thật của OPCAIOS khi dùng bot Telegram để nhận cảnh báo kinh doanh và điều khiển CRM bằng lệnh.

Sơ đồ Telegram bot: tạo bot với BotFather, Bot API qua HTTPS, hai cách nhận cập nhật getUpdates và webhook, giới hạn gửi tin và các lớp bảo mật
Bot gọi Bot API qua HTTPS và nhận cập nhật bằng long polling hoặc webhook; token là chìa khoá cần bảo vệ. Sơ đồ: OPCAIOS.

Telegram bot làm được những gì?

Telegram bot làm được rất nhiều việc, vì bot là ứng dụng nhỏ gọi Bot API qua HTTPS. Nền tảng bot có hơn 10 triệu bot và miễn phí cho cả người dùng lẫn nhà phát triển, theo Telegram (đọc ngày 23/10/2026). Sáu nhóm việc chính:

  1. Mini App: thay cả website bằng ứng dụng viết bằng JavaScript, có đăng nhập và thông báo sẵn qua Telegram.
  2. Trợ lý AI và chatbot ngay trong cuộc trò chuyện, có phản hồi dạng dòng chảy theo thời gian thực.
  3. Quản lý doanh nghiệp: người dùng Telegram Business kết nối bot để xử lý và trả lời tin nhắn thay mặt tài khoản cá nhân.
  4. Nhận thanh toán: bằng Telegram Stars cho hàng hoá số, hoặc nhà cung cấp thanh toán bên thứ ba cho hàng hoá vật lý.
  5. Công cụ tuỳ chỉnh, kết nối dịch vụ và thiết bị.
  6. Trò chơi.

Ví dụ, một doanh nghiệp nhỏ dùng bot để nhận thông báo vận hành, báo cáo định kỳ, duyệt việc và tra cứu nhanh bằng lệnh. Đây là các việc thực dụng nhất, và OPCAIOS làm đúng như vậy với bot cảnh báo kinh doanh.

Tạo Telegram bot đầu tiên như thế nào?

Tạo Telegram bot nghĩa là nói chuyện với @BotFather trong Telegram để nhận một mã xác thực (token). Ví dụ, bạn gửi lệnh tạo bot bằng BotFather, đặt tên, rồi nhận token ngay trong cuộc trò chuyện. Mỗi bot có một token duy nhất khi được tạo, dạng gồm số và chuỗi ký tự, theo Telegram (đọc ngày 23/10/2026) và (theo Telegram); mọi yêu cầu tới Bot API đều qua HTTPS theo mẫu https://api.telegram.org/bot<token>/TÊN_PHƯƠNG_THỨC. Hỗ trợ cả GET và POST, truyền tham số bằng chuỗi truy vấn, dạng form, JSON hoặc multipart (khi tải tệp). Phản hồi luôn là JSON có trường ok; nếu lỗi sẽ có description.

Bạn có thể thử ngay trên trình duyệt bằng phương thức getMe (sau khi có token), nhưng cho ứng dụng thực tế nên dùng thư viện. Tài liệu hướng dẫn "From BotFather to Hello World" có ví dụ tương đương bằng C#, Python, Go và TypeScript. Một lệnh gửi tin nhắn đơn giản (nhớ giữ token ở biến môi trường, không dán vào mã nguồn):

curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
  -H "Content-Type: application/json" \
  -d '{"chat_id": 123456789, "text": "Xin chào từ bot"}'

Nhận tin nhắn bằng getUpdates hay webhook?

Có hai cách nhận cập nhật và bạn chỉ dùng được một cách tại một thời điểm. Theo FAQ của Telegram: getUpdates là cơ chế kéo (long polling), bot hỏi Telegram liên tục; webhook là cơ chế đẩy, Telegram gửi một yêu cầu HTTPS POST chứa JSON tới địa chỉ bạn cung cấp ngay khi có cập nhật. Khi đang đặt webhook thì không dùng được getUpdates.

Tiêu chí getUpdates Webhook
Hướng Bot kéo cập nhật Telegram đẩy cập nhật
Cần máy chủ công khai Không Có, HTTPS và tên miền
Phù hợp Thử nghiệm, chạy trên máy cá nhân Chạy thật trên máy chủ
Xác nhận Dùng offset = update_id cuối + 1 Trả mã 2xx

Webhook cần máy chủ và tham số gì?

Webhook là cách Telegram đẩy cập nhật tới máy chủ HTTPS của bạn, nên máy chủ phải đáp ứng yêu cầu của Telegram (đọc ngày 23/10/2026). Đầu tiên là hạ tầng: hỗ trợ IPv4 (IPv6 hiện chưa được hỗ trợ cho webhook), nhận POST từ các dải 149.154.160.0/20 và 91.108.4.0/22 trên cổng 443, 80, 88 hoặc 8443, dùng TLS 1.2 trở lên, có chứng chỉ hợp lệ khớp tên miền và gửi đủ chuỗi chứng chỉ trung gian. Tiếp theo là các tham số của setWebhook:

  • secret_token: chuỗi bí mật 1 đến 256 ký tự (chỉ chữ, số, gạch dưới và gạch ngang); Telegram gửi nó trong tiêu đề X-Telegram-Bot-Api-Secret-Token ở mọi yêu cầu để bạn chắc rằng yêu cầu đến từ webhook do bạn đặt.
  • allowed_updates: danh sách loại cập nhật muốn nhận (mặc định nhận mọi loại trừ vài loại như chat_member, message_reaction).
  • max_connections: số kết nối đồng thời tối đa 1 đến 100, mặc định 40.
  • drop_pending_updates: bỏ các cập nhật đang chờ.

Nếu máy chủ trả mã khác 2xx, Telegram sẽ gửi lại và bỏ cuộc sau một số lần hợp lý. Vì vậy hãy trả mã 2xx nhanh và xử lý nặng ở nền; xem khuôn xử lý trong Webhook là gì?.

Giới hạn gửi tin của Telegram bot là gì?

Giới hạn gửi tin là mức tốc độ tối đa mà Telegram cho phép bot gửi tin mà không bị lỗi 429. Theo FAQ của Telegram (đọc ngày 23/10/2026), bot nhắn người dùng miễn phí nhưng có ba mức mặc định:

  1. Trong một cuộc trò chuyện, nên tránh gửi quá một tin mỗi giây; cho phép bùng nổ ngắn nhưng sau đó sẽ bị lỗi 429.
  2. Trong nhóm, bot không gửi quá 20 tin mỗi phút.
  3. Với thông báo hàng loạt, bot không gửi quá khoảng 30 tin mỗi giây.

Phản hồi lỗi có trường retry_after cho biết cần chờ bao nhiêu giây. Để gửi nhiều hơn, bot có thể bật phát sóng trả phí trong BotFather: tối đa 1.000 tin mỗi giây, mỗi tin vượt mức miễn phí tính 0,1 Stars, và bot phải có ít nhất 100.000 Stars trong số dư cùng ít nhất 100.000 người dùng hoạt động hằng tháng. Hầu hết bot nhỏ không cần mức này; Telegram khuyên rải thông báo hàng loạt ra khoảng 8 đến 12 giờ để tránh chạm giới hạn (theo Telegram).

Bot nhận được những tin nào trong nhóm?

Bot nhận được tin nào trong nhóm phụ thuộc vào chế độ riêng tư (privacy mode). Mọi bot đều nhận tin dịch vụ, mọi tin trong cuộc trò chuyện riêng với người dùng và mọi tin ở kênh mà bot là thành viên, theo FAQ của Telegram (theo Telegram). Với tin trong nhóm có hai trường hợp:

  1. Bot là quản trị viên hoặc đã tắt privacy mode: nhận mọi tin trừ tin do bot khác gửi.
  2. Bot bật privacy mode: chỉ nhận lệnh dành riêng cho mình (dạng /lenh@ten_bot), lệnh chung như /start nếu bot là bot cuối cùng gửi tin trong nhóm, tin gửi qua bot và các tin trả lời tin của bot.

Ví dụ, một bot nhắc việc cho nhóm 20 người chỉ cần lệnh nên để privacy mode bật. Tắt privacy mode nghĩa là bot đọc toàn bộ tin trong nhóm, vì vậy chỉ tắt khi thật sự cần và hãy báo cho thành viên nhóm. Ngoài ra, bot dùng Telegram qua webhook vẫn tuân theo cùng quy tắc này.

Bot xử lý tệp như thế nào?

Theo FAQ: tải tệp bằng getFile chỉ dùng được với tệp tối đa 20 MB, và bot hiện gửi được tệp mọi loại tối đa 50 MB; giới hạn có thể thay đổi. file_id có thể coi là ổn định lâu dài. Telegram cũng cung cấp mã nguồn máy chủ Bot API cục bộ (telegram-bot-api) cho ai cần tự chạy, theo tài liệu.

Giữ an toàn cho Telegram bot như thế nào?

Giữ an toàn cho bot Telegram nghĩa là bảo vệ token, vì token là chìa khoá điều khiển bot và cần được đối xử như mật khẩu. Mỗi bot có một token duy nhất, theo Telegram (đọc ngày 23/10/2026) và tài liệu Bot API (theo Telegram). Năm thói quen cần có:

  1. Không đưa token vào mã nguồn, kho Git hoặc mã chạy ở trình duyệt: để trong biến môi trường hoặc kho bí mật của máy chủ, mã hoá khi lưu trong cơ sở dữ liệu. Nếu lộ, tạo token mới qua BotFather và vô hiệu token cũ.
  2. Kiểm tra secret_token của webhook và chỉ nhận yêu cầu có đúng tiêu đề.
  3. Giới hạn ai được ra lệnh cho bot: chỉ chấp nhận người dùng hoặc nhóm đã được liên kết.
  4. Thoát (escape) nội dung khi dùng định dạng HTML hoặc Markdown.
  5. Với bot AI, coi nội dung tin nhắn là dữ liệu chứ không phải mệnh lệnh (prompt injection) và cấp quyền tối thiểu; xem MCP là gì?. Nếu để AI viết mã cho bot, hãy đọc lại phần xử lý token, như trong Vibe coding là gì?.

Kinh nghiệm của OPCAIOS: bot cảnh báo kinh doanh và bot lệnh CRM

OPCAIOS dùng Telegram như bảng điều khiển trên điện thoại của chủ website. Hai việc chúng tôi đã làm:

Bot cảnh báo. Khu quản trị có mục thông báo với khoảng ba mươi loại sự kiện bật tắt được: khách để lại thông tin, đặt lịch tư vấn, đơn đã thanh toán, chuyển khoản không khớp đơn, lead quá thời hạn phản hồi, tóm tắt mỗi sáng, báo cáo tuần, website hoặc cơ sở dữ liệu ngừng phản hồi, sao lưu thiếu, chi phí AI chạm ngưỡng, bài viết đã đăng. Một số quyết định kỹ thuật đáng chia sẻ: token bot được mã hoá khi lưu; mỗi lần gửi cảnh báo là "gửi rồi bỏ" để sự cố Telegram không bao giờ làm chậm hay hỏng yêu cầu gốc; vì máy chủ đôi khi kết nối tới Telegram không ổn định, lỗi mạng được thử lại hai lần còn câu trả lời lỗi từ Telegram thì không thử lại; và nội dung được thoát đúng chế độ HTML.

Bot lệnh CRM. Nhân viên được liên kết (bằng mã dùng một lần) có thể thêm khách, ghi chú, ghi cuộc gọi, tạo việc và tìm khách ngay từ Telegram bằng các lệnh ngắn. Bot dùng webhook với secret_token, chỉ nhận loại cập nhật message, bỏ các cập nhật tồn đọng khi kết nối, từ chối thay thế webhook của một ứng dụng khác nếu chưa được xác nhận, và với tác vụ AI mất hàng chục giây thì trả lời ở nền để Telegram không gửi lại webhook. Bài học chung: giữ webhook phản hồi nhanh và tách việc nặng ra nền.

Bắt đầu với Telegram bot như thế nào?

  1. Mở @BotFather trong Telegram, tạo bot và lưu token ở nơi an toàn.
  2. Thử getMe và sendMessage bằng curl với chat ID của bạn.
  3. Viết một chương trình nhỏ, bắt đầu bằng getUpdates khi thử nghiệm.
  4. Chuyển sang webhook trên máy chủ có HTTPS khi chạy thật, đặt secret_token và allowed_updates.
  5. Thêm giới hạn tốc độ và thử lại theo retry_after.
  6. Giới hạn ai được ra lệnh, ghi nhật ký, và theo dõi lỗi. Muốn nối bot với quy trình tự động, xem n8n hoặc Make, và API là gì? cho khái niệm nền.

Đọc thêm: Báo cáo tuần tự động cho chủ OPC.

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

Telegram bot là gì?

Là ứng dụng nhỏ chạy trong Telegram, điều khiển bằng Bot API qua HTTPS, có thể nhắn tin, nhận lệnh, hiển thị nút bấm và Mini App, nhận thanh toán và tích hợp AI.

Tạo Telegram bot có mất phí không?

Không. Theo Telegram, nền tảng bot miễn phí cho cả người dùng và nhà phát triển. Bạn tạo bot qua @BotFather và nhận token; chi phí chỉ phát sinh ở máy chủ của bạn hoặc khi dùng tính năng trả phí như phát sóng quy mô lớn.

Nên dùng getUpdates hay webhook?

getUpdates hợp với thử nghiệm và máy cá nhân vì không cần máy chủ công khai; webhook hợp với chạy thật vì Telegram đẩy cập nhật tới máy chủ HTTPS của bạn. Hai cách không dùng đồng thời.

Bot Telegram có giới hạn gửi tin không?

Có: khoảng một tin mỗi giây trong một cuộc trò chuyện, 20 tin mỗi phút trong nhóm và khoảng 30 tin mỗi giây khi phát hàng loạt; vượt sẽ nhận lỗi 429 kèm retry_after.

Làm sao giữ token bot an toàn?

Giữ token bot an toàn nghĩa là không để token lộ ra ngoài máy chủ của bạn. Token là chuỗi duy nhất của mỗi bot, theo Telegram (đọc ngày 23/10/2026), và mọi yêu cầu tới Bot API đều đặt token trong địa chỉ. Đầu tiên, không để token trong mã nguồn hay Git; lưu bằng biến môi trường hoặc kho bí mật đã mã hoá. Tiếp theo, kiểm tra secret_token của webhook và giới hạn người ra lệnh. Cuối cùng, nếu nghi token bị lộ, tạo token mới qua BotFather và vô hiệu token cũ. Ví dụ, lệnh curl gửi tin ở trên đọc token từ biến TELEGRAM_BOT_TOKEN thay vì dán trực tiếp. Muốn học cách xây công cụ tự động hoá nối Telegram với hệ thống của bạn, xem khoá đào tạo ứng dụng AI của OPCAIOS.

Nguồn: trang giới thiệu bot, tài liệu Bot API, FAQ, hướng dẫn webhook và hướng dẫn "From BotFather to Hello World" tại core.telegram.org/bots, đọc trực tiếp ngày 23/10/2026. Giới hạn và yêu cầu của Telegram có thể thay đổi. Kinh nghiệm cấu hình là của OPCAIOS; chúng tôi không công bố token, chat ID hay nội dung cảnh báo.

Lê Quốc Nghĩa
Lê Quốc Nghĩa
Người xây dựng OPCAIOS

Để lại bình luận

Email của bạn sẽ không hiển thị công khai. Bình luận sẽ hiển thị sau khi được duyệt.