@floating-live/bilibili 0.16.8 → 0.16.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +3 -3
  2. package/parser.js +44 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floating-live/bilibili",
3
- "version": "0.16.8",
3
+ "version": "0.16.10",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@floating-live/cookies": "^0.1.0",
21
- "bilibili-live-danmaku": "^0.7.9",
21
+ "bilibili-live-danmaku": "^0.7.13",
22
22
  "md5": "^2.3.0"
23
23
  },
24
24
  "devDependencies": {
@@ -33,5 +33,5 @@
33
33
  "peerDependencies": {
34
34
  "floating-live": "^0.16.0"
35
35
  },
36
- "gitHead": "0eb66770b4625d469bb0a9df362f9a69539c8421"
36
+ "gitHead": "c2dcbdd0c47265e4228676614ca1dd0d22339e55"
37
37
  }
package/parser.js CHANGED
@@ -78,6 +78,7 @@ const parsingFunction = {
78
78
  danmaku.id ?? (danmaku.id = generateId(danmaku));
79
79
  return danmaku;
80
80
  },
81
+ /** @deprecated */
81
82
  INTERACT_WORD: (msg, room) => {
82
83
  const { data, msg_id, send_time } = msg;
83
84
  let type;
@@ -119,6 +120,48 @@ const parsingFunction = {
119
120
  interact.id ?? (interact.id = generateId(interact));
120
121
  return interact;
121
122
  },
123
+ INTERACT_WORD_V2: (msg, room) => {
124
+ const { decoded, msg_id, send_time } = msg;
125
+ const data = decoded;
126
+ let type;
127
+ switch (Number(data.msgType)) {
128
+ case 1:
129
+ type = "entry"; // 进入直播间
130
+ break;
131
+ case 2:
132
+ type = "follow"; // 关注直播间
133
+ break;
134
+ case 3:
135
+ type = "share"; // 分享直播间
136
+ break;
137
+ default:
138
+ return;
139
+ }
140
+ let interact = {
141
+ platform: "bilibili",
142
+ roomId: room?.id || 0,
143
+ userId: Number(data.uid),
144
+ type: type,
145
+ id: msg_id,
146
+ timestamp: send_time || Math.floor(Number(data.triggerTime || 0) / 1000000),
147
+ info: {
148
+ user: {
149
+ name: data.uname,
150
+ id: Number(data.uid),
151
+ medal: data.fansMedal?.medalLevel
152
+ ? {
153
+ level: Number(data.fansMedal.medalLevel),
154
+ name: data.fansMedal.medalName,
155
+ id: Number(data.fansMedal.targetId),
156
+ membership: Number(data.fansMedal.guardLevel),
157
+ }
158
+ : null,
159
+ },
160
+ },
161
+ };
162
+ interact.id ?? (interact.id = generateId(interact));
163
+ return interact;
164
+ },
122
165
  LIKE_INFO_V3_CLICK: (msg, room) => {
123
166
  const { data, msg_id, send_time } = msg;
124
167
  let like = {
@@ -466,6 +509,7 @@ const parsingFunction = {
466
509
  };
467
510
  /** 转换bilibili直播弹幕为floating通用格式 */
468
511
  export function parseMessage(data, room) {
512
+ console.log(data.cmd);
469
513
  return parsingFunction[data.cmd]?.(data, room);
470
514
  }
471
515
  /** 转换bilibili直播间信息为floating通用格式 */