Plugins › การแจ้งเตือน
เริ่มต้น
เนื้อหา
Plugins
การดูแลระบบ
การ Deploy
สูตรสำเร็จ
การแจ้งเตือน
สิ่งที่จะได้เรียนรู้
บอกผู้ดูแลเว็บในแชต Telegram เมื่อมีคนส่งฟอร์ม มีคำสั่งซื้อใหม่ หรือมีบางอย่างล้มเหลว
ก่อนหน้านี้: การเชื่อมต่อ
@easy-cms/plugin-notify ส่งข้อความสั้น ๆ ไปยังแชตสำหรับ event ที่ผู้ดูแลเลือก พร้อมลิงก์ไปยังหน้านั้นใน admin
เริ่มจาก Telegram และออกแบบไว้ให้เพิ่มช่องทางอื่น (LINE, Slack, Discord) ได้ภายหลัง
npm install @easy-cms/plugin-notifypnpm add @easy-cms/plugin-notifyyarn add @easy-cms/plugin-notifybun add @easy-cms/plugin-notifyimport { notifyPlugin } from '@easy-cms/plugin-notify'
export default defineConfig({
serverURL: 'https://example.com', // สำหรับลิงก์ไปยัง admin
// …
plugins: [notifyPlugin()],
})plugin เพิ่ม collection notify-messages (คิวของมัน ไม่แสดงใน admin) และงานตั้งเวลาหนึ่งงาน ให้สร้าง migration
(easy-cms migrate:create notify ดู Migrations) และต้องมีอะไรสักอย่างรันงานตั้งเวลา
ไม่ว่าจะเป็นเซิร์ฟเวอร์หรือ cron (งานตั้งเวลา)
เชื่อม Telegram
- ใน Telegram คุยกับ @BotFather:
/newbotแล้วคัดลอก token ที่ได้ - ส่งข้อความหาบอทใหม่ หรือเพิ่มบอทเข้ากลุ่มที่จะรับข้อความ
- ใน admin ไปที่ Settings → การเชื่อมต่อ → Telegram → เชื่อมบัญชี วาง Bot token กด ค้นหา Chat ID แล้วเลือกแชต
- เลือก ภาษา ของข้อความ (ถ้าว่าง: ภาษาของ admin) และ เหตุการณ์ (ถ้าไม่เลือก: ทั้งหมด) แล้ว บันทึก Easy CMS จะส่งข้อความทดสอบไปที่แชต และปุ่ม ทดสอบ ส่งอีกครั้งได้
เชื่อมได้หลายแชต (ทีมร้านค้าสำหรับคำสั่งซื้อ ทีมนักพัฒนาสำหรับข้อผิดพลาด) แต่ละแชตได้รับเฉพาะ event ที่ติ๊กไว้
TELEGRAM_BOT_TOKEN ใน environment จะใช้แทน token ที่กรอกใน admin
Event
| Event | ข้อความบอกอะไร |
|---|---|
form.submitted | ชื่อฟอร์มและผู้ส่ง จากตัวสร้างฟอร์ม ไม่รวมคำตอบ เพราะอาจเป็นข้อมูลส่วนตัว ให้อ่านใน admin |
order.created | เลขคำสั่งซื้อ ยอดรวม และอีเมล จากร้านค้า |
scheduled.failed | เอกสารที่เผยแพร่หรือเลิกเผยแพร่ตามเวลาไม่สำเร็จ และสาเหตุ |
delivery.failed | webhook หรืออีเมลที่ส่งไม่สำเร็จหลังลองซ้ำครบแล้ว |
backup.failed | สาเหตุที่สำรองข้อมูลไม่สำเร็จ |
integration.failed | การเชื่อมต่อที่ใช้งานไม่ได้ (ไม่รวมช่องทางแจ้งเตือนเอง) |
event เหล่านี้คือ event ข้อผิดพลาด ที่ webhook รับได้ด้วย
การส่ง
ข้อความส่งทันที ถ้าส่งไม่สำเร็จ งาน notify:send จะลองใหม่หลัง 1, 5 และ 30 นาที หลังจากนั้นจะเลิกส่ง
และการเชื่อมต่อจะแสดงข้อผิดพลาดในหน้าการเชื่อมต่อและแดชบอร์ด token ผิดหรือแชตที่บอทออกไปแล้วจะไม่ลองซ้ำ
การเชื่อมต่อหนึ่งส่งได้ไม่เกิน 60 ข้อความต่อชั่วโมง (limit) ข้อความที่เกินจะถูกนับไว้ แล้วแชตจะได้ข้อความเดียว
บอกจำนวน เมื่อชั่วโมงถัดไปเปิดให้ส่งได้ ข้อความที่ส่งแล้วเก็บไว้ 7 วัน
ตัวเลือก
| ตัวเลือก | ค่าเริ่มต้น | |
|---|---|---|
channels | [telegram] | ช่องทางที่ส่งข้อความ |
limit | 60 | จำนวนข้อความสูงสุดต่อชั่วโมงของการเชื่อมต่อหนึ่ง |
slug | notify-messages | collection ของคิว |
ขั้นต่อไป
- การเชื่อมต่อ: การเชื่อมต่อ secret และแดชบอร์ด
- Webhooks:
cms.onและlistenersสำหรับ event ของคุณเอง