抖音直播聊天室用户互动(评论、礼物)的自动化脚本 vx: haotsh

一个用于处理抖音直播聊天室用户互动(评论、礼物)的自动化脚本,主要功能包括消息捕获、过滤、回复及AI交互。以下是详细分析:

vx :  haotsh


核心功能解析

  1. 消息捕获

    • DOM节点提取: 通过getNode()从突变观察的目标节点中定位聊天项容器(类名webcast-chatroom___item-wrapper的div)。
    • 昵称/内容提取: 使用getTextNodeContent()从DOM节点中提取用户昵称和评论内容。
  2. 礼物识别

    • 图标哈希匹配: 通过检测HTML中图片资源的哈希值(如e9b7db267d0501b8963d8000c091e123)判断礼物类型(如"人气票"),并将礼物名称追加到评论信息中。
  3. 过滤机制

    • 黑名单检查: 若昵称在douyinNicknames列表或评论内容含有关键词(blackWordArr),则忽略消息。
    • 历史去重: 使用historyList缓存最近200条消息,避免重复处理。
  4. 消息处理与回复

    • 关键词回复: 匹配预设的qaKeywords,若命中则替换变量(如{昵称})并延迟发送(speakBreak控制间隔)。
    • AI回复: 调用外部API(apiBase)生成回复,同样替换变量后发送。
    • 频率限制: 通过timeLimitlastInvocationTime控制消息发送频率,防止触发平台限制。
  5. 辅助功能

    • 界面更新: 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);
    });
  }
}
复制代码

 

posted @   唯一客服系统开发笔记  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源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] 电话拨号器
点击右上角即可分享
微信分享提示
1
chat with us