抖音直播间websocket礼物和弹幕消息推送可能出现重复的情况,解决办法

news2024/11/18 18:40:39

在抖音直播间里,通过websocket收到的礼物消息数据格式如下:

{
  'common': {
    'method': 'WebcastGiftMessage',
    'msgId': '7283420150152942632',
    'roomId': '7283413007005207308',
    'createTime': '1695803662805',
    'isShowMsg': True,
    'describe': '莎***:送给主播 1个入团卡',
    'priorityScore': '31000'
  },
  'giftId': '3242',
  'groupCount': '1',
  'repeatCount': '1',
  'comboCount': '1',
  'user': {
    'id': '323234',
    'nickName': '莎***',
    'gender': 1,
    'AvatarThumb': {
      'urlListList': [
        '头像链接',
        '头像链接',
        '头像链接'
      ],
      'uri': 'webcast/small_DefAvatar.png',
      'avgColor': '#E0C8BC'
    },
    'BadgeImageList': [
      {
        'urlListList': [
          'http://p11-webcast.douyinpic.com/img/webcast/fansclub_level_v6_9.png~tplv-obj.image',
          'http://p6-webcast.douyinpic.com/img/webcast/fansclub_level_v6_9.png~tplv-obj.image',
          'http://p3-webcast.douyinpic.com/img/webcast/fansclub_level_v6_9.png~tplv-obj.image'
        ],
        'uri': 'webcast/fansclub_level_v6_9.png',
        'imageType': 7,
        'content': {
          'name': '挚爱',
          'fontColor': '#FFFFFF',
          'level': '9',
          'alternativeText': '挚爱粉丝团勋章'
        }
      }
    ],
    'FollowInfo': {
      'followingCount': '25',
      'followerCount': '620',
      'followerCountStr': '620',
      'followingCountStr': '25'
    },
    'idStr': '111111'
  },
  'groupId': '1695803662',
  'gift': {
    'image': {
      'urlListList': [
        'http://p11-webcast.douyinpic.com/img/webcast/698373dfdac86a90b54facdc38698cbc~tplv-obj.png',
        'http://p3-webcast.douyinpic.com/img/webcast/698373dfdac86a90b54facdc38698cbc~tplv-obj.png',
        'http://p6-webcast.douyinpic.com/img/webcast/698373dfdac86a90b54facdc38698cbc~tplv-obj.png'
      ],
      'uri': 'webcast/698373dfdac86a90b54facdc38698cbc',
      'avgColor': '#523749'
    },
    'describe': '送出入团卡',
    'id': '3242',
    'combo': True,
    'type': 1,
    'diamondCount': 1,
    'name': '入团卡',
    'icon': {
      'urlListList': [
        'http://p3-webcast.douyinpic.com/img/webcast/698373dfdac86a90b54facdc38698cbc~tplv-obj.png',
        'http://p6-webcast.douyinpic.com/img/webcast/698373dfdac86a90b54facdc38698cbc~tplv-obj.png',
        'http://p11-webcast.douyinpic.com/img/webcast/698373dfdac86a90b54facdc38698cbc~tplv-obj.png'
      ],
      'uri': 'webcast/698373dfdac86a90b54facdc38698cbc',
      'avgColor': '#BCD9E0'
    }
  },
  'publicAreaCommon': {},
  'trayDisplayText': {
    'key': 'webcast_aweme_tray_message_to_anchor',
    'defaultPatter': '送{0}',
    'defaultFormat': {
      'color': '#B3FFFFFF',
      'weight': 400,
      'useRemoteClor': True
    },
    'piecesList': [
      {
        'type': True,
        'format': {
          'color': '#B3FFFFFF',
          'weight': 400,
          'useRemoteClor': True
        }
      }
    ]
  },
  'bannedDisplayEffects': '3',
  'clientGiftSource': 1,
  'traceId': '666666_1_98039178148_1135172434265197_20230927'
}

根据字段名称可以看到送礼物的人和送的礼物是什么,并且这个礼物的traceId是唯一的,所以可以通过这个traceId进行去重。

判断这个礼物是否在监控列表中并且是否已经在全局id中:

消息和礼物等数据也有可能会出现重复的情况,都可以通过traceId进行去重:

在onMessage中,可以通过判断method判断是什么消息类型:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1322552.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决goview栈内存溢出导致打包报错问题

最近搞低代码大屏使用goview打包时遇到问题 报错&#xff1a; vite v4.3.6 building for production... transforming (8931) node_modules\monaco-editor\esm\vs\base\common\navigator.js <--- Last few GCs ---> [24864:000001B515BA39F0] 65979 ms: Scavenge 2002.0…

VueStu01-Vue是什么

1.概念 Vue 是一个 用于构建用户界面 的 渐进式 框架 。 2.构建用户界面 基于数据渲染出用户看到的页面。 3.渐进式 Vue的学习是循序渐进的&#xff0c;可以学一点用一点&#xff0c;不必全部学完才能用。哪怕你只学了 声明式渲染 这一个小部分的内容&#xff0c;你也可以完成…

Eclipse_03_如何加快index速度

1. ini配置文件 -Xms&#xff1a;是最小堆内存大小&#xff0c;也是初始堆内存大小&#xff0c;因为堆内存大小可以根据使用情况进行扩容&#xff0c;所以初始值最小&#xff0c;随着扩容慢慢变大。 -Xmx&#xff1a;是最大堆内存大小&#xff0c;随着堆内存的使用率越来越高&a…

vue内容渲染

内容渲染指令用来辅助开发者渲染DOM元素的文本内容。常用的内容渲染指令有3个 1.v-text 缺点&#xff1a;会覆盖元素内部原有的内容 2.{{}}&#xff1a;插值表达式在实际开发中用的最多&#xff0c;只是内容的占位符&#xff0c;不会覆盖内容 3.v-html&#xff1a;可以把带有标…

SVM —— 理论推导

SVM 支持向量线性可分最大间隔超平面最大间隔超平面的推导支持向量分类间隔的推导最优化问题 对偶问题拉格朗日乘子法强对偶性 SVM 优化软间隔解决问题优化目标及求解 核函数线性不可分核函数的作用常见核函数 SVM 算法优缺点 支持向量机&#xff08;Support Vector Machine&am…

一、Java基础语法

注意&#xff1a; ​ 用记事本打开本文档&#xff0c;格式较差。 ​ 可安装typora软件后再次打开。 ​ 安装包位于&#xff1a;day01\资料\其他软件\阅读笔记的软件\typora-setup-x64.exe day01 - Java基础语法 1. 人机交互 1.1 什么是cmd&#xff1f; 就是在windows操作…

BearPi Std 板从入门到放弃 - 先天神魂篇(7)(RT-Thread 定时器-软件定时器)

简介 RT-Thread 软件定时器的简单使用步骤 创建项目 参考 BearPi RT-Thread项目创建 定时器管理接口 定时器时钟节拍 定时器管理相关函数 定时器类型 #define RT_TIMER_FLAG_ONE_SHOT 0x0 //一次性计时器 #define RT_TIMER_FLAG_PERIODIC 0x2 // 周期性定时器 #…

博特激光:紫外激光打标机在玻璃行业的应用

随着科技的飞速发展&#xff0c;紫外激光打标机在玻璃行业的应用日益广泛。这种高效、高精度的打标设备为玻璃制品的标识和加工带来了革命性的变革&#xff0c;助力企业提升生产效率和产品质量。 ​ ​ 一、玻璃制品标识 紫外激光打标机采用高能量密度的激光束&#xff0c;能够…

Postman接口自动化测试之——批量执行(集合操作)

集合定义&#xff1a;在接口自动化测试过程中将一组请求&#xff08;多条请求&#xff09;保存到一起进行集中管理。方便执行过程中的维护、导出和执行等。 创建集合 在引导页点击“Collection”&#xff0c;或者在“Collection”标签点击图标&#xff1b; 字段解释 集合描述…

初识Redis缓存,一文掌握Redis重要知识文集。

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

LazyIDA源码阅读

LazyIDA是一款IDA插件&#xff0c;项目地址GitHub - L4ys/LazyIDA: Make your IDA Lazy! 外部引用 from __future__ import division from __future__ import print_function from struct import unpack import idaapi import idautils import idcfrom PyQt5.Qt import QAppli…

idea过往各版本下载

idea过往各版本下载 https://www.jetbrains.com/zh-cn/idea/download/other.html

动手学深度学习2 安装环境

pytorch环境安装 1. windows 环境安装2. mac环境安装3. linux环境安装1. 申请云服务器 链接机器--Ubuntu2. 环境配置 4. 不安装环境直接使用colabQA 课程链接&#xff1a; https://www.bilibili.com/video/BV18p4y1h7Dr?p1&vd_sourceeb04c9a33e87ceba9c9a2e5f09752ef8 1.…

STM32----HAL库函数

1.STM32系统框架 1.1 Cortex-M内核&芯片 1.2 F1系统框架 4个主动单元4个被动单元 AHB&#xff1a;高级高性能总线 APH&#xff1a;高级外围总线 其中 1 为 主动单元 &#xff0c; 2为被动单元 总线时钟频率&…

计算机网络(3):数据链路层

数据链路层属于计算机网络的低层。 数据链路层使用的信道主要有以下两种类型&#xff1a; (1)点对点信道。这种信道使用一对一的点对点通信方式。 (2)广播信道。这种信道使用一对多的广播通信方式。广播信道上连接的主机很多&#xff0c;因此必须使用专用的共享信道协议来协调这…

Springboot项目启动前,使用GUI做初始化配置页面并将Log4j2的日志实时显示在GUI上

Springboot项目启动前&#xff0c;使用GUI做初始化配置页面并将Log4j2的日志实时显示在GUI上 效果预览 Mac Os效果图 Windows 10 效果图 需求分析 做这样的一个功能并不适用于所有系统&#xff0c;主要用于交付给用户的产品&#xff0c;这样方便客户自行维护。传统的服务一般…

Scratch:让少儿编程变得简单有趣

在21世纪这个信息化、数字化的时代&#xff0c;编程已经成为一种重要的技能。然而&#xff0c;对于许多孩子来说&#xff0c;编程可能是一种难以理解和掌握的技能。那么&#xff0c;有没有一种方法&#xff0c;可以让孩子们在轻松愉快的环境中学习编程呢&#xff1f;答案是肯定…

2024年电工(初级)证模拟考试题库及电工(初级)理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年电工&#xff08;初级&#xff09;证模拟考试题库及电工&#xff08;初级&#xff09;理论考试试题是由安全生产模拟考试一点通提供&#xff0c;电工&#xff08;初级&#xff09;证模拟考试题库是根据电工&…

简单的git操作指令

简单的git操作指令 1. git clone2. git add .3. git commit4. git push5. git rm6. git status7. git log8. git pull 1. git clone 如果有小伙伴出现报错的情况&#xff0c;爆出错误fatal: unable to access…not resolve host或者Network is unreachable可以看看这篇文章。 …

第三周:Python能力复盘

资料&#xff1a; 《笨办法学Python》阅读地址&#xff1a;https://www.bookstack.cn/read/LearnPython3TheHardWay 《廖雪峰Python教程》阅读地址&#xff1a;http://t.cn/RK0qGu7 《机器学习numpy与pandas基础》&#xff1a;https://zhuanlan.zhihu.com/p/639733816 《matplo…