Việc tự động hóa thông báo thông qua bot nhắn tin giúp tối ưu hóa quy trình phát triển, cho phép gửi cảnh báo tức thời khi quá trình build hoàn thành, xảy ra lỗi hoặc khi triển khai kết thúc. Hướng dẫn này cung cấp các bước chi tiết để tích hợp bot có khả năng gửi tin nhắn tự động thông qua webhook trên các nền tảng nhắn tin phổ biến. Cho dù bạn cần thông báo cho đội của mình về kết quả pipeline CI/CD, cảnh báo giám sát máy chủ, hoặc bất kỳ quá trình tự động nào khi hoàn thành, các tích hợp này đều làm được. Chúng tôi chỉ đề cập đến các nền tảng có khả năng tích hợp bot đơn giản - một số ứng dụng nhắn tin bảo mật ưu tiên quyền riêng tư hơn các tính năng tự động hóa và được cố ý loại trừ.
Mục lục
- Hiểu về Tự động hóa Bot dựa trên Webhook
- Hướng dẫn tích hợp Bot nhắn tin
- Bot Webhook Discord
- Bot Webhook Slack
- Bot Webhook Microsoft Teams
- Bot Telegram
- Bot Webhook Mattermost
- Bot Matrix/Element
- Bot WhatsApp Business
- Bot Facebook Messenger
- Các ứng dụng nhắn tin không hỗ trợ Bot dễ dàng
- Ví dụ triển khai thực tế
- Kết luận
- Câu hỏi thường gặp
Hiểu về Tự động hóa Bot dựa trên Webhook
Bot dựa trên webhook hoạt động dựa trên một nguyên tắc đơn giản: ứng dụng của bạn gửi yêu cầu HTTP POST đến một URL cụ thể, và nền tảng nhắn tin sẽ gửi nội dung đó đến một kênh hoặc người dùng. Kiến trúc này lý tưởng cho các kịch bản tự động hóa như:
- Thông báo build - Cảnh báo khi quá trình biên dịch thành công hoặc thất bại với chi tiết lỗi
- Cập nhật triển khai - Thông báo cho nhóm khi code đến môi trường staging hoặc production
- Cảnh báo giám sát - Gửi cảnh báo về tình trạng máy chủ hoặc thông báo ngừng hoạt động
- Báo cáo theo lịch - Gửi số liệu hàng ngày hoặc tóm tắt tình trạng
Quy trình cốt lõi bao gồm:
- Tạo bot hoặc URL webhook trên nền tảng mục tiêu
- Cấu hình công cụ tự động hóa (CI/CD, hệ thống giám sát, script tùy chỉnh) để gửi yêu cầu HTTP
- Định dạng nội dung tin nhắn theo đặc điểm kỹ thuật của nền tảng
Hiểu cách các nền tảng nhắn tin khác nhau xử lý bảo mật và mã hóa là điều quan trọng để lựa chọn đúng nền tảng cho thông báo của bạn. Để tìm hiểu sâu hơn về các cân nhắc bảo mật cụ thể cho từng nền tảng, hãy xem Hướng dẫn Toàn diện về Ứng dụng Nhắn tin năm 2026.
Hướng dẫn tích hợp Bot nhắn tin
Dưới đây là hướng dẫn từng bước cho mỗi nền tảng hỗ trợ tích hợp bot dựa trên webhook dễ dàng để gửi tin nhắn tự động.
Bot Webhook Discord
Discord cung cấp một trong những triển khai webhook đơn giản nhất, không yêu cầu ứng dụng bot hoặc token xác thực cho việc gửi tin nhắn cơ bản.
Hướng dẫn thiết lập từng bước
- Mở Cài đặt Máy chủ - Nhấp chuột phải vào tên máy chủ và chọn "Server Settings"
- Điều hướng đến Integrations - Nhấp vào "Integrations" trong thanh bên trái
- Tạo Webhook - Nhấp vào "Webhooks" sau đó "New Webhook"
- Cấu hình Webhook - Đặt tên cho webhook (ví dụ: "Build Bot"), chọn kênh đích và tùy chọn tải lên ảnh đại diện
- Sao chép URL Webhook - Nhấp vào "Copy Webhook URL" và lưu trữ an toàn
Gửi tin nhắn qua Webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"content": "✅ Build completed successfully!\n\nProject: MyApp\nBranch: main\nDuration: 3m 42s"}' \
https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKEN
Ví dụ Rich Embed cho thông báo lỗi
curl -X POST -H "Content-Type: application/json" \
-d '{
"embeds": [{
"title": "❌ Build Failed",
"color": 15158332,
"fields": [
{"name": "Project", "value": "MyApp", "inline": true},
{"name": "Branch", "value": "feature/login", "inline": true},
{"name": "Error", "value": "```TypeError: Cannot read property of undefined```"}
],
"timestamp": "2026-01-15T10:30:00.000Z"
}]
}' \
YOUR_WEBHOOK_URL
Tài liệu chính thức: Tài liệu Webhook Discord
Bot Webhook Slack
Slack cung cấp Incoming Webhooks như một phần của hệ thống Slack Apps, cung cấp định dạng tin nhắn phong phú và linh hoạt về kênh.
Hướng dẫn thiết lập từng bước
- Tạo Slack App - Truy cập api.slack.com/apps và nhấp vào "Create New App"
- Chọn phương thức tạo - Chọn "From scratch" và đặt tên cho ứng dụng (ví dụ: "CI/CD Notifications")
- Bật Incoming Webhooks - Điều hướng đến "Incoming Webhooks" trong thanh bên trái và bật nó
- Thêm Webhook vào Workspace - Nhấp vào "Add New Webhook to Workspace"
- Chọn kênh - Chọn kênh nơi thông báo sẽ xuất hiện và nhấp vào "Allow"
- Sao chép URL Webhook - URL webhook duy nhất của bạn hiện đã được hiển thị
Gửi tin nhắn qua Webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Deployment to production completed successfully!"}' \
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXX
Tin nhắn Block Kit cho thông báo chi tiết
curl -X POST -H "Content-Type: application/json" \
-d '{
"blocks": [
{
"type": "header",
"text": {"type": "plain_text", "text": "🚨 Build Failed"}
},
{
"type": "section",
"fields": [
{"type": "mrkdwn", "text": "*Project:*\nMyApp"},
{"type": "mrkdwn", "text": "*Branch:*\nmain"},
{"type": "mrkdwn", "text": "*Error:*\n`Module not found`"}
]
}
]
}' \
YOUR_WEBHOOK_URL
Tài liệu chính thức: Hướng dẫn Incoming Webhooks của Slack
Bot Webhook Microsoft Teams
Microsoft Teams hỗ trợ Incoming Webhooks cho thông báo kênh, được tích hợp thông qua hệ thống connectors.
Hướng dẫn thiết lập từng bước
- Mở Cài đặt kênh - Điều hướng đến kênh đích, nhấp vào ba dấu chấm (•••) bên cạnh tên kênh
- Chọn Connectors - Nhấp vào "Connectors" (hoặc "Manage channel" sau đó "Connectors" trong phiên bản mới hơn)
- Tìm Incoming Webhook - Tìm kiếm "Incoming Webhook" và nhấp vào "Configure"
- Đặt tên Webhook - Cung cấp tên (ví dụ: "Build Alerts") và tùy chọn tải lên hình ảnh
- Tạo và sao chép URL - Nhấp vào "Create" và sao chép URL webhook được cung cấp
Gửi tin nhắn qua Webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Build #1234 completed successfully on main branch"}' \
YOUR_TEAMS_WEBHOOK_URL
Adaptive Card cho thông báo phong phú
curl -X POST -H "Content-Type: application/json" \
-d '{
"type": "message",
"attachments": [{
"contentType": "application/vnd.microsoft.card.adaptive",
"content": {
"type": "AdaptiveCard",
"version": "1.2",
"body": [
{"type": "TextBlock", "size": "Large", "weight": "Bolder", "text": "❌ Build Failed"},
{"type": "FactSet", "facts": [
{"title": "Project:", "value": "MyApp"},
{"title": "Error:", "value": "Compilation failed"}
]}
]
}
}]
}' \
YOUR_TEAMS_WEBHOOK_URL
Tài liệu chính thức: Microsoft Teams Incoming Webhooks
Bot Telegram
Telegram cung cấp Bot API mạnh mẽ cho phép gửi tin nhắn theo chương trình. Không giống như webhook, bạn gửi yêu cầu trực tiếp đến API của Telegram.
Hướng dẫn thiết lập từng bước
- Tạo Bot qua BotFather - Mở Telegram và tìm kiếm
@BotFather - Bắt đầu Bot mới - Gửi lệnh
/newbot - Đặt tên Bot - Làm theo hướng dẫn để đặt tên hiển thị và tên người dùng (phải kết thúc bằng "bot")
- Lưu API Token - BotFather cung cấp token API như
123456789:ABCdefGHIjklMNOpqrsTUVwxyz - Lấy Chat ID - Thêm bot vào nhóm/kênh của bạn, gửi tin nhắn, sau đó truy cập
https://api.telegram.org/bot<TOKEN>/getUpdatesđể tìm chat ID
Gửi tin nhắn qua Bot API
curl -X POST \
"https://api.telegram.org/bot/sendMessage" \
-d "chat_id=" \
-d "text=✅ Build completed successfully!%0A%0AProject: MyApp%0ABranch: main" \
-d "parse_mode=HTML"
Tin nhắn định dạng với HTML
curl -X POST \
"https://api.telegram.org/bot/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "",
"text": "❌ Build Failed\n\nProject: MyApp\nBranch: main\nError: Module not found",
"parse_mode": "HTML"
}'
Tài liệu chính thức: Telegram Bot API
Bot Webhook Mattermost
Mattermost là một giải pháp thay thế Slack mã nguồn mở với hỗ trợ webhook tuyệt vời, lý tưởng cho giao tiếp nhóm tự lưu trữ.
Hướng dẫn thiết lập từng bước
- Truy cập Integrations - Nhấp vào menu hamburger, sau đó "Integrations"
- Tạo Incoming Webhook - Chọn "Incoming Webhooks" sau đó "Add Incoming Webhook"
- Cấu hình Webhook - Đặt tiêu đề, mô tả và chọn kênh mặc định
- Lưu và sao chép URL - Nhấp vào "Save" và sao chép URL webhook
Gửi tin nhắn qua Webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Build completed successfully!"}' \
https://your-mattermost-server.com/hooks/YOUR_WEBHOOK_ID
Tin nhắn Rich Attachment
curl -X POST -H "Content-Type: application/json" \
-d '{
"attachments": [{
"fallback": "Build Failed",
"color": "#FF0000",
"title": "❌ Build Failed",
"fields": [
{"short": true, "title": "Project", "value": "MyApp"},
{"short": true, "title": "Branch", "value": "main"},
{"short": false, "title": "Error", "value": "```Module not found```"}
]
}]
}' \
YOUR_WEBHOOK_URL
Tài liệu chính thức: Mattermost Incoming Webhooks
Bot Matrix/Element
Matrix là một giao thức mở cho giao tiếp phi tập trung, với Element là ứng dụng khách phổ biến nhất. Tích hợp bot yêu cầu sử dụng Matrix Client-Server API.
Hướng dẫn thiết lập từng bước
- Tạo tài khoản Bot - Đăng ký tài khoản Matrix mới cho bot của bạn trên homeserver hoặc matrix.org
- Lấy Access Token - Đăng nhập và lấy access token từ Element: Settings → Help & About → Advanced → Access Token
- Lấy Room ID - Tham gia phòng đích với bot của bạn, sau đó tìm room ID trong Room Settings → Advanced
- Mời Bot vào Room - Đảm bảo tài khoản bot đã tham gia phòng nơi bạn muốn gửi tin nhắn
Gửi tin nhắn qua Matrix API
curl -X PUT \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"msgtype": "m.text", "body": "✅ Build completed successfully!"}' \
"https://matrix.org/_matrix/client/r0/rooms/YOUR_ROOM_ID/send/m.room.message/$(date +%s)"
Tin nhắn định dạng với HTML
curl -X PUT \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"msgtype": "m.text",
"body": "Build Failed\nProject: MyApp\nError: Module not found",
"format": "org.matrix.custom.html",
"formatted_body": "❌ Build Failed
Project: MyApp
Error: Module not found
"
}' \
"https://matrix.org/_matrix/client/r0/rooms/YOUR_ROOM_ID/send/m.room.message/$(date +%s)"
Mẹo: Để phát triển bot Matrix dễ dàng hơn, hãy xem xét sử dụng thư viện như matrix-nio (Python) hoặc matrix-bot-sdk (JavaScript).
Tài liệu chính thức: Đặc điểm kỹ thuật Matrix Client-Server API
Bot WhatsApp Business
WhatsApp cung cấp Business API cho tin nhắn tự động, mặc dù nó yêu cầu xác minh doanh nghiệp và có thiết lập phức tạp hơn các nền tảng khác.
Hướng dẫn thiết lập từng bước
- Tạo tài khoản Meta Business - Truy cập business.facebook.com và tạo tài khoản doanh nghiệp
- Thiết lập WhatsApp Business - Điều hướng đến developers.facebook.com, tạo ứng dụng và thêm sản phẩm WhatsApp
- Cấu hình số điện thoại - Thêm số điện thoại cho bot của bạn (có sẵn số thử nghiệm cho phát triển)
- Lấy Access Token - Tạo access token vĩnh viễn từ bảng điều khiển ứng dụng
- Xác minh doanh nghiệp - Hoàn thành xác minh doanh nghiệp để sử dụng trong sản xuất
Gửi tin nhắn qua Cloud API
curl -X POST \
"https://graph.facebook.com/v17.0/YOUR_PHONE_NUMBER_ID/messages" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messaging_product": "whatsapp",
"to": "RECIPIENT_PHONE_NUMBER",
"type": "text",
"text": {"body": "✅ Build completed successfully!"}
}'
Quan trọng: WhatsApp yêu cầu mẫu tin nhắn để bắt đầu cuộc trò chuyện với người dùng. Bạn chỉ có thể gửi tin nhắn tự do trong vòng 24 giờ sau khi người dùng tương tác. Đối với thông báo tự động, hãy tạo và phê duyệt mẫu tin nhắn trước.
Tài liệu chính thức: Tài liệu WhatsApp Cloud API
Bot Facebook Messenger
Facebook Messenger bot yêu cầu ứng dụng và Trang Facebook, với tin nhắn được gửi thông qua Send API.
Hướng dẫn thiết lập từng bước
- Tạo ứng dụng Facebook - Truy cập developers.facebook.com và tạo ứng dụng mới (chọn loại "Business")
- Thêm sản phẩm Messenger - Trong bảng điều khiển ứng dụng, nhấp vào "Add Product" và chọn Messenger
- Kết nối Trang Facebook - Liên kết Trang Facebook với ứng dụng của bạn (tạo trang nếu cần)
- Tạo Page Access Token - Trong cài đặt Messenger, tạo token cho trang của bạn
- Lấy PSID - Người dùng phải nhắn tin cho trang của bạn trước; lấy ID phạm vi trang (PSID) từ sự kiện webhook
Gửi tin nhắn qua Send API
curl -X POST \
"https://graph.facebook.com/v17.0/me/messages" \
-H "Content-Type: application/json" \
-d '{
"recipient": {"id": "USER_PSID"},
"message": {"text": "✅ Build completed successfully!"},
"access_token": "YOUR_PAGE_ACCESS_TOKEN"
}'
Lưu ý: Facebook Messenger có chính sách nghiêm ngặt về tin nhắn tự động. Bot chỉ có thể gửi tin nhắn quảng cáo trong vòng 24 giờ sau khi người dùng tương tác. Đối với thông báo ngoài cửa sổ này, bạn cần đăng ký thẻ tin nhắn cụ thể hoặc sử dụng tính năng thông báo một lần.
Tài liệu chính thức: Tài liệu nền tảng Facebook Messenger
Các ứng dụng nhắn tin không hỗ trợ Bot dễ dàng
Các ứng dụng nhắn tin sau đây ưu tiên quyền riêng tư và bảo mật hơn các tính năng tự động hóa, làm cho việc tích hợp bot dựa trên webhook không khả thi hoặc không thực tế:
- Signal - Không có API bot chính thức. Signal ưu tiên mã hóa đầu cuối và quyền riêng tư của người dùng, cố tình tránh các tính năng tự động hóa có thể làm tổn hại đến bảo mật.
- Session - Ứng dụng nhắn tin phi tập trung không có cơ sở hạ tầng bot. Kiến trúc định tuyến onion làm cho việc nhắn tin tự động không thực tế.
- Briar - Ứng dụng nhắn tin ngang hàng được thiết kế cho các nhà hoạt động và nhà báo. Không có cơ sở hạ tầng máy chủ đồng nghĩa với việ