@floating-live/bilibili 0.16.7 → 0.16.9
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.
- package/package.json +3 -3
- package/parser.js +112 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@floating-live/bilibili",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.9",
|
|
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.
|
|
21
|
+
"bilibili-live-danmaku": "^0.7.12",
|
|
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": "
|
|
36
|
+
"gitHead": "3add8f90bbee6116bd36767f5f5cbe5011ccf259"
|
|
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,75 @@ 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
|
+
},
|
|
165
|
+
LIKE_INFO_V3_CLICK: (msg, room) => {
|
|
166
|
+
const { data, msg_id, send_time } = msg;
|
|
167
|
+
let like = {
|
|
168
|
+
platform: "bilibili",
|
|
169
|
+
roomId: room?.id || 0,
|
|
170
|
+
userId: data.uid,
|
|
171
|
+
type: "like",
|
|
172
|
+
id: msg_id,
|
|
173
|
+
timestamp: send_time || getDateTimestamp(),
|
|
174
|
+
info: {
|
|
175
|
+
user: {
|
|
176
|
+
name: data.uname,
|
|
177
|
+
id: data.uid,
|
|
178
|
+
medal: data.fans_medal?.medal_level
|
|
179
|
+
? {
|
|
180
|
+
level: data.fans_medal.medal_level,
|
|
181
|
+
name: data.fans_medal.medal_name,
|
|
182
|
+
id: data.fans_medal.target_id,
|
|
183
|
+
membership: data.fans_medal.guard_level,
|
|
184
|
+
}
|
|
185
|
+
: null,
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
};
|
|
189
|
+
like.id ?? (like.id = generateId(like));
|
|
190
|
+
return like;
|
|
191
|
+
},
|
|
122
192
|
SEND_GIFT: (msg, room) => {
|
|
123
193
|
const { data, msg_id, send_time } = msg;
|
|
124
194
|
let gift = {
|
|
@@ -160,7 +230,7 @@ const parsingFunction = {
|
|
|
160
230
|
gift.id ?? (gift.id = generateId(gift));
|
|
161
231
|
return gift;
|
|
162
232
|
},
|
|
163
|
-
|
|
233
|
+
USER_TOAST_MSG: (msg, room) => {
|
|
164
234
|
const { data, msg_id, send_time } = msg;
|
|
165
235
|
let gift = {
|
|
166
236
|
platform: "bilibili",
|
|
@@ -175,7 +245,7 @@ const parsingFunction = {
|
|
|
175
245
|
id: data.uid,
|
|
176
246
|
},
|
|
177
247
|
gift: {
|
|
178
|
-
name: data.
|
|
248
|
+
name: data.role_name,
|
|
179
249
|
id: data.gift_id,
|
|
180
250
|
num: data.num,
|
|
181
251
|
value: data.price / 100,
|
|
@@ -183,15 +253,52 @@ const parsingFunction = {
|
|
|
183
253
|
valueName: "电池",
|
|
184
254
|
price: data.price / 1000,
|
|
185
255
|
currency: "CNY",
|
|
256
|
+
unit: data.unit == "年" ? "year" : data.unit == "天" ? "day" : "month",
|
|
186
257
|
},
|
|
187
|
-
name: data.
|
|
258
|
+
name: data.role_name,
|
|
188
259
|
level: data.guard_level,
|
|
189
|
-
duration: data.num *
|
|
260
|
+
duration: data.num *
|
|
261
|
+
(data.unit == "年" ? 365 : data.unit == "天" ? 1 : 30) *
|
|
262
|
+
24 *
|
|
263
|
+
3600000,
|
|
190
264
|
},
|
|
191
265
|
};
|
|
192
266
|
gift.id ?? (gift.id = generateId(gift));
|
|
193
267
|
return gift;
|
|
194
268
|
},
|
|
269
|
+
// GUARD_BUY: (msg: MessageData.GUARD_BUY, room) => {
|
|
270
|
+
// const { data, msg_id, send_time } = msg;
|
|
271
|
+
// let gift: LiveMessage.Membership = {
|
|
272
|
+
// platform: "bilibili",
|
|
273
|
+
// roomId: room?.id || 0,
|
|
274
|
+
// userId: data.uid,
|
|
275
|
+
// type: "membership",
|
|
276
|
+
// id: msg_id!,
|
|
277
|
+
// timestamp: send_time || data.start_time * 1000,
|
|
278
|
+
// info: {
|
|
279
|
+
// user: {
|
|
280
|
+
// name: data.username,
|
|
281
|
+
// id: data.uid,
|
|
282
|
+
// },
|
|
283
|
+
// gift: {
|
|
284
|
+
// name: data.gift_name,
|
|
285
|
+
// id: data.gift_id,
|
|
286
|
+
// num: data.num,
|
|
287
|
+
// value: data.price / 100,
|
|
288
|
+
// valueType: "gold",
|
|
289
|
+
// valueName: "电池",
|
|
290
|
+
// price: data.price / 1000,
|
|
291
|
+
// currency: "CNY",
|
|
292
|
+
// unit: "month",
|
|
293
|
+
// },
|
|
294
|
+
// name: data.gift_name,
|
|
295
|
+
// level: data.guard_level,
|
|
296
|
+
// duration: data.num * 30 * 24 * 3600_000,
|
|
297
|
+
// },
|
|
298
|
+
// };
|
|
299
|
+
// gift.id ??= generateId(gift);
|
|
300
|
+
// return gift;
|
|
301
|
+
// },
|
|
195
302
|
SUPER_CHAT_MESSAGE: (msg, room) => {
|
|
196
303
|
const { data, msg_id, send_time } = msg;
|
|
197
304
|
let sc = {
|
|
@@ -402,6 +509,7 @@ const parsingFunction = {
|
|
|
402
509
|
};
|
|
403
510
|
/** 转换bilibili直播弹幕为floating通用格式 */
|
|
404
511
|
export function parseMessage(data, room) {
|
|
512
|
+
console.log(data.cmd);
|
|
405
513
|
return parsingFunction[data.cmd]?.(data, room);
|
|
406
514
|
}
|
|
407
515
|
/** 转换bilibili直播间信息为floating通用格式 */
|