2024,2025年全年可用,无需key
Tiktok弹幕抓取 发送websocket服务器
Go语言实现,js注入模式和代理两种模式可选,都可以连接使用

Write a go server to receive and parse data like this
func (c *Client) Read() {
go func() {
for {
messageType, msg, err := c.Socket.ReadMessage()
if err != nil {
if messageType == -1 && websocket.IsCloseError(err, websocket.CloseGoingAway, websocket.CloseNormalClosure, websocket.CloseNoStatusReceived) {
Manager.DisConnect <- c
return
} else if messageType != websocket.PingMessage {
return
}
} else {
msgString := string(msg)
var jsonData map[string]interface{}
err := json.Unmarshal([]byte(msgString), &jsonData)
if err != nil {
logrus.Error("Failed to unmarshal JSON:", err)
}
if common, ok := jsonData["common"].(map[string]interface{}); ok {
if method, ok := common["method"].(string); ok {
logrus.Info("Method:", method)
if method == "WebcastGiftMessage" {
var giftMessage msgs.WebcastGiftMessage
err := json.Unmarshal([]byte(msgString), &giftMessage)
if err != nil {
logrus.Error("Failed to unmarshal JSON into WebcastGiftMessage:", err)
} else {
c.LogChan <- giftMessage.User.Nickname + "使用了" + giftMessage.Gift.Describe + "数量" + giftMessage.GroupCount
}
// Process the giftMessage struct as needed
}
if method == "WebcastLikeMessage" {
var likeMessage msgs.WebcastLikeMessage
err := json.Unmarshal([]byte(msgString), &likeMessage)
if err != nil {
logrus.Error("Failed to unmarshal JSON into WebcastGiftMessage:", err)
} else {
c.LogChan <- likeMessage.User.Nickname + "点赞" + likeMessage.Count + "次,总数" + likeMessage.Total
}
// Process the giftMessage struct as needed
}
if method == "WebcastChatMessage" {
var chatMessage msgs.WebcastChatMessage
err := json.Unmarshal([]byte(msgString), &chatMessage)
if err != nil {
logrus.Error("Failed to unmarshal JSON into WebcastGiftMessage:", err)
} else {
c.LogChan <- chatMessage.User.Nickname + ":" + chatMessage.Content
}
// Process the giftMessage struct as needed
}
}
}
}
}
}()
}
消息json格式为:msg 消息标识(Chat,Gift,Like,Member....) data 为具体数据如下
msg_csharp里面部分字段不全,根据需要可自行填补
All data structures are in the msgs directory

$ claude mcp add Tiktok_Live_Barrage \
-- python -m otcore.mcp_server <graph>