抖音直播聊天室用户互动(评论、礼物)的自动化脚本 vx: haotsh
一个用于处理抖音直播聊天室用户互动(评论、礼物)的自动化脚本,主要功能包括消息捕获、过滤、回复及AI交互。以下是详细分析:
vx : haotsh
核心功能解析
-
消息捕获
- DOM节点提取: 通过
getNode()
从突变观察的目标节点中定位聊天项容器(类名webcast-chatroom___item-wrapper
的div)。 - 昵称/内容提取: 使用
getTextNodeContent()
从DOM节点中提取用户昵称和评论内容。
- DOM节点提取: 通过
-
礼物识别
- 图标哈希匹配: 通过检测HTML中图片资源的哈希值(如
e9b7db267d0501b8963d8000c091e123
)判断礼物类型(如"人气票"),并将礼物名称追加到评论信息中。
- 图标哈希匹配: 通过检测HTML中图片资源的哈希值(如
-
过滤机制
- 黑名单检查: 若昵称在
douyinNicknames
列表或评论内容含有关键词(blackWordArr
),则忽略消息。 - 历史去重: 使用
historyList
缓存最近200条消息,避免重复处理。
- 黑名单检查: 若昵称在
-
消息处理与回复
- 关键词回复: 匹配预设的
qaKeywords
,若命中则替换变量(如{昵称}
)并延迟发送(speakBreak
控制间隔)。 - AI回复: 调用外部API(
apiBase
)生成回复,同样替换变量后发送。 - 频率限制: 通过
timeLimit
和lastInvocationTime
控制消息发送频率,防止触发平台限制。
- 关键词回复: 匹配预设的
-
辅助功能
- 界面更新:
showNewMessageBox()
显示新消息到界面。 - 钩子函数:
Hook()
可能用于外部通知或日志记录。
- 界面更新:
let douyin = getNode(mutation.target, './div[contains(@class,"webcast-chatroom___item-wrapper")]'); if (douyin) { // 提取昵称和内容 let nickname = getTextNodeContent(douyin, "./div/span[2]"); let commentInfo = getTextNodeContent(douyin, "./div/span[3]"); // 礼物识别逻辑 let sourceHtml = getHtmlNodeContent(douyin, "./div/span[3]"); if (sourceHtml.includes("e9b7db267d0501b8963d8000c091e123")) gift = "人气票"; // ...其他礼物判断 // 过滤黑名单和关键词 if (douyinNicknames.includes(nickname) || containsKeyword(commentInfo, blackWordArr)) return; // 构建消息体并检查历史记录 requestBody = nickname + ":" + commentInfo; if (!historyList.includes(requestBody)) { historyList.push(requestBody); showNewMessageBox(requestBody); Hook(nickname, commentInfo, getHtmlNodeContent(douyin, "./div/span[3]")); // 关键词回复 let replyContent = searchKeywordReplys(qaKeywords, commentInfo); if (replyContent) { // 频率检查与延迟发送 async function delay() { await sleep(1000 * speakBreak); sendReplyContent(replyContent); } delay(); return; } // AI回复 sendAsyncAIQuestion(apiBase, nickname, "", commentInfo).then(replyContent => { sendReplyContent(replyContent); }); } }
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2023-02-22 跨境外贸可翻译客服系统源码实现,访客消息可翻译为中文,客服消息可以转为外语发送
2023-02-22 客服机器人源码实现,自动回复,关键词匹配算法
2023-02-22 在线客服系统租用功能的实现
2021-02-22 [GO]mysql中支持表情emoji字符的几个修改点
2020-02-22 [MongoDB]MongoDB的ObjectId组成
2017-02-22 [Linux] PHP程序员玩转Linux系列-搭建代码开发环境
2016-02-22 [android] 电话拨号器