ข้ามไปยังเนื้อหา

แสดงแชท CamuCam ของคุณได้ทุกที่ที่คุณแสดงแชทอยู่แล้ว: ในโอเวอร์เลย์แชทรวม บอท และเครื่องมืออย่าง Streamer.bot ฟรี อ่านอย่างเดียว ไม่ต้องใช้คีย์

ส่งทุกอย่างที่ทุกคนเห็นในหน้าช่อง: ข้อความ ทิป ข้อความจาก CamuCam เอง (เรด ปาร์ตี้ เป้าหมาย) ข้อความที่ถูกลบ และจำนวนผู้ชม

เริ่มต้นใช้งาน

เปิด WebSocket ไปที่ที่อยู่นี้ ทุกข้อความคืออีเวนต์ JSON หนึ่งรายการ เติม &history=20 เพื่อรับ 20 บรรทัดล่าสุดพร้อมอีเวนต์แรก

wss://camucam.com/api/v1/chat/ws?channel=yourname
const ws = new WebSocket("wss://camucam.com/api/v1/chat/ws?channel=yourname&history=20");
ws.onmessage = (m) => {
  const e = JSON.parse(m.data);
  if (e.type === "message") show(e.id, e.user.name, e.user.color, e.text);
  if (e.type === "delete") remove(e.id);
};

อีเวนต์

hello
อันแรก ครั้งเดียว: ข้อมูลช่อง และ (ถ้าขอ) ข้อความล่าสุด
message
ข้อความแชทหนึ่งบรรทัด
tip
ทิปพร้อมข้อความและจำนวนเงิน (USD)
system
ข้อความจาก CamuCam – เรด ปาร์ตี้ เป้าหมาย … (ข้อความเป็นภาษาอังกฤษ)
delete
ลบบรรทัดที่มี id นี้ – การดูแลแชทต้องไปถึงโอเวอร์เลย์ของคุณด้วย
viewers
จำนวนคนที่กำลังดูอยู่ตอนนี้
live
สตรีมเริ่มหรือจบแล้ว
pong
คำตอบของข้อความ ping ที่คุณส่ง

ใครเป็นคนเขียน

ข้อความและทิปมีข้อมูลผู้ใช้: แฮนเดิล ชื่อ สี (เหมือนในแชท) รูปโปรไฟล์ (เป็นรูปเสมอ – ถ้าไม่มีรูปจะเป็นตัวอักษรแรก) ลิงก์โปรไฟล์ และป้าย: สตรีมเมอร์ ผู้ดูแล ทีมงาน ยืนยันแล้ว เลเวล เลเวลแฟน สัญลักษณ์ซีซัน

{
  "type": "message",
  "id": "4711",
  "at": "2026-10-19T20:15:03.120Z",
  "user": {
    "id": 12,
    "handle": "mara",
    "name": "Mara",
    "color": "#f2a98a",
    "avatar": "https://camucam.com/api/avatar/mara?initial=1",
    "url": "https://camucam.com/@mara",
    "badges": [
      {
        "type": "level",
        "level": 5
      },
      {
        "type": "fan",
        "level": 3,
        "name": null
      }
    ]
  },
  "text": "hi everyone!"
}

แบบไม่ใช้ WebSocket

  • GET https://camucam.com/api/v1/channels/yourname/chat/streamอีเวนต์เดียวกันแบบ server-sent events (EventSource), ?history=n
  • GET https://camucam.com/api/v1/channels/yourname/chat?limit=50ข้อความล่าสุด เรียงจากเก่าไปใหม่ (?limit=1–50)
  • GET https://camucam.com/api/v1/channels/yournameข้อมูลช่อง: กำลังไลฟ์หรือไม่ ชื่อไลฟ์ ผู้ชม และที่อยู่ด้านบน

ในเครื่องมือของคุณ

OBS

โอเวอร์เลย์ของเราแสดงแชท CamuCam ก่อน และแชท Twitch ถัดไป: เริ่มไลฟ์ → ตั้งค่า → Chat overlay for OBS

Social Stream Ninja

เริ่มไลฟ์ → ตั้งค่า → Chat overlay for OBS → Social Stream Ninja: วาง session ID ของ SSN แล้วเปิดบริดจ์ที่ได้ไว้ระหว่างสตรีม CamuCam จะขึ้นใน SSN เหมือนแพลตฟอร์มอื่น

Streamer.bot

Servers/Clients → WebSocket Clients → เพิ่มที่อยู่ด้านบน ทริกเกอร์: Core → Websocket → Client → Websocket Client Message อีเวนต์จะมาเป็น %message% (JSON) – แอ็กชัน C# อ่านได้แบบนี้:

using Newtonsoft.Json.Linq;

public class CPHInline
{
    public bool Execute()
    {
        if (!CPH.TryGetArg("message", out string raw)) return false;
        var e = JObject.Parse(raw);
        if ((string)e["type"] != "message") return true;
        CPH.SetArgument("ccName", (string)e["user"]["name"]);
        CPH.SetArgument("ccText", (string)e["text"]);
        return true;
    }
}

โอเวอร์เลย์หรือบอทของคุณเอง

อะไรก็ได้ที่ใช้ WebSocket ได้ – ChatRD โอเวอร์เลย์ของ nutty หรือโค้ดของคุณเอง: เชื่อมต่อตามขั้นตอนเริ่มต้นแล้วแสดงอีเวนต์

การใช้งานอย่างเป็นธรรม

  • อ่านอย่างเดียว – ไม่มีใครเขียนลงแชทผ่าน API ได้
  • เปิดการเชื่อมต่อได้สูงสุด 10 รายการ และ 120 คำขอต่อนาทีต่อที่อยู่
  • เมื่อมีอีเวนต์ delete ให้ลบบรรทัดนั้น การดูแลแชทต้องไปถึงทุกหน้าจอ
  • เครื่องมือของคุณไม่มี WebSocket ping? ส่งข้อความ ping เป็นระยะ:{"type":"ping"}
  • เวอร์ชัน 1 มีแต่เพิ่มขึ้น: อาจมีฟิลด์และอีเวนต์ใหม่ ของเดิมยังอยู่

ลองเลย

เชื่อมต่อแล้วลองพิมพ์ในแชทของช่องนั้น – อีเวนต์จะขึ้นที่นี่