Plugin — Donation Timer (Sub-a-thon)
Donation Timer เป็น countdown timer สำหรับสตรีม Sub-a-thon — โดเนทเข้ามาแต่ละครั้งจะ บวกเวลา ตามเรทที่ตั้งไว้ (เช่น 1฿ = 1 นาที) เมื่อ timer หมดสตรีมก็จบ
มี widget แยกสำหรับ OBS ให้ใส่บนสตรีม + ปุ่ม manual +1m / +5m / +10m เผื่อต้องบวกเวลาเองในกรณีพิเศษ
สิ่งที่ต้องเตรียม
- ตัดสินใจ เรทเวลาต่อหน่วยเงิน (เช่น 60 วินาที / 1 บาท)
- ตัดสินใจ เวลาเริ่มต้น (เช่น 4 ชั่วโมง = 14400 วินาที)
- (ทางเลือก) เวลา max cap ที่ไม่ให้ timer เกิน
- OBS เปิดอยู่ ถ้าจะใส่ widget
ขั้นที่ 1 — เปิด Plugin Donation Timer
- ไปที่หน้า Plugins (sidebar)
- เลือกแท็บ Donation Timer
- เปิด toggle Enable ที่ด้านบน
ขั้นที่ 2 — ตั้งค่าหลัก (Initial / Rate / Max)
กรอก:
- Initial Time (วินาที) — เวลาตั้งต้น เช่น 14400 = 4 ชั่วโมง
- Rate per unit — กี่วินาที / 1 บาท เช่น
60แปลว่า 1฿ = 1 นาที - Max Cap — เวลาสูงสุดที่ timer จะไม่เกิน (ใส่
0= ไม่จำกัด) - Min Amount — donation ต่ำกว่านี้ ไม่บวกเวลา
:::tip คำนวณเรทยังไง
ถ้าอยากให้ "1 บาท = 1 นาที" → ใส่ rate 60 (วินาที)
ถ้าอยากให้ "10 บาท = 1 นาที" → ใส่ rate 6 (1฿ = 6 วินาที)
:::
ขั้นที่ 3 — Customize Style
ปรับให้เข้ากับธีมสตรีม:
- Title text + ขนาด + สี (เช่น "SUB-A-THON")
- Font family + size + weight + color ของตัวเลข countdown
- Background color + opacity
- Border color / width / radius
- Text shadow (toggle)
- End text — ข้อความที่โชว์เมื่อ timer หมด (เช่น "หมดเวลาแล้ว!")
- Image — รูป/GIF ใส่ใน widget (ตำแหน่ง + ขนาด + padding)
- Padding ของ container ทั้งหมด
ขั้นที่ 4 — Copy Timer Widget URL → ใส่ใน OBS
- หาส่วน Timer Widget URL
- กด Copy
- ใน OBS → + Sources → Browser
- วาง URL → ตั้ง Width / Height ตามที่ต้องการ
- กด OK → ลากตำแหน่งใน scene
URL ของ widget: http://localhost:3001/timer
ขั้นที่ 5 — เริ่ม Timer + ทดสอบ
- กดปุ่ม Start ที่ด้านบนเพื่อให้ timer เริ่มนับถอยหลัง
- ลองส่ง donation จากหน้า Test Panel — ดูว่าเวลาบวกตามเรท
- ใช้ปุ่ม +1m / +5m / +10m เพื่อบวกเวลาเองในกรณีพิเศษ (เช่น ขอบคุณ moderator)
- Pause / Resume / Stop ใช้ควบคุมเมื่อพักหรือจบสตรีม
Tips & Troubleshooting
- Timer ไม่บวกตอนโดเนท: ตรวจว่า Enable toggle เปิดแล้ว + amount ผ่าน Min Amount + timer สถานะ Running (ไม่ pause)
- Timer เกิน Max Cap: เป็นไปตาม design — ถ้าตั้ง cap แล้วมันถึงเพดาน donation จะ "หาย" (ไม่บวก) ตั้ง cap = 0 ถ้าไม่อยากจำกัด
- OBS widget ไม่อัปเดต: Socket.io sync แบบ realtime — ถ้าค้าง refresh browser source ใน OBS
- อยากให้นาฬิกาฟอนต์ใหญ่ขึ้น: เพิ่ม font size + ใน OBS ปรับ Width ของ Browser Source ให้ใหญ่พอ
- Reset timer สำหรับสตรีมรอบใหม่: กด Stop → แก้ Initial Time → Start ใหม่
:::warning ตอน live อย่าสลับค่า rate กลางคัน ถ้าเปลี่ยน rate ระหว่างสตรีม donation เก่าจะใช้ rate ใหม่ทันที (ไม่ย้อนหลัง) — กำหนดให้ชัดก่อนเริ่ม :::