🏠 หน้าหลัก › 🛒 ปักตะกร้า › EP 80002

🛒 Runner Dashboard & Auto Post — TikTok Bot V4.7

คู่มือละเอียด Runner Dashboard, DB Manager, ปักตะกร้าอัตโนมัติ, Schedule/Draft, Product Mapping และ Automation Pipeline

Runner Dashboard DB Manager Auto Post Product Mapping Schedule 4 Layers

📋 สารบัญ

  1. Architecture — ภาพรวมระบบ
  2. Runner Dashboard — หน้าจอหลัก
  3. DB Manager — จัดการสินค้า
  4. Automation Pipeline — 10 ขั้นตอน
  5. ปักตะกร้า — Product Pinning Actions
  6. Schedule System — 4-Layer Fallback
  7. Product Mapping & Rotation
  8. Interleaving & Queue
  9. Content Script — 30+ Actions
  10. Best Practices & Troubleshooting
01

🏗️ Architecture — ภาพรวมระบบ

TikTok Bot V4.7 เป็น Chrome Extension (Manifest V3) มี 3 หน้าหลัก + Content Script + Background

🖱️ Popup

Entry Point — 3 ปุ่ม: Open Runner, Open DB, Open TikTok Studio

🎛️ Runner

หน้าจอหลัก — Sidebar + Queue + Dashboard + Action Bar + Log

🗄️ DB Manager

จัดการข้อมูลสินค้า — CRUD, Search, Filter, Import/Export

📂 File Structure

V4.7/
├── manifest.json          # Extension manifest (MV3)
├── popup.html / popup.js  # Entry point: 3 ปุ่ม
├── runner.html / runner.js # Runner UI + logic (1,875 lines)
├── content.js             # DOM automation (3,352 lines)
├── background.js          # Message relay
├── dbmanager.html / .js   # Product DB Manager (~1,050 lines)
├── data/products_map.json # Product mapping (52KB)
└── log/                   # DOM recordings

รวม ~5,800 lines JS + 1,460 lines HTML/CSS

02

🎛️ Runner Dashboard — หน้าจอหลัก

Layout แบ่ง 4 ส่วน: Header, Sidebar, Main Area (Queue), Log Panel

📐 Dashboard Layout

┌────────── Header ──────────────────────────────────────┐
│ 🎵 TikTok Bot V4.7  │ [Tab Select ▼] 🔄 📡 🎬          │
├──── Sidebar ────┬──── Main Area ───────────────────────┤
│ 📁 วิดีโอ        │  Queue (N items)      [Build] [Export]│
│ [เลือกไฟล์]      │  ┌─────────────────────────────────┐ │
│ [เลือกโฟลเดอร์]  │  │ # │ ไฟล์ │ เวลา │ โหมด │ สินค้า │ │
│ ☑ file1.mp4     │  │ 1 │ 10001│ 10:00│ 🕐   │ SKU.. │ │
│ ☑ file2.mp4     │  │ 2 │ 10002│ 11:00│ 💾   │ —    │ │
│ [ทั้งหมด] [ล้าง] │  │ ☰ (drag to reorder)            │ │
│                 │  └─────────────────────────────────┘ │
│ ⚙️ โหมด          │  ┌──── Action Bar ──────────────────┐ │
│ [💾 Draft]       │  │ [▶ Start] ████░░ 40%             │ │
│ [🕐 Schedule]   │  │ [🔄 Retry] [⏸ Stop] [▶ Resume]   │ │
│ 📅 วันที่ / เวลา  │  └──────────────────────────────────┘ │
│ ⏱️ ห่างกัน (นาที) │                                      │
├────────────────┴───────────────────────────────────────┤
│ 📋 Log                                    [💾 Save] ▼  │
│ [10:00:01] ✓ วิดีโออัพโหลดแล้ว                          │
└────────────────────────────────────────────────────────┘
Feature รายละเอียด
Tab Select เลือก TikTok Studio tab ที่เปิดอยู่ (auto-detect)
File Source เลือกไฟล์/โฟลเดอร์ + checkbox เลือก/ล้าง
Mode Toggle Draft (💾 บันทึกฉบับร่าง) หรือ Schedule (🕐 ตั้งเวลาโพส)
Schedule Config วันที่เริ่ม, เวลาเริ่ม, ห่างกันกี่นาที/ไฟล์
Build Plan สร้าง queue จากไฟล์ที่เลือก + คำนวณเวลา
Drag & Drop ลากย้ายลำดับใน queue table
Auto Resume 8 นาที timeout — auto-skip ถ้าค้าง
Retry Failed ลองใหม่เฉพาะไฟล์ที่ล้มเหลว
Dashboard Modal สรุปผล: ✅ สำเร็จ / ❌ ผิดพลาด / ข้าม
Export JSON report + Text log
Post History ตรวจจับไฟล์ซ้ำ (เก็บ 500 records)
03

🗄️ DB Manager — จัดการสินค้า

จัดการข้อมูลสินค้าสำหรับปักตะกร้า — ค้นหา กรอง เพิ่ม แก้ไข ลบ Export

📊 Features

  • CRUD — เพิ่ม / แก้ / ลบ (modal form)
  • Search — ค้นด้วย CSV ID, code, SKU, ชื่อ
  • Filters — ร้านค้า, หมวด, สถานะ, Favorite
  • ⭐ Favorite — Toggle favorite กรองรายการโปรด
  • Copy — Copy ชื่อ / code / SKU / ทั้งหมด
  • Import/Export — JSON file
  • Theme — Dark / Light mode
  • Keyboard — Ctrl+S, Delete, Escape

📦 Product Fields

Field ตัวอย่าง
csv_id 10001 (ตรงกับชื่อไฟล์ VDO)
sku SKU-10001-A (ค้นใน TikTok Shop)
product_name เสื้อยืดลายน่ารัก
shop_name ร้านค้า A
price 299
commission 15.50
category เครื่องแต่งกาย
is_active 1 / 0
04

🔄 Automation Pipeline — 10 ขั้นตอน

ทุกครั้งที่กด Start ระบบจะทำ 10 ขั้นตอนต่อไฟล์ ใช้เวลา ~5-6 นาที/ไฟล์

1

Navigate → Upload Page

2

Upload VDO

3

Wait Processing

4

Fill Caption

5

ปักตะกร้า

6

Scroll + Settings

7

Wait 3 min (TikTok check)

8

Schedule / Draft

9

Submit

10

Save History

⏱️ Timeline ต่อไฟล์

  • Upload + Wait: ~30 วินาที
  • Caption + Product: ~30 วินาที
  • Settings + AI Toggle: ~15 วินาที
  • Content Check Wait: 3 นาที
  • Schedule + Submit: ~15 วินาที
  • รวม: ~5-6 นาที/ไฟล์

🤖 Auto Resume

  • Timeout: 8 นาที/item
  • ถ้าค้าง → auto-skip ไปไฟล์ถัดไป
  • ล้มเหลว → กด Retry Failed ใหม่ได้
  • Dashboard แสดงสรุป: ✅ / ❌ / ⏭️
05

🛒 ปักตะกร้า — Product Pinning Actions

6 steps ปักตะกร้าอัตโนมัติ — ค้นหาสินค้าด้วย SKU แล้วเลือกให้

# Action ทำอะไร Fallback
1 click_add_link เปิด dialog ปักสินค้า 6-layer sweep strategy
2 search_product ค้นหาด้วย SKU showcase tab → retry
3 select_product เลือกสินค้า (radio click) verify → search → retry
4 click_next กด Next ใน dialog
5 confirm_add กด Add/เพิ่ม
6 wait_dialog_closed รอ dialog ปิด auto-click confirm

🔀 Product Fallback

  • pool — ใช้ fallback_pool (สินค้าสำรอง)
  • skip — ข้ามไม่ปักตะกร้า
  • ตั้งค่าใน Sidebar ของ Runner

🌐 Bilingual Support

  • "Add link" / "เพิ่มลิงก์"
  • "Search products" / "ค้นหาสินค้า"
  • "Add" / "เพิ่ม"
  • Auto-detect ทั้ง EN + TH
06

🕐 Schedule System — 4-Layer Fallback

ระบบตั้งเวลาโพสต์ 4 วิธี — ถ้าวิธีแรกไม่ได้ จะลองวิธีถัดไปอัตโนมัติ

🔄 4 Layers

  • Layer 1: setSchedule — หา time/date input ตรง
  • Layer 2: setScheduleByPicker — scroll dropdown
  • Layer 3: setScheduleDropdownExact — DOM recording
  • Layer 4: forceSetScheduleValue — native descriptor

⚙️ ตั้งค่า Schedule

  • วันที่เริ่ม — เลือกวันแรกที่จะโพสต์
  • เวลาเริ่ม — เวลาแรกของวัน
  • ห่างกัน (นาที) — ห่างกี่นาทีต่อไฟล์
  • ระบบคำนวณเวลาทุกไฟล์ใน queue อัตโนมัติ
💾 Draft Mode:

ถ้าไม่ต้องการตั้งเวลา ใช้โหมด Draft — บันทึกฉบับร่างไว้ แล้วค่อยโพสต์เอง ถ้าต้องเช็คก่อน

07

📦 Product Mapping & Rotation

ระบบจับคู่ชื่อไฟล์ VDO → สินค้า อัตโนมัติ

🔗 CSV ID → Product Mapping

ชื่อไฟล์:  10001_video_name.mp4
                ↓ extractCsvId()
CSV ID:    10001
                ↓ resolveProduct()
Product:   { sku: "SKU-123", name: "สินค้ายอดฮิต" }
                ↓ ปักตะกร้าอัตโนมัติ

🔄 Product Rotation

  • CSV ID 1 ตัวมีหลาย products ได้
  • ระบบ rotate ไม่ซ้ำกัน (round-robin)
  • ไฟล์ VDO ชื่อเดียวกัน → สินค้าต่างกันทุกครั้ง

📂 แหล่งข้อมูลสินค้า

  • products_map.json (52KB) ในโฟลเดอร์ data/
  • DB Manager → chrome.storage (custom map)
  • Fallback pool สำหรับสินค้าที่ไม่มี mapping
08

🔀 Interleaving & Queue

กระจาย CSV ID เดียวกันไม่ให้ติดกัน — ป้องกัน TikTok จับซ้ำ

🔄 Interleaving (Round-Robin)

กลุ่ม A: [a1, a2, a3]
กลุ่ม B: [b1, b2]
→ ผลลัพธ์: [a1, b1, a2, b2, a3]

CSV ID เดียวกันกระจายสลับกัน ไม่ลงติดกัน

📋 Queue Management

  • Build Plan — สร้าง queue จากไฟล์ + เวลา
  • Drag & Drop — ลากเรียงลำดับใหม่
  • Export — ส่งออก Plan เป็น JSON
  • Post History — ตรวจไฟล์ซ้ำ 500 รายการ
09

🧠 Content Script — 30+ Actions

content.js (3,352 lines) รองรับ action ต่อไปนี้ทั้งหมด ใช้ Score-Based Detection + Multi-Layer Fallback

📤 Core

  • upload_video
  • fill_caption
  • verify_caption
  • scroll_down

🛒 Product

  • click_add_link
  • search_product
  • select_product
  • click_next
  • confirm_add

🕐 Schedule

  • setSchedule
  • setScheduleByPicker
  • setScheduleDropdown
  • forceSetScheduleValue

⚙️ Settings

  • click_show_more
  • click_ai_toggle
  • apply_post_settings
  • submit_schedule/draft

🔧 Debug

  • get_page_info
  • get_dom / get_buttons
  • acquire/release_lock
  • debug_*

🎯 Detection

  • Score-Based: EN+TH keywords
  • Position scoring
  • Class/ID matching
  • 4-6 fallback layers
10

📝 Best Practices & Troubleshooting

เคล็ดลับและปัญหาที่พบบ่อย

✅ Best Practices

  • ตั้งชื่อไฟล์ VDO ให้ขึ้นด้วย CSV ID เช่น 10001_xxx.mp4
  • เตรียม products_map.json ให้ครบก่อนรัน
  • ใช้ Interleave กระจาย — ป้องกัน TikTok จับ spam
  • ตั้งห่างกัน ≥ 30 นาที/ไฟล์ สำหรับ Schedule
  • ใช้ Draft ก่อนถ้าไม่แน่ใจ → ค่อย publish ภายหลัง
  • เปิด AI Content toggle ถ้าคลิปสร้างด้วย AI
  • ตรวจ Post History ก่อนรัน → กัน duplicate

⚠️ ปัญหาที่พบบ่อย

  • Bot ค้าง → Auto Resume จะ skip หลัง 8 นาที
  • ปักตะกร้าไม่ได้ → เช็ค SKU ใน DB Manager ว่าถูกต้อง
  • Schedule ไม่ลง → 4-layer fallback จะลองวิธีอื่น
  • TikTok เปลี่ยน UI → อัปเดต Extension ใหม่
  • ไฟล์ซ้ำ → Post History ตรวจจับ 500 รายการล่าสุด
  • Content Check 3 นาที → อย่าปิด tab ระหว่างรอ
สถิติ ค่า
เวลาต่อไฟล์ ~5-6 นาที
Fallback Layers 4-6 ชั้นต่อ action
Post History 500 records
ภาษา EN + TH (bilingual)
Actions 30+
Auto Resume 8 นาที timeout
← EP 61001 🏠 หน้าหลัก · 📅 ตารางสอน