กลับไปที่บทความ
ผมสร้าง AI ตอบ LINE OA อัตโนมัติเอง — ด้วย Gemini ฟรี ไม่ต้องจ่ายรายเดือน
AI และเทคโนโลยีอ่าน 8 นาที·2026-05-07

ผมสร้าง AI ตอบ LINE OA อัตโนมัติเอง — ด้วย Gemini ฟรี ไม่ต้องจ่ายรายเดือน

IB

ทีม Inboxly

ทีม 3 คนไทย

โพสต์ที่แล้วผมพูดถึงการทำ chatbot AI เชื่อม LINE OA — และบอกว่าเชื่อมได้หมดทั้ง Facebook, TikTok, Shopee, Lazada

มีคนถามเข้ามาเยอะมากว่า "ทำได้จริงไหม? ทำยังไง?"

โพสต์นี้จะอธิบาย concept ที่ทำให้มันเป็นไปได้ พร้อมโค้ด MVP ที่รันได้จริง

หน้าจอ demo chatbot ตอบลูกค้าใน LINE OA อัตโนมัติ
หน้าจอ demo chatbot ตอบลูกค้าใน LINE OA อัตโนมัติ

Concept หลัก — ทำไมเชื่อมได้ทุก platform?

ก่อนดูโค้ด ต้องเข้าใจ concept นี้ก่อน

ทุก platform ใช้ระบบ Webhook เหมือนกัน

Webhook คือ "ประตูรับข้อความ" — เมื่อลูกค้าพิมพ์ข้อความ platform จะส่ง HTTP POST มาที่ server ของเรา

ลูกค้าพิมพ์ข้อความ
        ↓
LINE / Facebook / TikTok / Shopee ส่ง POST → server เรา
        ↓
server เราอ่านข้อความ → ส่งให้ AI → ส่งคำตอบกลับ

ทุก platform ทำแบบนี้หมด แค่ รูปแบบข้อมูลที่ส่งมาต่างกัน เท่านั้น

PlatformWebhook format
LINE`events[].message.text`
Facebook Messenger`entry[].messaging[].message.text`
TikTok Shop`message.content`
Shopee / Lazadaรูปแบบของแต่ละ platform
แผนภาพ webhook จากหลาย platform มาที่ server เดียว
แผนภาพ webhook จากหลาย platform มาที่ server เดียว

Adapter Pattern — หัวใจของระบบ

วิธีที่ทำให้รองรับได้หลาย platform โดยไม่ต้องเขียน AI engine ซ้ำ คือ Adapter Pattern

แนวคิดง่ายๆ:

[LINE webhook]     → LINE Adapter    ↘
[Facebook webhook] → Facebook Adapter → AI Engine → ส่งคำตอบกลับ
[TikTok webhook]   → TikTok Adapter  ↗

Adapter ทำหน้าที่แปลง format ของแต่ละ platform ให้เป็นรูปแบบเดียวกัน แล้วส่งต่อให้ AI Engine ตัวเดียว

AI Engine ไม่รู้ว่าข้อความมาจาก platform ไหน — มันแค่รับข้อความ ส่งให้ AI แล้วคืนคำตอบ

MVP นี้สาธิต LINE Adapter ก่อน เพราะเป็น platform หลักของตลาดไทย ตอนสอนครั้งต่อไปจะทำ Facebook และ TikTok ต่อ

มันทำอะไรได้บ้าง (LINE MVP)

เมื่อลูกค้าทักเข้า LINE OA — บอตจะ:

  • รับ webhook จาก LINE
  • โหลด system prompt + ข้อมูลร้าน (Knowledge Base) + ประวัติ 10 ข้อความล่าสุด
  • ส่งให้ AI provider ที่เลือกไว้
  • ส่งคำตอบกลับผ่าน LINE Push API ทันที
  • ทั้งหมดนี้เกิดขึ้นในเวลา 2–4 วินาที โดยเฉลี่ย

    หน้า UI ตั้งค่า AI Provider, System Prompt และ Knowledge Base
    หน้า UI ตั้งค่า AI Provider, System Prompt และ Knowledge Base

    BYOK — ทำไมถึงไม่ต้องจ่ายรายเดือน?

    BYOK = Bring Your Own Key — เอา API key ของตัวเองมาใส่

    แทนที่จะจ่าย subscription ให้แพลตฟอร์ม คุณใช้ key โดยตรงกับ AI provider ค่าใช้จ่ายจึงไปตามที่ใช้จริง

    และที่ดีกว่านั้น — Gemini 1.5 Flash มี Free Tier ให้ใช้ฟรีถึง 1 ล้าน token ต่อวัน (ณ วันที่เขียน) ซึ่งเกินพอสำหรับร้านขนาดเล็ก-กลาง

    รองรับ 3 AI Provider

    ProviderModel แนะนำฟรีไหม?
    Geminigemini-1.5-flash✅ Free Tier มี
    Claudeclaude-haiku-4-5❌ เสียเงิน (ถูก)
    OpenAIgpt-4o-mini❌ เสียเงิน (ถูก)

    สำหรับ MVP — เริ่มด้วย Gemini ก่อนเลย ไม่ต้องควักเงินทดสอบ

    Feature หลักที่อยู่ใน MVP นี้

    Knowledge Base

    ใส่ข้อมูลร้านได้เป็นหมวดๆ เช่น ราคาสินค้า, เวลาทำการ, นโยบายคืนของ — AI จะดึงข้อมูลนี้มาตอบลูกค้าอัตโนมัติ

    Handoff Keywords

    ถ้าลูกค้าพิมพ์คำที่กำหนดไว้ เช่น "คุย", "เจ้าหน้าที่", "ต้องการคน" — AI จะหยุดตอบทันทีแล้ว "ยก" conversation ให้คนจัดการแทน

    Anti-Race Condition

    ระหว่างที่ AI กำลังคิดคำตอบ (2–4 วิ) ถ้าเจ้าหน้าที่กดรับสายก่อน — AI จะทิ้งคำตอบนั้น แทนที่จะส่งซ้อนกัน

    Logs ทุก request

    เก็บ provider, model, tokens ที่ใช้, latency, และ error ไว้ดูย้อนหลังได้ทั้งหมด

    หน้า Logs แสดง token usage และ latency แต่ละ request
    หน้า Logs แสดง token usage และ latency แต่ละ request

    Tech Stack

  • Backend: Go 1.23 + Gin + PostgreSQL 16
  • Frontend: Next.js + React + TypeScript + Tailwind CSS
  • Deploy: Docker Compose (1 คำสั่ง)
  • วิธีเริ่มต้น (5 นาที)

    bash
    # 1. clone โค้ด
    git clone [CODE_LINK]
    cd dsclinic
    
    # 2. ตั้งค่า environment
    cp .env.example .env
    # แก้ค่าใน .env:
    # - AI_ENCRYPTION_KEY (generate ด้วย: openssl rand -base64 32)
    # - LINE_CHANNEL_ACCESS_TOKEN
    # - LINE_CHANNEL_SECRET
    
    # 3. รัน
    docker compose up -d
    
    # 4. เปิด UI ที่ http://localhost:3000
    # ใส่ Gemini API Key → เปิด AI → เริ่มได้เลย

    จากนั้นตั้ง webhook URL ใน LINE Developers Console เป็น:

    `https://your-domain.com/api/v1/line/webhook`

    ขอบเขต MVP — สิ่งที่ยังไม่มี

    บอกตรงๆ ว่านี่คือ MVP ของ LINE — ยังมีสิ่งที่ขาด:

  • ❌ ระบบ login / หลายผู้ใช้
  • ❌ รับรูปภาพ / ไฟล์ (text เท่านั้น)
  • ❌ รองรับหลาย LINE OA พร้อมกัน (1 deploy = 1 OA)
  • ❌ Facebook, TikTok, Shopee, Lazada Adapter (จะสอนใน EP ต่อไป)
  • สิ่งที่มีแล้ว:

  • ✅ ตอบ LINE OA อัตโนมัติด้วย AI
  • ✅ Knowledge Base
  • ✅ Handoff ให้คน
  • ✅ Logs ครบ
  • ✅ ปลอดภัย (key เข้ารหัส AES-256-GCM)
  • ✅ Deploy ด้วย Docker ได้เลย
  • วิดีโออธิบาย

    [VIDEO_LINK] — ผมอัดวิดีโอ walkthrough ทุกขั้นตอนตั้งแต่ clone โค้ดจนถึง AI ตอบลูกค้าได้จริง รวมถึงอธิบาย Adapter Pattern ที่ใช้ขยายไป platform อื่น

    โค้ด

    [CODE_LINK] — ดู README ใน repo สำหรับ setup เพิ่มเติม


    ถ้าร้านคุณมีทั้ง LINE + Facebook + Instagram + อีกหลายช่องทาง และต้องการระบบที่รองรับทั้งทีม, หลาย OA, พร้อม inbox รวมในที่เดียว โดยไม่ต้องเขียนโค้ดInboxly ทำสิ่งเหล่านั้นได้แล้ววันนี้ ลองได้ฟรีที่ inboxly.team

    IB

    ทีม Inboxly

    ทีม 3 คนไทย

    ลองใช้ Inboxly ฟรีวันนี้

    Starter ฟรีตลอด · ไม่ต้องใช้บัตรเครดิต

    เริ่มใช้ฟรี