ในปัจจุบันที่เทคโนโลยีก้าวไปข้างหน้าอย่างรวดเร็ว การสื่อสารกับผู้ใช้ผ่านแพลตฟอร์มทางการออนไลน์เป็นสิ่งที่สำคัญอย่างยิ่ง โดยเฉพาะในการแจ้งเตือนหรือส่งข้อความสำคัญทันทีผ่านทางไลน์ (Line) ซึ่งเป็นแพลตฟอร์มที่ใช้งานกันอย่างแพร่หลายในวงการธุรกิจและส่วนตัว
ในบทความนี้เราจะพูดถึงวิธีการส่งข้อความและสติกเกอร์ผ่าน Line Notify โดยใช้เครื่องมือ Node-RED ซึ่งเป็นเครื่องมือที่มีความสามารถในการสร้างการทำงานอัตโนมัติได้อย่างยืดหยุ่น โดยไม่ต้องมีความรู้ในการเขียนโปรแกรมอย่างลึกซึ้ง
การเตรียมพร้อมก่อนเริ่มต้น
ก่อนที่เราจะเริ่มต้นใช้งาน Node-RED เพื่อส่ง Line Notify กัน ต้องมีการเตรียมพร้อมดังนี้:
- สร้าง Token สำหรับ Line Notify โดยเข้าไปที่เว็บไซต์ Line Notify เพื่อสร้าง Token สำหรับกลุ่ม Line ที่ต้องการให้ส่งข้อความโดยได้จากการสแกน Qr-code
- ติดตั้ง Node-RED ผ่าน Docker ด้วยคำสั่ง
docker run -d -it -p 1880:1880 nodered/node-red
และเข้าสู่หน้า Node-RED ผ่าน URL: http://localhost:1880/
ขั้นตอนในการส่ง Line Notify ผ่าน Node-RED
1. การกำหนดค่าข้อมูล:
- การส่งรูปภาพ: โปรแกรมรองรับการส่งรูปภาพผ่าน Line Notify ผู้ใช้สามารถกำหนดโปรแกรมให้รวมรูปภาพพร้อมกับข้อความหรือเป็นข้อความเดี่ยวตามที่ต้องการ
- การส่งข้อความ: สามารถส่งข้อความได้ผ่าน Line Notify ผู้ใช้สามารถกำหนดเนื้อหาของข้อความตามความต้องการ
- การส่งสติกเกอร์: สติกเกอร์ได้รับการสนับสนุนในโปรแกรม ผู้ใช้สามารถระบุไอดีของแพ็คเกจสติกเกอร์และไอดีของสติกเกอร์เพื่อส่งสติกเกอร์พร้อมกับข้อความหรือแยกออกมาเป็นข้อความเดี่ยวได้
2. การจัดรูปแบบข้อมูล:
- โปรแกรมจัดรูปแบบข้อมูลอย่างมีประสิทธิภาพโดยอัตโนมัติโดยพิจารณาถึงประเภทของเนื้อหาที่เลือก (รูปภาพ, ข้อความ, สติกเกอร์) และให้แน่ใจว่ามันเข้ากันได้กับความต้องการเฉพาะของ API ของ Line Notify
- เช่น เมื่อส่งรูปภาพ โปรแกรมจัดรูปแบบข้อมูลรูปภาพอย่างถูกต้องภายใน payload เพื่อให้การส่งเป็นไปอย่างราบรื่นไปยัง Line Notify
3. การส่งข้อมูล:
- หลังจากจัดรูปแบบข้อมูลเสร็จสิ้น โปรแกรมจะส่งข้อมูลไปยัง API ของ Line Notify
- โปรแกรมใช้วิธีการส่งข้อมูลแบบ HTTP POST เพื่อส่งข้อมูลที่จัดรูปแบบไว้ไปยัง URL ของ API ของ Line Notify ซึ่งมั่นใจในการส่งข้อมูลที่ปลอดภัยและมีประสิทธิภาพ
- เมื่อส่งข้อมูลสำเร็จ Line Notify จะประมวลผลข้อมูลและส่งข้อความไปยังกลุ่มหรือผู้ใช้ที่กำหนดไว้
ด้วยการรวมคุณสมบัติเหล่านี้ โปรแกรมนี้เสนอคำแนะนำที่มีประสิทธิภาพและหลากหลายสำหรับการส่งข้อมูลต่าง ๆ ผ่าน Line Notify ซึ่งเหมาะสำหรับความต้องการและการสื่อสารที่หลากหลายของ User
Reference : https://flows.nodered.org/flow/859a0843ee75c9add0dc462e50d543a1?source=post_page—–8d8894b76878——————————–
สามารถนำมาประยุกต์ใช้ได้ในการ แสดงบน form บน dashborad ได้
โดย ขั้นตอนที่เพิ่มขึ้นมาจะเป็นการกำหนด form ที่กำหนดเป็น token และ message ที่ต้องการส่งให้แก่ line-notify
- ทำการคลิกเข้า form แล้วทำการคลิกที่ตัวดินสอบริเวณ group
- จากนั้นกำหนด Properties แล้วกด Update
- จากนั้นกำหนด Form element ประกอบด้วย Label Name Type Required
- ทำการคลิกเข้า function 3 แล้วทำการเขียน code
- ลักษณะ code
msg.payload ={
"token": msg.payload.token,
"message": msg.payload.message }
return msg;
msg.payload = { ... }
บรรทัดนี้กำหนดค่าใหม่ให้กับmsg.payload
ด้วยอ็อบเจกต์ใหม่- ในอ็อบเจกต์นั้น:
"token": msg.payload.token
คือคู่ของคีย์และค่า ที่คีย์คือ"token"
และค่าของมันมาจากmsg.payload.token
ที่มีอยู่ก่อนหน้านี้ในข้อความที่ส่งเข้ามา."message": msg.payload.message
เป็นคู่ของคีย์และค่าอีกครั้ง, โดยที่คีย์คือ"message"
และค่าของมันมาจากmsg.payload.message
ที่มีอยู่ก่อนหน้านี้.
return msg;
บรรทัดนี้ส่งคืนอ็อบเจกต์msg
ที่ปรับเปลี่ยนแล้วกลับออกไป, เพื่อให้สามารถถูกใช้งานต่อในโหนดถัดไปในการไหล.
สิ่งที่โค้ดนี้ทำคือการสร้าง payload ใหม่ที่มีสองส่วนข้อมูลสำคัญสำหรับ LINE Notify, คือ token และ message. Token นั้นเป็นสิ่งจำเป็นสำหรับการยืนยันตัวตนกับ LINE Notify API เพื่อส่งข้อความ, และ message คือข้อความที่คุณต้องการส่ง
- ทำการ debug โดยผลลัพท์เป็นลักษณะนี้
- ผลลัพท์ที่ได้ในหน้า UI : http://127.0.0.1:1880/ui/
- ผลลัพท์บน line-notify
สรุปได้ว่า
การใช้ Node-RED ร่วมกับ LINE Notify เป็นเทคนิคที่มีประสิทธิภาพในการสื่อสารและส่งข้อความโต้ตอบอัตโนมัติให้กับผู้ใช้. ด้วยการใช้งานที่ไม่ซับซ้อน, สามารถตั้งค่าได้ง่ายผ่านหน้าต่างการกำหนดค่า, และการเขียนสคริปต์ง่ายๆ เพื่อจัดรูปแบบ payload, ผู้ใช้สามารถส่งรูปภาพ, ข้อความ, และสติกเกอร์ผ่าน LINE Notify ได้อย่างราบรื่น. Node-RED ทำให้กระบวนการนี้เข้าถึงได้ง่ายโดยไม่จำเป็นต้องมีความรู้เชิงลึกเกี่ยวกับการเขียนโค้ด, และสามารถประยุกต์ใช้กับการแสดงผลบนแดชบอร์ด UI ได้อีกด้วย