การส่งการแจ้งเตือนอัตโนมัติผ่าน messenger bot ช่วยให้ workflow การพัฒนาซอฟต์แวร์เร็วขึ้นและง่ายขึ้นมากครับ คุณจะได้รับการแจ้งเตือนทันทีเมื่อ build เสร็จ เกิด error หรือ deployment สำเร็จ คู่มือนี้จะแสดงวิธีตั้งค่า bot ให้ส่งข้อความอัตโนมัติผ่าน webhook บนแพลตฟอร์มส่งข้อความยอดนิยม ไม่ว่าจะเป็นการแจ้งผลลัพธ์ CI/CD, การแจ้งเตือนเซิร์ฟเวอร์ หรือการแจ้งเมื่อกระบวนการทำงานเสร็จสิ้น เราครอบคลุมเฉพาะแพลตฟอร์มที่รองรับ bot ได้ตรงไปตรงมาเท่านั้น ส่วนแอปส่งข้อความที่เน้นความเป็นส่วนตัวและไม่รองรับระบบอัตโนมัติจะแสดงไว้แยกต่างหากครับ
สารบัญ
- ทำความเข้าใจระบบอัตโนมัติของ Bot ผ่าน Webhook
- คู่มือการ Integrate Messenger Bot
- Discord Webhook Bot
- Slack Webhook Bot
- Microsoft Teams Webhook Bot
- Telegram Bot
- Mattermost Webhook Bot
- Matrix/Element Bot
- WhatsApp Business Bot
- Facebook Messenger Bot
- แอปส่งข้อความที่ไม่รองรับ Bot
- ตัวอย่างการใช้งานจริง
- สรุป
- คำถามที่พบบ่อย
ทำความเข้าใจระบบอัตโนมัติของ Bot ผ่าน Webhook
Bot ที่ทำงานผ่าน webhook ใช้หลักการที่เรียบง่ายครับ แอปของคุณส่ง HTTP POST request ไปยัง URL ที่กำหนด จากนั้นแพลตฟอร์มส่งข้อความจะนำเนื้อหานั้นไปแสดงในช่องหรือส่งถึงผู้ใช้
วิธีนี้เหมาะกับงานอัตโนมัติหลายประเภทครับ:
- การแจ้งเตือนผลการ build - แจ้งเมื่อ build สำเร็จหรือล้มเหลว พร้อมรายละเอียด error
- อัปเดตสถานะการ deploy - แจ้งทีมเมื่อโค้ดถูก deploy ขึ้น staging หรือ production
- การแจ้งเตือนจากระบบ monitoring - ส่งคำเตือนด้านสุขภาพเซิร์ฟเวอร์หรือแจ้งเมื่อระบบล่ม
- รายงานตามกำหนดเวลา - ส่งสรุป metrics หรือสถานะระบบประจำวัน
ขั้นตอนพื้นฐานมีสามขั้นตอนครับ:
- สร้าง bot หรือ webhook URL บนแพลตฟอร์มที่ต้องการ
- ตั้งค่าเครื่องมืออัตโนมัติ (CI/CD, ระบบ monitoring หรือ script ที่เขียนเอง) ให้ส่ง HTTP request
- จัดรูปแบบ payload ของข้อความให้ตรงตามที่แพลตฟอร์มกำหนด
การเลือกแพลตฟอร์มที่เหมาะสมยังขึ้นอยู่กับฟีเจอร์ด้านความปลอดภัยด้วยครับ อ่านรายละเอียดเพิ่มเติมได้ที่ คู่มือฉบับสมบูรณ์เกี่ยวกับแอปส่งข้อความในปี 2026
คู่มือการ Integrate Messenger Bot
ด้านล่างนี้คือคู่มือแบบทีละขั้นตอนสำหรับแต่ละแพลตฟอร์มที่รองรับการ integrate bot ผ่าน webhook ได้อย่างตรงไปตรงมาครับ
Discord Webhook Bot
Discord มีการตั้งค่า webhook ที่ง่ายที่สุดครับ คุณไม่จำเป็นต้องสร้างแอปพลิเคชัน bot หรือใช้ authentication token สำหรับการส่งข้อความพื้นฐาน
ขั้นตอนการตั้งค่า
- เปิดการตั้งค่าเซิร์ฟเวอร์ - คลิกขวาที่ชื่อเซิร์ฟเวอร์แล้วเลือก "การตั้งค่าเซิร์ฟเวอร์"
- ไปที่ Integrations - คลิก "Integrations" ในแถบเมนูด้านซ้าย
- สร้าง Webhook - คลิก "Webhooks" จากนั้นคลิก "New Webhook"
- กำหนดค่า Webhook - ตั้งชื่อ webhook (เช่น "Build Bot") เลือกช่อง และเพิ่มรูปโปรไฟล์ได้ตามต้องการ
- คัดลอก Webhook URL - คลิก "Copy Webhook URL" แล้วเก็บไว้ในที่ปลอดภัย
การส่งข้อความผ่าน 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
ตัวอย่าง Rich Embed สำหรับการแจ้งเตือน Error
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
เอกสารทางการ: Discord Webhook Documentation
Slack Webhook Bot
Slack ใช้ Incoming Webhooks เป็นส่วนหนึ่งของระบบ Slack Apps ครับ รองรับการจัดรูปแบบข้อความแบบ rich และกำหนดช่องปลายทางได้อย่างยืดหยุ่น
ขั้นตอนการตั้งค่า
- สร้าง Slack App - ไปที่ api.slack.com/apps แล้วคลิก "Create New App"
- เลือกวิธีสร้าง - เลือก "From scratch" แล้วตั้งชื่อแอป (เช่น "CI/CD Notifications")
- เปิดใช้งาน Incoming Webhooks - ไปที่ "Incoming Webhooks" ในแถบเมนูแล้วเปิดสวิตช์
- เพิ่ม Webhook ไปยัง Workspace - คลิก "Add New Webhook to Workspace"
- เลือกช่อง - เลือกช่องที่ต้องการรับการแจ้งเตือนแล้วคลิก "Allow"
- คัดลอก Webhook URL - webhook URL เฉพาะของคุณจะปรากฏบนหน้าจอ
การส่งข้อความผ่าน Webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Deployment to production completed successfully!"}' \
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXX
Block Kit Message สำหรับการแจ้งเตือนแบบละเอียด
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
เอกสารทางการ: Slack Incoming Webhooks Guide
Microsoft Teams Webhook Bot
Microsoft Teams รองรับ Incoming Webhooks สำหรับการแจ้งเตือนในช่อง โดยตั้งค่าผ่านระบบ connectors ครับ
ขั้นตอนการตั้งค่า
- เปิดการตั้งค่าช่อง - ไปที่ช่องที่ต้องการแล้วคลิกจุดสามจุด (•••) ถัดจากชื่อช่อง
- เลือก Connectors - คลิก "Connectors" (หรือ "จัดการช่อง" แล้วเลือก "Connectors" ในเวอร์ชันใหม่)
- ค้นหา Incoming Webhook - ค้นหา "Incoming Webhook" แล้วคลิก "Configure"
- ตั้งชื่อ Webhook - ใส่ชื่อ (เช่น "Build Alerts") และอัปโหลดรูปภาพได้ตามต้องการ
- สร้างและคัดลอก URL - คลิก "Create" แล้วคัดลอก webhook URL
การส่งข้อความผ่าน Webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Build #1234 completed successfully on main branch"}' \
YOUR_TEAMS_WEBHOOK_URL
Adaptive Card สำหรับการแจ้งเตือนแบบ Rich
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
เอกสารทางการ: Microsoft Teams Incoming Webhooks
Telegram Bot
Telegram มี Bot API ที่ทรงพลังสำหรับการส่งข้อความแบบโปรแกรมครับ แทนที่จะใช้ webhook URL คุณส่ง request โดยตรงไปยัง API ของ Telegram
ขั้นตอนการตั้งค่า
- สร้าง Bot ผ่าน BotFather - เปิด Telegram แล้วค้นหา
@BotFather - เริ่มสร้าง Bot ใหม่ - ส่งคำสั่ง
/newbot - ตั้งชื่อ Bot - ทำตามขั้นตอนเพื่อกำหนดชื่อที่แสดงและชื่อผู้ใช้ (ต้องลงท้ายด้วย "bot")
- บันทึก API Token - BotFather จะให้ token ในรูปแบบ
123456789:ABCdefGHIjklMNOpqrsTUVwxyz - รับ Chat ID - เพิ่ม bot เข้ากลุ่มหรือช่อง ส่งข้อความ แล้วเข้าไปที่
https://api.telegram.org/bot<TOKEN>/getUpdatesเพื่อดู chat ID
การส่งข้อความผ่าน 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"
ข้อความที่จัดรูปแบบด้วย 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"
}'
เอกสารทางการ: Telegram Bot API
Mattermost Webhook Bot
Mattermost เป็นทางเลือก open-source แทน Slack ครับ รองรับ webhook ได้ดีและเหมาะสำหรับทีมที่ใช้ระบบ self-hosted
ขั้นตอนการตั้งค่า
- เข้าถึง Integrations - คลิกเมนูแฮมเบอร์เกอร์ แล้วเลือก "Integrations"
- สร้าง Incoming Webhook - เลือก "Incoming Webhooks" แล้วคลิก "Add Incoming Webhook"
- กำหนดค่า Webhook - ตั้งชื่อ คำอธิบาย และช่องเริ่มต้น
- บันทึกและคัดลอก URL - คลิก "Save" แล้วคัดลอก webhook URL
การส่งข้อความผ่าน Webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Build completed successfully!"}' \
https://your-mattermost-server.com/hooks/YOUR_WEBHOOK_ID
ข้อความแบบ 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
เอกสารทางการ: Mattermost Incoming Webhooks
Matrix/Element Bot
Matrix เป็น open protocol สำหรับการสื่อสารแบบกระจายศูนย์ครับ โดย Element เป็น client ที่ได้รับความนิยมสูงสุด การ integrate bot ทำผ่าน Matrix Client-Server API
ขั้นตอนการตั้งค่า
- สร้างบัญชี Bot - ลงทะเบียนบัญชี Matrix ใหม่สำหรับ bot บน homeserver ของคุณหรือที่ matrix.org
- รับ Access Token - เข้าสู่ระบบแล้วค้นหา access token ใน Element: การตั้งค่า - ความช่วยเหลือและข้อมูล - ขั้นสูง - Access Token
- รับ Room ID - ให้ bot เข้าร่วมห้องที่ต้องการ แล้วดู room ID ได้ที่การตั้งค่าห้อง - ขั้นสูง
- เชิญ Bot เข้าห้อง - ตรวจสอบให้แน่ใจว่าบัญชี bot ได้เข้าร่วมห้องที่จะส่งข้อความแล้ว
การส่งข้อความผ่าน 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)"
ข้อความที่จัดรูปแบบด้วย 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)"
เคล็ดลับ: สำหรับการพัฒนา Matrix bot ที่ง่ายขึ้น ลองใช้ library อย่าง matrix-nio (Python) หรือ matrix-bot-sdk (JavaScript) ครับ
เอกสารทางการ: Matrix Client-Server API Specification
WhatsApp Business Bot
WhatsApp มี Business API สำหรับการส่งข้อความอัตโนมัติครับ แต่ต้องผ่านการยืนยันธุรกิจและมีความซับซ้อนในการตั้งค่ามากกว่าแพลตฟอร์มอื่น
ขั้นตอนการตั้งค่า
- สร้างบัญชี Meta Business - ไปที่ business.facebook.com แล้วสร้างบัญชีธุรกิจ
- ตั้งค่า WhatsApp Business - ไปที่ developers.facebook.com สร้างแอป แล้วเพิ่ม WhatsApp เป็น product
- กำหนดค่าหมายเลขโทรศัพท์ - เพิ่มหมายเลขโทรศัพท์สำหรับ bot (มีหมายเลขทดสอบให้ใช้ในช่วงพัฒนา)
- รับ Access Token - สร้าง access token แบบถาวรจากแดชบอร์ดของแอป
- ยืนยันธุรกิจ - ทำการยืนยันธุรกิจให้เสร็จก่อนเปิดใช้งานจริง
การส่งข้อความผ่าน 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!"}
}'
สำคัญ: WhatsApp กำหนดให้ใช้เทมเพลตข้อความเมื่อเริ่มต้นการสนทนากับผู้ใช้ครับ คุณสามารถส่งข้อความอิสระได้เฉพาะภายใน 24 ชั่วโมงหลังจากที่ผู้ใช้โต้ตอบเท่านั้น สำหรับการแจ้งเตือนอัตโนมัติ ควรสร้างเทมเพลตข้อความและรอการอนุมัติก่อนครับ
เอกสารทางการ: WhatsApp Cloud API Documentation
Facebook Messenger Bot
Bot ของ Facebook Messenger ต้องการ Facebook App และ Page ครับ ข้อความจะถูกส่งผ่าน Send API
ขั้นตอนการตั้งค่า
- สร้าง Facebook App - ไปที่ developers.facebook.com แล้วสร้างแอปใหม่ (เลือกประเภท "Business")
- เพิ่ม Messenger Product - ในแดชบอร์ดของแอป คลิก "Add Product" แล้วเลือก Messenger
- เชื่อมต่อ Facebook Page - เชื่อม Facebook Page กับแอปของคุณ (สร้างใหม่หากยังไม่มี)
- สร้าง Page Access Token - ในการตั้งค่า Messenger สร้าง token สำหรับเพจของคุณ
- รับ PSID - ผู้ใช้ต้องส่งข้อความมาหาเพจของคุณก่อน จากนั้นดึง Page-Scoped ID (PSID) จาก webhook event
การส่งข้อความผ่าน 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"
}'
หมายเหตุ: Facebook Messenger มีกฎเข้มงวดเกี่ยวกับการส่งข้อความอัตโนมัติครับ Bot สามารถส่งข้อความเชิงโปรโมชันได้เฉพาะภายใน 24 ชั่วโมงหลังจากที่ผู้ใช้โต้ตอบเท่านั้น สำหรับการแจ้งเตือนนอกช่วงเวลานี้ ให้ยื่นขอ message tag เฉพาะหรือใช้ฟีเจอร์การแจ้งเตือนครั้งเดียวครับ
เอกสารทางการ: Facebook Messenger Platform Documentation
แอปส่งข้อความที่ไม่รองรับ Bot
แอปส่งข้อความต่อไปนี้ให้ความสำคัญกับความเป็นส่วนตัวและความปลอดภัยเป็นอันดับแรก ทำให้การ integrate bot ผ่าน webhook ทำไม่ได้หรือไม่คุ้มค่าในทางปฏิบัติครับ:
- Signal - ไม่มี bot API อย่างเป็นทางการ Signal เน้นการเข้ารหัสแบบ end-to-end และหลีกเลี่ยงฟีเจอร์อัตโนมัติที่อาจลดระดับความปลอดภัย
- Session - แอปส่งข้อความแบบกระจายศูนย์ที่ไม่มีโครงสร้างพื้นฐานสำหรับ bot การออกแบบด้วย onion routing ทำให้การส่งข้อความอัตโนมัติไม่สามารถทำได้จริง
- Briar - แอปส่งข้อความแบบ peer-to-peer ที่สร้างมาสำหรับนักกิจกรรมและนักข่าว ไม่มีโครงสร้างพื้นฐานเซิร์ฟเวอร์จึงไม่รองรับ webhook
- Wire - มีฟีเจอร์ enterprise API บางส่วน แต่ไม่มีระบบ webhook ที่ตรงไปตรงมาสำหรับการแจ้งเตือนอัตโนมัติ
- Wickr - มุ่งเน้นองค์กรและไม่มี bot API สาธารณะ การใช้ระบบอัตโนมัติต้องใช้ Wickr Enterprise พร้อม integration แบบกำหนดเอง
- SimpleX - ออกแบบโดยไม่มีตัวระบุผู้ใช้ ทำให้การ integrate bot ไม่สอดคล้องกับสถาปัตยกรรมของมัน
- Threema - มี Threema Gateway สำหรับธุรกิจ แต่เป็นบริการแบบชำระเงินที่ต้องทำสัญญา ไม่ใช่การตั้งค่า webhook แบบง่าย
- Viber - มี bot API แต่ต้องผ่านการอนุมัติบัญชีธุรกิจและออกแบบมาสำหรับงานบริการลูกค้า ไม่ใช่การแจ้งเตือนสำหรับนักพัฒนา
- LINE - มี Messaging API แต่ต้องผ่านการยืนยันบัญชีธุรกิจและมีความซับซ้อนสำหรับกรณีการใช้งานแจ้งเตือนแบบง่าย
- WeChat - มี Official Account API แต่ต้องลงทะเบียนธุรกิจในจีนและผ่านการอนุมัติจากภาครัฐ
หากคุณชื่นชอบแพลตฟอร์มเหล่านี้สำหรับการสื่อสารที่ปลอดภัย ลองใช้ควบคู่กับแพลตฟอร์มที่รองรับ bot สำหรับงานอัตโนมัติครับ คุณยังสามารถอ่านคู่มือของเราเกี่ยวกับ การรักษาข้อความส่วนตัวให้ปลอดภัยอย่างแท้จริง ได้ด้วยครับ
ตัวอย่างการใช้งานจริง
นี่คือตัวอย่าง Node.js ที่สมบูรณ์สำหรับส่งการแจ้งเตือนผลการ build ไปยังหลายแพลตฟอร์มพร้อมกันครับ:
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);
}
// ใช้งานใน CI/CD pipeline ของคุณ
notifyBuildResult(false, 'MyApp', 'main', 'Module not found: @utils/helper');
สรุปประเด็นสำคัญ:
- Discord, Slack และ Mattermost ตั้งค่าง่ายที่สุด - แค่สร้างและใช้ URL เดียว
- Telegram ต้องการ bot token และ chat ID แต่มีความเสถียรสูงและรองรับการจัดรูปแบบที่ดี
- Microsoft Teams ใช้ Adaptive Cards สำหรับการแจ้งเตือนแบบ rich
- Matrix/Element ต้องใช้เวลาตั้งค่ามากกว่า แต่เหมาะสำหรับสภาพแวดล้อม self-hosted
- WhatsApp และ Facebook Messenger มีกฎและนโยบายการส่งข้อความที่เข้มงวดกว่า
- แอปส่งข้อความที่เน้นความเป็นส่วนตัวไม่มี bot API โดยเจตนา เพื่อปกป้องความปลอดภัยของผู้ใช้
สรุป
การตั้งค่าการแจ้งเตือนผ่าน bot บน แพลตฟอร์มส่งข้อความ ต่างๆ ช่วยเพิ่มพลังให้กับ workflow การพัฒนาของคุณได้อย่างมากครับ Discord และ Slack เริ่มต้นใช้งานได้ง่ายที่สุด เพียงแค่ใช้ webhook URL ธรรมดา Telegram มีความเสถียรและตั้งค่าไม่ยาก สำหรับทีมองค์กร Microsoft Teams และ Mattermost เข้ากันได้ดีกับเครื่องมือที่มีอยู่แล้ว ส่วน Matrix เป็นตัวเลือกแบบ self-hosted ที่เป็นมิตรกับความเป็นส่วนตัวพร้อมการเข้าถึง API แบบเต็มรูปแบบ
เริ่มจากแพลตฟอร์มเดียวก่อนครับ ทดสอบ workflow การแจ้งเตือน แล้วค่อยเพิ่มช่องทางอื่นตามต้องการ ตัวอย่างโค้ดข้างต้นพร้อมใช้งานได้ทันที ขั้นตอนต่อไปคือสร้าง webhook บนแพลตฟอร์มที่เลือกและส่งข้อความอัตโนมัติแรกของคุณ - ใช้เวลาไม่ถึง 10 นาทีครับ
คำถามที่พบบ่อย
Discord ง่ายที่สุดครับ สร้าง webhook ในการตั้งค่าช่องแล้วคุณจะได้ URL ที่ POST ข้อความได้ทันที ไม่ต้องใช้ token ไม่ต้องสร้างแอป ไม่ต้องผ่านการยืนยัน Slack ก็ตั้งค่าง่ายเช่นกัน แต่ต้องสร้าง Slack App ก่อนครับ
ไม่ได้ครับ แอปส่งข้อความที่เน้นความเป็นส่วนตัวอย่าง Signal, Session, Briar และ SimpleX ไม่มี bot API นี่เป็นการตัดสินใจโดยเจตนาเพื่อปกป้องความเป็นส่วนตัวของผู้ใช้ แพลตฟอร์มเหล่านี้เน้นการเข้ารหัสแบบ end-to-end และการเก็บข้อมูลน้อยที่สุด ซึ่งไม่เข้ากันกับการส่งข้อความอัตโนมัติ สำหรับการแจ้งเตือน ให้ใช้แพลตฟอร์มที่รองรับควบคู่กับแอปที่ปลอดภัยสำหรับการสนทนาส่วนตัวครับ
ควรดูแล webhook URL เหมือนกับรหัสผ่านครับ ใครก็ตามที่มี URL นี้สามารถส่งข้อความไปยังช่องของคุณได้ เก็บไว้ใน environment variable อย่า commit ลง version control และสร้างใหม่หากถูกเปิดเผย บางแพลตฟอร์มอย่าง Slack อนุญาตให้สร้าง webhook URL ใหม่ได้เมื่อจำเป็นครับ
Webhook ทำงานทางเดียวครับ คุณส่งข้อความไปยัง URL แล้วมันจะปรากฏในช่อง ส่วน bot API ทำงานสองทาง คุณสามารถส่งข้อความและรับรวมถึงตอบกลับข้อความของผู้ใช้ได้ด้วย สำหรับการแจ้งเตือนแบบง่ายอย่างการแจ้งผล build หรือ monitoring webhook ก็เพียงพอแล้วครับ แต่ถ้าต้องการ bot ที่ตอบสนองต่อคำสั่งของผู้ใช้ คุณต้องใช้ bot API แบบเต็มรูปแบบพร้อม webhook endpoint บนเซิร์ฟเวอร์ของคุณครับ
แพลตฟอร์มส่วนใหญ่มี rate limit ครับ Discord อนุญาต 30 ข้อความต่อนาทีต่อ webhook Slack มีข้อจำกัดที่คล้ายกัน ใช้ message queuing ร่วมกับ exponential backoff สำหรับการลองใหม่ หากมีปริมาณสูง ให้รวมหลาย event ไว้ในข้อความเดียวหรือใช้ bulk API เฉพาะของแต่ละแพลตฟอร์มที่มีให้ครับ