ordinaryroad-live-chat-client
GitHub地址:https://github.com/OrdinaryRoad-Project/ordinaryroad-live-chat-client
This project is in progress… 👨💻,有问题欢迎提交issuse,
觉得有用的话可以点个小星星⭐️鼓励一下,感谢如果对项目感兴趣也欢迎加入QQ频道交流讨论,
提交PRToDo List: https://github.com/orgs/OrdinaryRoad-Project/projects/1
Live room WebSocket chat client
- Feature 0: Netty
- Feature 1: 消息中的未知属性统一放到单独的MAP中
- Feature 2: 支持自动重连
- Feature 3: 支持同时监听多个直播间
- Feature 4: 支持短直播间id
- Feature 5: 支持弹幕发送、为主播点赞*
- Feature 6: 内置收到弹幕、收到礼物、收到醒目留言、用户入房、收到点赞回调*
*存在平台差异
- ✅: 平台支持且已完成
- ☑️️: 平台支持但未实现
- ❌: 平台暂不支持
平台适配情况表
平台 | LiveChatClient | Cookie | 短直播间id | 发送弹幕 | 为主播点赞 |
---|---|---|---|---|---|
Bilibili B站 | ✅ | ✅ | ✅ | ✅ | ✅ |
Douyu 斗鱼 | ✅ | ✅ | ✅ | ✅ | ❌ |
Huya 虎牙 | ✅ | ✅ | ✅ | ✅ | ❌ |
Douyin 抖音 | ✅ | ☑️️ | ✅ | ☑️ | ☑️️ |
Kuaishou 快手 | ✅ | ✅ | ✅ | ✅ | ✅ |
平台直播间消息适配情况表
平台 | 弹幕 | 礼物 | 醒目留言 | 进入房间 | 点赞 |
---|---|---|---|---|---|
Bilibili B站 | ✅ | ✅ | ✅ | ✅ | ✅ |
Douyu 斗鱼 | ✅ | ✅ | ☑️ | ✅ | ❌ |
Huya 虎牙 | ✅ | ✅ | ❌ | ✅(高级用户) | ❌ |
Douyin 抖音 | ✅ | ✅ | ❌ | ✅ | ✅(点赞个数) |
Kuaishou 快手 | ✅ | ✅(礼物信息不全) | ❌ | ❌ | ✅ |
运行效果图
⭐BarrageFly——让弹幕飞,基于该项目的一个弹幕转发、过滤、处理平台
0 原理
直接人工抓取浏览器的WebSocket二进制流,然后分析模拟浏览器的行为;这样做的好处是不需要进行开发者认证,代价就是没有官方文档,分析过程比较费时费力,并且需要适配不同平台的流程变化(一般不会有大变化)
以后可能会考虑支持平台的开放协议
1 安装
JDK ≥ 8
B站
<dependency>
<groupId>tech.ordinaryroad</groupId>
<artifactId>live-chat-client-bilibili</artifactId>
<!-- 参考github release版本,不需要前缀`v` -->
<version>${ordinaryroad-live-chat-client.version}</version>
</dependency>
斗鱼
<dependency>
<groupId>tech.ordinaryroad</groupId>
<artifactId>live-chat-client-douyu</artifactId>
<!-- 参考github release版本,不需要前缀`v` -->
<version>${ordinaryroad-live-chat-client.version}</version>
</dependency>
虎牙
<dependency>
<groupId>tech.ordinaryroad</groupId>
<artifactId>live-chat-client-huya</artifactId>
<!-- 参考github release版本,不需要前缀`v` -->
<version>${ordinaryroad-live-chat-client.version}</version>
</dependency>
抖音
<dependency>