LINE_OA_BOT
thanathornzdev · ส่วนตัว
บอท LINE Official Account
สรุปโปรเจกต์
ภาพรวม
บอท LINE OA สำหรับร้านอาหารที่ช่วยรับออเดอร์เมนูอาหารและเครื่องดื่มผ่านแชต พร้อมสร้าง QR PromptPay สำหรับชำระเงินอัตโนมัติ
สรุป 30 วินาที
• รับคำสั่งและจัดการตะกร้าอาหารผ่านแชต • สร้าง QR PromptPay แบบ EMVCo ตามยอดจริง • มีระบบแอดมินและตั้งค่าผ่าน .env ง่ายต่อการติดตั้ง
เหมาะกับใคร
ร้านอาหารหรือธุรกิจ F&B ที่ต้องการระบบรับออเดอร์และชำระเงินอัตโนมัติผ่าน LINE Official Account
- หมวดหมู่
- Bot
- ปี
- 2026
- ผู้ดูแลผลงาน
- thanathornzdev
รายละเอียดเพิ่มเติมรายละเอียดเชิงลึก
ระบบบอท LINE Official Account ออกแบบมาเพื่อรองรับการรับออเดอร์อาหารและเครื่องดื่มผ่านแชท โดยผู้ใช้งานสามารถเรียกดูเมนู สั่งอาหาร และตรวจสอบตะกร้าสินค้าได้ทันทีผ่านคำสั่งข้อความ
ระบบรองรับการคำนวณยอดรวมอัตโนมัติและสร้าง QR Code PromptPay ตามยอดจริงของออเดอร์ พร้อมฟีเจอร์จัดการผู้ดูแลระบบ (Admin) สำหรับควบคุมระบบและยืนยันการชำระเงิน
โครงสร้างพัฒนาด้วย Python และ Flask สำหรับจัดการ Webhook ของ LINE โดยข้อมูลตะกร้าและออเดอร์ในปัจจุบันเก็บในหน่วยความจำชั่วคราว และรองรับการปรับใช้กับฐานข้อมูลสำหรับระบบผลิตจริง
เอกสารต้นฉบับรายละเอียด (README)
LINE OA Bot ร้านอาหารตามสั่ง + PromptPay QR (Python)
บอทสำหรับรับออเดอร์เมนูอาหาร/เครื่องดื่มผ่าน LINE OA และสร้าง QR PromptPay ตามยอดชำระเงิน
ความสามารถ
- แสดงเมนูอาหารและเครื่องดื่ม
- รับคำสั่งสั่งอาหาร เช่น
สั่ง F01 2 - ดูตะกร้า และรวมยอดอัตโนมัติ
- สร้าง QR PromptPay ตามยอดจริงของตะกร้า
- ยืนยันการชำระและล้างตะกร้า
โครงสร้างไฟล์
app.pyเซิร์ฟเวอร์ Flask + LINE webhookpromptpay.pyฟังก์ชันสร้าง PromptPay payload (EMVCo + CRC16).env.exampleตัวอย่างตัวแปรแวดล้อม
ติดตั้ง
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
ตั้งค่า
คัดลอก .env.example เป็น .env แล้วแก้ค่า:
CHANNEL_ACCESS_TOKENCHANNEL_SECRETPROMPTPAY_ID(เบอร์มือถือ 10 หลัก หรือเลขบัตรประชาชน 13 หลัก)BASE_URL(ต้องเป็น HTTPS และเข้าถึงได้จากอินเทอร์เน็ต)
สำหรับระบบแอดมิน (ใหม่):
ADMIN_USERNAMEชื่อผู้ใช้แอดมิน (ค่าเริ่มต้นadmin)ADMIN_PASSWORDรหัสผ่านเริ่มต้นแบบ plain text (ใช้เฉพาะกรณีไม่ตั้งค่า hash)ADMIN_PASSWORD_HASHรหัสผ่านแบบ hash สำหรับ login แอดมินADMIN_SECRET_CODEโค้ดลับสำหรับฟังก์ชันลืมรหัสผ่านADMIN_SECRET_CODE_HASHโค้ดลับแบบ hash (ถ้าตั้งค่านี้ ระบบจะใช้ค่านี้ก่อน)
หลังจากเปลี่ยนรหัสผ่านผ่านหน้าเว็บ
/admin/change-passwordหรือรีเซ็ตผ่าน/admin/forgot-passwordระบบจะบันทึกรหัสผ่าน hash ลงฐานข้อมูลอัตโนมัติ และใช้งานค่านั้นเป็นลำดับแรก
รัน
python app.py
ตั้งค่า Webhook URL ใน LINE Developers เป็น:
https://your-domain.com/callback
คำสั่งที่ผู้ใช้พิมพ์ในแชต
เมนูสั่ง <รหัสเมนู> <จำนวน>เช่นสั่ง F01 2ตะกร้าล้างตะกร้าชำระเงินตรวจยอด <ข้อความตอบกลับจาก Thunder Bot>verify <QR_PAYLOAD>ยืนยันชำระ
หมายเหตุสำคัญ
- การเก็บตะกร้าเป็นหน่วยความจำ (in-memory) จะหายเมื่อรีสตาร์ตโปรแกรม
- ควรย้ายตะกร้า/ออเดอร์ไปเก็บในฐานข้อมูลเมื่อใช้งานจริง
- คำสั่ง
ยืนยันชำระในตัวอย่างนี้เป็นการยืนยันแบบ manual
ถาม AI เกี่ยวกับ LINE_OA_BOT
ถามแนวทาง เทคโนโลยี หรือความเหมาะสมของโปรเจกต์นี้กับไอเดียของคุณ
กำลังโหลดแชท / Loading chat…