ในปัจจุบันที่เทคโนโลยีก้าวไปข้างหน้าอย่างรวดเร็ว การสื่อสารกับผู้ใช้ผ่านแพลตฟอร์มทางการออนไลน์เป็นสิ่งที่สำคัญอย่างยิ่ง โดยเฉพาะในการแจ้งเตือนหรือส่งข้อความสำคัญทันทีผ่านทางไลน์ (Line) ซึ่งเป็นแพลตฟอร์มที่ใช้งานกันอย่างแพร่หลายในวงการธุรกิจและส่วนตัว

ในบทความนี้เราจะพูดถึงวิธีการส่งข้อความและสติกเกอร์ผ่าน Line Notify โดยใช้เครื่องมือ Node-RED ซึ่งเป็นเครื่องมือที่มีความสามารถในการสร้างการทำงานอัตโนมัติได้อย่างยืดหยุ่น โดยไม่ต้องมีความรู้ในการเขียนโปรแกรมอย่างลึกซึ้ง

การเตรียมพร้อมก่อนเริ่มต้น

ก่อนที่เราจะเริ่มต้นใช้งาน Node-RED เพื่อส่ง Line Notify กัน ต้องมีการเตรียมพร้อมดังนี้:

  1. สร้าง Token สำหรับ Line Notify โดยเข้าไปที่เว็บไซต์ Line Notify เพื่อสร้าง Token สำหรับกลุ่ม Line ที่ต้องการให้ส่งข้อความโดยได้จากการสแกน Qr-code
  2. ติดตั้ง 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;
    1. msg.payload = { ... } บรรทัดนี้กำหนดค่าใหม่ให้กับ msg.payload ด้วยอ็อบเจกต์ใหม่
    2. ในอ็อบเจกต์นั้น:
      • "token": msg.payload.token คือคู่ของคีย์และค่า ที่คีย์คือ "token" และค่าของมันมาจาก msg.payload.token ที่มีอยู่ก่อนหน้านี้ในข้อความที่ส่งเข้ามา.
      • "message": msg.payload.message เป็นคู่ของคีย์และค่าอีกครั้ง, โดยที่คีย์คือ "message" และค่าของมันมาจาก msg.payload.message ที่มีอยู่ก่อนหน้านี้.
    3. 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 ได้อีกด้วย