Mengautomasikan pemberitahuan melalui bot messenger menjadikan aliran kerja pembangunan lebih pantas dan mudah. Awak akan menerima amaran segera apabila binaan selesai, ralat berlaku, atau deployment berjaya. Panduan ini menunjukkan cara menyediakan bot yang menghantar mesej automatik melalui webhook pada platform pemesejan popular. Perlu memaklumkan pasukan tentang keputusan CI/CD, amaran pelayan, atau penyelesaian proses? Integrasi ini memudahkan segalanya. Kami hanya merangkumi platform dengan sokongan bot yang mudah. Sesetengah messenger yang mengutamakan privasi tidak menyokong automasi - platform tersebut disenaraikan secara berasingan.
Jadual Kandungan
- Memahami Automasi Bot Berasaskan Webhook
- Panduan Integrasi Bot Messenger
- Bot Webhook Discord
- Bot Webhook Slack
- Bot Webhook Microsoft Teams
- Bot Telegram
- Bot Webhook Mattermost
- Bot Matrix/Element
- Bot WhatsApp Business
- Bot Facebook Messenger
- Messenger Tanpa Sokongan Bot Yang Mudah
- Contoh Pelaksanaan Praktikal
- Kesimpulan
- Soalan Lazim
Memahami Automasi Bot Berasaskan Webhook
Bot berasaskan webhook beroperasi atas konsep yang mudah. Aplikasi awak menghantar permintaan HTTP POST ke sebuah URL. Platform pemesejan kemudiannya menyampaikan kandungan tersebut ke saluran atau pengguna yang ditentukan.
Pendekatan ini sesuai untuk pelbagai tugas automasi:
- Pemberitahuan binaan - Amaran apabila binaan berjaya atau gagal, lengkap dengan butiran ralat
- Kemas kini deployment - Maklumkan pasukan apabila kod mencapai staging atau persekitaran pengeluaran
- Amaran pemantauan - Hantar amaran kesihatan pelayan atau notis masa henti
- Laporan berjadual - Sampaikan metrik harian atau ringkasan status
Aliran kerja asas mempunyai tiga langkah:
- Cipta bot atau URL webhook pada platform sasaran
- Konfigurasikan alat automasi awak (CI/CD, sistem pemantauan, atau skrip tersuai) untuk menghantar permintaan HTTP
- Formatkan payload mesej mengikut keperluan platform
Pemilihan platform yang tepat juga bergantung pada ciri keselamatannya. Untuk penelitian lebih lanjut tentang keselamatan platform, lihat Panduan Lengkap tentang Messenger dalam 2026 kami.
Panduan Integrasi Bot Messenger
Berikut adalah panduan langkah demi langkah untuk setiap platform yang menyokong integrasi bot berasaskan webhook dengan mudah.
Bot Webhook Discord
Discord mempunyai persediaan webhook yang paling mudah. Awak tidak memerlukan aplikasi bot atau token pengesahan untuk penghantaran mesej asas.
Persediaan Langkah demi Langkah
- Buka Tetapan Pelayan - Klik kanan nama pelayan awak dan pilih "Server Settings"
- Pergi ke Integrations - Klik "Integrations" di bar sisi kiri
- Cipta Webhook - Klik "Webhooks" kemudian "New Webhook"
- Konfigurasikan Webhook - Namakan webhook awak (contoh: "Build Bot"), pilih saluran, dan tambah avatar jika perlu
- Salin URL Webhook - Klik "Copy Webhook URL" dan simpan dengan selamat
Menghantar Mesej melalui 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
Contoh Rich Embed untuk Pemberitahuan Ralat
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
Dokumentasi Rasmi: Dokumentasi Webhook Discord
Bot Webhook Slack
Slack menggunakan Incoming Webhooks sebagai sebahagian daripada sistem Slack Apps. Ia menyokong pemformatan mesej yang kaya dan penargetan saluran yang fleksibel.
Persediaan Langkah demi Langkah
- Cipta Aplikasi Slack - Pergi ke api.slack.com/apps dan klik "Create New App"
- Pilih Kaedah Penciptaan - Pilih "From scratch" dan berikan nama untuk aplikasi awak (contoh: "CI/CD Notifications")
- Aktifkan Incoming Webhooks - Pergi ke "Incoming Webhooks" di bar sisi dan togol untuk mengaktifkannya
- Tambah Webhook ke Ruang Kerja - Klik "Add New Webhook to Workspace"
- Pilih Saluran - Pilih saluran untuk pemberitahuan dan klik "Allow"
- Salin URL Webhook - URL webhook unik awak akan dipaparkan pada skrin
Menghantar Mesej melalui Webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Deployment to production completed successfully!"}' \
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXX
Mesej Block Kit untuk Pemberitahuan Terperinci
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
Dokumentasi Rasmi: Panduan Incoming Webhooks Slack
Bot Webhook Microsoft Teams
Microsoft Teams menyokong Incoming Webhooks untuk pemberitahuan saluran. Ia disediakan melalui sistem penyambung (connectors).
Persediaan Langkah demi Langkah
- Buka Tetapan Saluran - Pergi ke saluran sasaran dan klik tiga titik (•••) di sebelah nama saluran
- Pilih Connectors - Klik "Connectors" (atau "Manage channel" kemudian "Connectors" dalam versi terbaru)
- Cari Incoming Webhook - Cari "Incoming Webhook" dan klik "Configure"
- Namakan Webhook Awak - Masukkan nama (contoh: "Build Alerts") dan muat naik imej jika perlu
- Cipta dan Salin URL - Klik "Create" dan salin URL webhook
Menghantar Mesej melalui Webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Build #1234 completed successfully on main branch"}' \
YOUR_TEAMS_WEBHOOK_URL
Adaptive Card untuk Pemberitahuan Kaya
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
Dokumentasi Rasmi: Incoming Webhooks Microsoft Teams
Bot Telegram
Telegram mempunyai Bot API yang berkuasa untuk menghantar mesej secara aturcara. Berbeza dengan platform lain, awak menghantar permintaan terus ke API Telegram dan bukannya menggunakan URL webhook.
Persediaan Langkah demi Langkah
- Cipta Bot melalui BotFather - Buka Telegram dan cari
@BotFather - Mulakan Bot Baru - Hantar arahan
/newbot - Namakan Bot Awak - Ikuti arahan untuk menetapkan nama paparan dan nama pengguna (mesti berakhir dengan "bot")
- Simpan Token API - BotFather akan memberikan token seperti
123456789:ABCdefGHIjklMNOpqrsTUVwxyz - Dapatkan ID Sembang - Tambah bot ke kumpulan atau saluran awak, hantar mesej, kemudian lawati
https://api.telegram.org/bot<TOKEN>/getUpdatesuntuk mencari ID sembang
Menghantar Mesej melalui 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"
Mesej Berformat dengan 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"
}'
Dokumentasi Rasmi: Telegram Bot API
Bot Webhook Mattermost
Mattermost ialah alternatif sumber terbuka kepada Slack. Ia mempunyai sokongan webhook yang kukuh dan sesuai untuk komunikasi pasukan yang dihoskan sendiri.
Persediaan Langkah demi Langkah
- Akses Integrations - Klik menu hamburger, kemudian "Integrations"
- Cipta Incoming Webhook - Pilih "Incoming Webhooks" kemudian "Add Incoming Webhook"
- Konfigurasikan Webhook - Tetapkan tajuk, penerangan, dan saluran lalai
- Simpan dan Salin URL - Klik "Save" dan salin URL webhook
Menghantar Mesej melalui Webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Build completed successfully!"}' \
https://your-mattermost-server.com/hooks/YOUR_WEBHOOK_ID
Mesej dengan Lampiran Kaya
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
Dokumentasi Rasmi: Incoming Webhooks Mattermost
Bot Matrix/Element
Matrix ialah protokol sumber terbuka untuk komunikasi terpencar. Element adalah klien paling popular untuknya. Untuk mengintegrasikan bot, awak menggunakan Matrix Client-Server API.
Persediaan Langkah demi Langkah
- Cipta Akaun Bot - Daftarkan akaun Matrix baharu untuk bot awak pada pelayan rumah atau matrix.org
- Dapatkan Token Akses - Log masuk dan cari token akses dalam Element: Tetapan - Help & About - Advanced - Access Token
- Dapatkan ID Bilik - Sertai bilik sasaran dengan bot awak, kemudian cari ID bilik dalam Tetapan Bilik - Advanced
- Jemput Bot ke Bilik - Pastikan akaun bot telah menyertai bilik di mana ia akan menghantar mesej
Menghantar Mesej melalui 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)"
Mesej Berformat dengan 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)"
Petua: Untuk pembangunan bot Matrix yang lebih mudah, cuba gunakan pustaka seperti matrix-nio (Python) atau matrix-bot-sdk (JavaScript).
Dokumentasi Rasmi: Spesifikasi Matrix Client-Server API
Bot WhatsApp Business
WhatsApp menawarkan Business API untuk penghantaran mesej automatik. Ia memerlukan pengesahan perniagaan dan lebih kompleks untuk disediakan berbanding platform lain.
Persediaan Langkah demi Langkah
- Cipta Akaun Meta Business - Lawati business.facebook.com dan cipta akaun perniagaan
- Sediakan WhatsApp Business - Pergi ke developers.facebook.com, cipta aplikasi, dan tambah produk WhatsApp
- Konfigurasikan Nombor Telefon - Tambah nombor telefon untuk bot awak (nombor ujian tersedia untuk pembangunan)
- Dapatkan Token Akses - Jana token akses kekal dari papan pemuka aplikasi
- Sahkan Perniagaan - Lengkapkan pengesahan perniagaan sebelum melancarkan secara langsung
Menghantar Mesej melalui 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!"}
}'
Penting: WhatsApp memerlukan templat mesej apabila memulakan perbualan dengan pengguna. Awak hanya boleh menghantar mesej bebas dalam tempoh 24 jam selepas interaksi pengguna. Untuk pemberitahuan automatik, cipta dan dapatkan kelulusan templat mesej awak terlebih dahulu.
Dokumentasi Rasmi: Dokumentasi WhatsApp Cloud API
Bot Facebook Messenger
Bot Facebook Messenger memerlukan Aplikasi Facebook dan Halaman. Mesej dihantar melalui Send API.
Persediaan Langkah demi Langkah
- Cipta Aplikasi Facebook - Pergi ke developers.facebook.com dan cipta aplikasi baharu (pilih jenis "Business")
- Tambah Produk Messenger - Dalam papan pemuka aplikasi, klik "Add Product" dan pilih Messenger
- Sambungkan Halaman Facebook - Pautkan Halaman Facebook ke aplikasi awak (cipta satu jika perlu)
- Jana Token Akses Halaman - Dalam tetapan Messenger, jana token untuk halaman awak
- Dapatkan PSID - Pengguna mesti menghantar mesej ke halaman awak terlebih dahulu. Tangkap Page-Scoped ID (PSID) mereka daripada acara webhook
Menghantar Mesej melalui 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"
}'
Nota: Facebook Messenger mempunyai peraturan ketat tentang penghantaran mesej automatik. Bot hanya boleh menghantar mesej promosi dalam tempoh 24 jam selepas interaksi pengguna. Untuk pemberitahuan di luar tetingkap ini, mohon tag mesej khusus atau gunakan ciri pemberitahuan satu kali.
Dokumentasi Rasmi: Dokumentasi Platform Facebook Messenger
Messenger Tanpa Sokongan Bot Yang Mudah
Messenger berikut mengutamakan privasi dan keselamatan. Ini bermakna integrasi bot berasaskan webhook sama ada tidak mungkin atau tidak praktikal:
- Signal - Tiada Bot API rasmi. Signal memberi tumpuan kepada enkripsi hujung ke hujung dan mengelakkan ciri automasi yang boleh mengurangkan keselamatan.
- Session - Messenger terpencar tanpa infrastruktur bot. Reka bentuk onion routing-nya menjadikan penghantaran mesej automatik tidak praktikal.
- Briar - Messenger peer-to-peer yang dibina untuk aktivis dan wartawan. Tiada infrastruktur pelayan bermakna tiada sokongan webhook.
- Wire - Mempunyai beberapa ciri API perusahaan, tetapi tiada sistem webhook mudah untuk pemberitahuan automatik.
- Wickr - Berorientasikan perusahaan tanpa Bot API awam. Automasi memerlukan Wickr Enterprise dengan integrasi tersuai.
- SimpleX - Direka tanpa pengecam pengguna, yang menjadikan integrasi bot tidak serasi dengan seni binanya.
- Threema - Menawarkan Threema Gateway untuk perniagaan, tetapi ia adalah perkhidmatan berbayar yang memerlukan kontrak - bukan persediaan webhook yang mudah.
- Viber - Mempunyai Bot API, tetapi memerlukan kelulusan akaun perniagaan dan dibina untuk perkhidmatan pelanggan, bukan pemberitahuan pembangun.
- LINE - Menawarkan Messaging API, tetapi memerlukan pengesahan akaun perniagaan dan agak kompleks untuk kes penggunaan pemberitahuan mudah.
- WeChat - Mempunyai Official Account API, tetapi memerlukan pendaftaran perniagaan China dan kelulusan kerajaan.
Jika awak lebih suka platform ini untuk komunikasi selamat, pertimbangkan untuk menggabungkannya dengan platform yang disokong untuk tujuan automasi. Awak juga boleh membaca panduan kami tentang cara memastikan mesej peribadi benar-benar selamat.
Contoh Pelaksanaan Praktikal
Berikut adalah contoh Node.js lengkap yang menghantar pemberitahuan binaan ke pelbagai platform pada masa yang sama:
const axios = require('axios');
const notifiers = {
discord: async (message, webhookUrl) => {
await axios.post(webhookUrl, { content: message });
},
slack: async (message, webhookUrl) => {
await axios.post(webhookUrl, { text: message });
},
telegram: async (message, token, chatId) => {
await axios.post(`https://api.telegram.org/bot${token}/sendMessage`, {
chat_id: chatId,
text: message,
parse_mode: 'HTML'
});
},
teams: async (message, webhookUrl) => {
await axios.post(webhookUrl, { text: message });
}
};
async function notifyBuildResult(success, project, branch, error = null) {
const emoji = success ? '✅' : '❌';
const status = success ? 'succeeded' : 'failed';
let message = `${emoji} Build ${status}\n\nProject: ${project}\nBranch: ${branch}`;
if (error) message += `\nError: ${error}`;
const notifications = [
notifiers.discord(message, process.env.DISCORD_WEBHOOK),
notifiers.slack(message, process.env.SLACK_WEBHOOK),
notifiers.telegram(message, process.env.TELEGRAM_TOKEN, process.env.TELEGRAM_CHAT_ID),
notifiers.teams(message, process.env.TEAMS_WEBHOOK)
];
await Promise.allSettled(notifications);
}
// Penggunaan dalam saluran paip CI/CD awak
notifyBuildResult(false, 'MyApp', 'main', 'Module not found: @utils/helper');
Rumusan Utama:
- Discord, Slack, dan Mattermost mempunyai persediaan paling mudah - hanya cipta dan gunakan URL
- Telegram memerlukan token bot dan ID sembang, tetapi menawarkan kebolehpercayaan dan pemformatan yang baik
- Microsoft Teams menggunakan Adaptive Cards untuk pemberitahuan yang kaya
- Matrix/Element memerlukan lebih banyak persediaan tetapi sesuai untuk persekitaran yang dihoskan sendiri
- WhatsApp dan Facebook Messenger mempunyai peraturan dan dasar penghantaran mesej yang lebih ketat
- Messenger yang berorientasikan privasi tidak mempunyai Bot API secara reka bentuk, untuk melindungi keselamatan pengguna
Kesimpulan
Menyediakan pemberitahuan bot berasaskan webhook merentas platform messenger menambah automasi yang berkuasa kepada aliran kerja pembangunan awak. Discord dan Slack adalah yang paling mudah untuk dimulakan - hanya gunakan URL webhook yang mudah. Telegram pula boleh dipercayai dan senang dikonfigurasikan. Untuk pasukan perusahaan, Microsoft Teams dan Mattermost sesuai dengan alat sedia ada. Matrix memberi awak pilihan yang dihoskan sendiri dan mesra privasi dengan akses API penuh.
Mulakan dengan satu platform. Uji aliran kerja pemberitahuan awak. Kemudian tambah lebih banyak saluran mengikut keperluan. Contoh kod di atas boleh terus digunakan. Langkah seterusnya awak adalah mencipta webhook pada platform pilihan dan menghantar mesej automatik pertama - ia mengambil masa kurang daripada 10 minit.
Soalan Lazim
Discord adalah yang paling mudah. Cipta webhook dalam tetapan saluran dan awak akan mendapat URL yang boleh dihantar mesej POST dengan serta-merta. Tiada token, tiada penciptaan aplikasi, tiada pengesahan diperlukan. Slack juga mudah, tetapi awak perlu mencipta Aplikasi Slack terlebih dahulu.
Tidak. Messenger berorientasikan privasi seperti Signal, Session, Briar, dan SimpleX tidak mempunyai Bot API. Ini adalah pilihan yang disengajakan untuk melindungi privasi pengguna. Platform ini memberi tumpuan kepada enkripsi hujung ke hujung dan pengumpulan data yang minimum, yang tidak serasi dengan penghantaran mesej automatik. Untuk pemberitahuan, gunakan platform yang disokong bersama-sama messenger selamat awak untuk perbualan peribadi.
Ya, layani URL webhook seperti kata laluan. Sesiapa yang mempunyai URL tersebut boleh menghantar mesej ke saluran awak. Simpan dalam pemboleh ubah persekitaran, jangan sekali-kali komit ke kawalan versi, dan jana semula jika terdedah. Sesetengah platform seperti Slack membenarkan awak mencipta URL webhook baharu jika diperlukan.
Webhook adalah sehala. Awak menghantar mesej ke URL dan ia muncul dalam saluran. Bot API pula berfungsi dua hala. Awak boleh menghantar mesej dan juga menerima serta membalas mesej pengguna. Untuk pemberitahuan mudah seperti amaran binaan atau pemantauan, webhook sudah mencukupi. Untuk bot yang bertindak balas terhadap arahan pengguna, awak memerlukan Bot API penuh dengan endpoint webhook pada pelayan awak.
Kebanyakan platform mempunyai had kadar. Discord membenarkan 30 mesej seminit bagi setiap webhook. Slack mempunyai had yang serupa. Gunakan baris gilir mesej dengan exponential backoff untuk percubaan semula. Untuk jumlah yang tinggi, gabungkan pelbagai acara dalam satu mesej atau gunakan bulk API khusus platform di mana tersedia.