floating-live 0.12.1 → 0.14.0

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 (63) hide show
  1. package/README.md +7 -8
  2. package/index.d.ts +2 -2
  3. package/index.js +2 -2
  4. package/package.json +4 -2
  5. package/plugin/acfun/acfunLive.d.ts +3 -3
  6. package/plugin/acfun/acfunLive.js +6 -6
  7. package/plugin/acfun/index.d.ts +1 -0
  8. package/plugin/acfun/index.js +3 -2
  9. package/plugin/bilibili/index.d.ts +1 -0
  10. package/plugin/bilibili/index.js +17 -4
  11. package/plugin/bilibili/parser.d.ts +6 -0
  12. package/plugin/bilibili/{bilibiliLive.js → parser.js} +117 -230
  13. package/plugin/bilibili/room.d.ts +77 -0
  14. package/plugin/bilibili/room.js +261 -0
  15. package/plugin/bilibili/types.d.ts +424 -0
  16. package/plugin/bilibili/utils.d.ts +16 -0
  17. package/plugin/bilibili/utils.js +140 -0
  18. package/plugin/chatPrint/chatPrint.d.ts +2 -2
  19. package/plugin/chatPrint/chatPrint.js +3 -3
  20. package/plugin/chatPrint/index.d.ts +1 -0
  21. package/plugin/chatPrint/index.js +2 -1
  22. package/plugin/consoleEvent/index.d.ts +1 -0
  23. package/plugin/consoleEvent/index.js +16 -21
  24. package/plugin/msgSave/index.d.ts +3 -1
  25. package/plugin/msgSave/index.js +25 -30
  26. package/plugin/msgSave/msgSave.d.ts +5 -5
  27. package/plugin/msgSave/msgSave.js +25 -9
  28. package/src/abstract/LiveRoom.d.ts +44 -0
  29. package/src/{lib → abstract}/LiveRoom.js +12 -7
  30. package/src/{lib → abstract}/Reglist.d.ts +2 -0
  31. package/src/{lib → abstract}/Reglist.js +4 -0
  32. package/src/index.d.ts +17 -46
  33. package/src/index.js +24 -81
  34. package/src/module/ModAuth.d.ts +8 -0
  35. package/src/module/ModAuth.js +28 -0
  36. package/src/module/ModCommand.d.ts +9 -0
  37. package/src/module/ModCommand.js +19 -0
  38. package/src/module/ModMessage.d.ts +9 -0
  39. package/src/module/ModMessage.js +16 -0
  40. package/src/module/{Plugin.d.ts → ModPlugin.d.ts} +5 -11
  41. package/src/module/ModPlugin.js +63 -0
  42. package/src/module/ModRooms.d.ts +37 -0
  43. package/src/module/ModRooms.js +159 -0
  44. package/src/module/ModState.d.ts +6 -0
  45. package/src/module/ModState.js +17 -0
  46. package/src/types/index.d.ts +1 -2
  47. package/src/types/index.js +1 -2
  48. package/src/types/message.d.ts +210 -0
  49. package/src/types/plugin.d.ts +4 -5
  50. package/src/types/room.d.ts +48 -2
  51. package/src/utils.d.ts +2 -2
  52. package/test/type/bilibili_getInfoByRoom.d.ts +492 -0
  53. package/plugin/bilibili/bilibiliLive.d.ts +0 -58
  54. package/src/lib/LiveRoom.d.ts +0 -89
  55. package/src/module/Command.d.ts +0 -3
  56. package/src/module/Command.js +0 -6
  57. package/src/module/Plugin.js +0 -82
  58. package/src/module/Room.d.ts +0 -26
  59. package/src/module/Room.js +0 -118
  60. package/src/types/message/AttributeInfo.d.ts +0 -67
  61. package/src/types/message/MessageData.d.ts +0 -167
  62. /package/{src/types/message/AttributeInfo.js → plugin/bilibili/types.js} +0 -0
  63. /package/src/types/{message/MessageData.js → message.js} +0 -0
@@ -0,0 +1,492 @@
1
+ export interface RawInfo {
2
+ room_info: {
3
+ /** 用户uid */
4
+ uid: number;
5
+ /** 房间id */
6
+ room_id: number;
7
+ /** 短id */
8
+ short_id: number;
9
+ /** 直播间标题 */
10
+ title: string;
11
+ /** 直播间封面 */
12
+ cover: string;
13
+ /** 直播间标签 */
14
+ tags: string;
15
+ /** 直播间背景 */
16
+ background: string;
17
+ /** 直播间简介 */
18
+ description: string;
19
+ /** 直播状态 */
20
+ live_status: number;
21
+ /** 直播开始时间(s) */
22
+ live_start_time: number;
23
+ /** 是否被封禁 */
24
+ lock_status: number;
25
+ /** 封禁时间 */
26
+ lock_time: number;
27
+ /** 是否被隐藏 */
28
+ hidden_status: number;
29
+ /** 隐藏时间 */
30
+ hidden_time: number;
31
+ /** 分区id */
32
+ area_id: number;
33
+ /** 分区名 */
34
+ area_name: string;
35
+ /** 一级分区id */
36
+ parent_area_id: number;
37
+ /** 一级分区名 */
38
+ parent_area_name: string;
39
+ /** session */
40
+ up_session: string;
41
+ /** 直播场次id */
42
+ live_id: number;
43
+ /** 直播场次id */
44
+ live_id_str: string;
45
+ /** 观看数 */
46
+ online: number;
47
+ };
48
+ /** 主播信息 */
49
+ anchor_info: {
50
+ /** 基本信息 */
51
+ base_info: {
52
+ /** 用户名 */
53
+ uname: string;
54
+ /** 头像 */
55
+ face: string;
56
+ /** 性别 */
57
+ gender: string;
58
+ /** 官方信息 */
59
+ official_info: {
60
+ role: number;
61
+ title: string;
62
+ desc: string;
63
+ };
64
+ };
65
+ /** 直播信息 */
66
+ live_info: {
67
+ /** 主播等级 */
68
+ level: number;
69
+ /** 等级颜色 */
70
+ level_color: number;
71
+ /** 经验值 */
72
+ score: number;
73
+ /** 下一级所需经验值 */
74
+ upgrade_score: number;
75
+ /** 当前等级 */
76
+ current: [number, number];
77
+ /** 下一等级 */
78
+ next: [number, number];
79
+ /** 直播间排名 */
80
+ rank: string;
81
+ };
82
+ /** 直播间粉丝牌信息 */
83
+ medal_info: {
84
+ /** 粉丝牌名称 */
85
+ medal_name: string;
86
+ /** 粉丝牌id */
87
+ medal_id: number;
88
+ /** 粉丝团成员数 */
89
+ fansclub: number;
90
+ };
91
+ };
92
+ /** 公告信息 */
93
+ news_info: {
94
+ /** uid */
95
+ uid: number;
96
+ /** 创建时间 */
97
+ ctime: string;
98
+ /** 公告内容 */
99
+ content: string;
100
+ };
101
+ /** 分区排名信息 */
102
+ area_rank_info: {
103
+ areaRank: {
104
+ index: number;
105
+ rank: string;
106
+ };
107
+ liveRank: {
108
+ rank: string;
109
+ };
110
+ };
111
+ /** sc信息 */
112
+ super_chat_info: {
113
+ status: number;
114
+ ranked_mark: number;
115
+ message_list: [];
116
+ };
117
+ /** 在线榜单信息 */
118
+ online_gold_rank_info_v2: {
119
+ list: {
120
+ uid: number;
121
+ face: string;
122
+ uname: string;
123
+ score: string;
124
+ rank: number;
125
+ guard_level: number;
126
+ }[];
127
+ };
128
+ watched_show: {
129
+ num: number;
130
+ text_small: string;
131
+ text_large: string;
132
+ };
133
+ show_reserve_status: false;
134
+ /** 点赞信息 */
135
+ like_info_v3: {
136
+ /** 总点赞数 */
137
+ total_likes: number;
138
+ };
139
+ /** 大航海信息 */
140
+ guard_info: {
141
+ count: number;
142
+ anchor_guard_achieve_level: number;
143
+ };
144
+ room_rank_info: {
145
+ user_rank_entry: {
146
+ /** 贡献榜排行 */
147
+ user_contribution_rank_entry: {
148
+ item: {
149
+ uid: number;
150
+ name: string;
151
+ face: string;
152
+ rank: number;
153
+ score: number;
154
+ medal_info: null;
155
+ guard_level: number;
156
+ wealth_level: number;
157
+ }[];
158
+ /** 贡献榜总数 */
159
+ count: number;
160
+ /** 最大显示数量 */
161
+ show_max: number;
162
+ };
163
+ };
164
+ };
165
+ }
166
+ declare const bilibili_getInfoByRoom_expamle: {
167
+ room_info: {
168
+ uid: number;
169
+ room_id: number;
170
+ short_id: number;
171
+ title: string;
172
+ cover: string;
173
+ tags: string;
174
+ background: string;
175
+ description: string;
176
+ live_status: number;
177
+ live_start_time: number;
178
+ live_screen_type: number;
179
+ lock_status: number;
180
+ lock_time: number;
181
+ hidden_status: number;
182
+ hidden_time: number;
183
+ area_id: number;
184
+ area_name: string;
185
+ parent_area_id: number;
186
+ parent_area_name: string;
187
+ keyframe: string;
188
+ special_type: number;
189
+ up_session: string;
190
+ pk_status: number;
191
+ is_studio: boolean;
192
+ pendants: {
193
+ frame: {
194
+ name: string;
195
+ value: string;
196
+ desc: string;
197
+ };
198
+ };
199
+ on_voice_join: number;
200
+ online: number;
201
+ room_type: {
202
+ "2-3": number;
203
+ "3-19": number;
204
+ "3-21": number;
205
+ "3-50": number;
206
+ "3-51": number;
207
+ };
208
+ };
209
+ anchor_info: {
210
+ base_info: {
211
+ uname: string;
212
+ face: string;
213
+ gender: string;
214
+ official_info: {
215
+ role: number;
216
+ title: string;
217
+ desc: string;
218
+ is_nft: number;
219
+ nft_dmark: string;
220
+ };
221
+ };
222
+ live_info: {
223
+ level: number;
224
+ level_color: number;
225
+ score: number;
226
+ upgrade_score: number;
227
+ current: number[];
228
+ next: never[];
229
+ rank: string;
230
+ };
231
+ relation_info: {
232
+ attention: number;
233
+ };
234
+ medal_info: {
235
+ medal_name: string;
236
+ medal_id: number;
237
+ fansclub: number;
238
+ };
239
+ };
240
+ news_info: {
241
+ uid: number;
242
+ ctime: string;
243
+ content: string;
244
+ };
245
+ rankdb_info: {
246
+ roomid: number;
247
+ rank_desc: string;
248
+ color: string;
249
+ h5_url: string;
250
+ web_url: string;
251
+ timestamp: number;
252
+ };
253
+ area_rank_info: {
254
+ areaRank: {
255
+ index: number;
256
+ rank: string;
257
+ };
258
+ liveRank: {
259
+ rank: string;
260
+ };
261
+ };
262
+ battle_rank_entry_info: null;
263
+ tab_info: {
264
+ list: {
265
+ type: string;
266
+ desc: string;
267
+ isFirst: number;
268
+ isEvent: number;
269
+ eventType: string;
270
+ listType: string;
271
+ apiPrefix: string;
272
+ rank_name: string;
273
+ }[];
274
+ };
275
+ activity_init_info: {
276
+ eventList: never[];
277
+ weekInfo: {
278
+ bannerInfo: null;
279
+ giftName: null;
280
+ };
281
+ giftName: null;
282
+ lego: {
283
+ timestamp: number;
284
+ config: string;
285
+ };
286
+ };
287
+ voice_join_info: {
288
+ status: null;
289
+ icons: null;
290
+ web_share_link: string;
291
+ };
292
+ ad_banner_info: {
293
+ data: null;
294
+ };
295
+ skin_info: {
296
+ id: number;
297
+ skin_name: string;
298
+ skin_config: string;
299
+ show_text: string;
300
+ skin_url: string;
301
+ start_time: number;
302
+ end_time: number;
303
+ current_time: number;
304
+ };
305
+ web_banner_info: {
306
+ id: number;
307
+ title: string;
308
+ left: string;
309
+ right: string;
310
+ jump_url: string;
311
+ bg_color: string;
312
+ hover_color: string;
313
+ text_bg_color: string;
314
+ text_hover_color: string;
315
+ link_text: string;
316
+ link_color: string;
317
+ input_color: string;
318
+ input_text_color: string;
319
+ input_hover_color: string;
320
+ input_border_color: string;
321
+ input_search_color: string;
322
+ };
323
+ lol_info: null;
324
+ pk_info: null;
325
+ battle_info: null;
326
+ silent_room_info: {
327
+ type: string;
328
+ level: number;
329
+ second: number;
330
+ expire_time: number;
331
+ };
332
+ switch_info: {
333
+ close_guard: boolean;
334
+ close_gift: boolean;
335
+ close_online: boolean;
336
+ close_danmaku: boolean;
337
+ };
338
+ record_switch_info: null;
339
+ room_config_info: {
340
+ dm_text: string;
341
+ };
342
+ gift_memory_info: {
343
+ list: null;
344
+ };
345
+ new_switch_info: {
346
+ "room-socket": number;
347
+ "room-prop-send": number;
348
+ "room-sailing": number;
349
+ "room-info-popularity": number;
350
+ "room-danmaku-editor": number;
351
+ "room-effect": number;
352
+ "room-fans_medal": number;
353
+ "room-report": number;
354
+ "room-feedback": number;
355
+ "room-player-watermark": number;
356
+ "room-recommend-live_off": number;
357
+ "room-activity": number;
358
+ "room-web_banner": number;
359
+ "room-silver_seeds-box": number;
360
+ "room-wishing_bottle": number;
361
+ "room-board": number;
362
+ "room-supplication": number;
363
+ "room-hour_rank": number;
364
+ "room-week_rank": number;
365
+ "room-anchor_rank": number;
366
+ "room-info-integral": number;
367
+ "room-super-chat": number;
368
+ "room-tab": number;
369
+ "room-hot-rank": number;
370
+ "fans-medal-progress": number;
371
+ "gift-bay-screen": number;
372
+ "room-enter": number;
373
+ "room-my-idol": number;
374
+ "room-topic": number;
375
+ "fans-club": number;
376
+ };
377
+ super_chat_info: {
378
+ status: number;
379
+ jump_url: string;
380
+ icon: string;
381
+ ranked_mark: number;
382
+ message_list: never[];
383
+ };
384
+ online_gold_rank_info_v2: {
385
+ list: {
386
+ uid: number;
387
+ face: string;
388
+ uname: string;
389
+ score: string;
390
+ rank: number;
391
+ guard_level: number;
392
+ }[];
393
+ };
394
+ dm_brush_info: {
395
+ min_time: number;
396
+ brush_count: number;
397
+ slice_count: number;
398
+ storage_time: number;
399
+ };
400
+ dm_emoticon_info: {
401
+ is_open_emoticon: number;
402
+ is_shield_emoticon: number;
403
+ };
404
+ dm_tag_info: {
405
+ dm_tag: number;
406
+ platform: never[];
407
+ extra: string;
408
+ dm_chronos_extra: string;
409
+ dm_mode: never[];
410
+ dm_setting_switch: number;
411
+ material_conf: null;
412
+ };
413
+ topic_info: {
414
+ topic_id: number;
415
+ topic_name: string;
416
+ };
417
+ game_info: {
418
+ game_status: number;
419
+ };
420
+ watched_show: {
421
+ switch: boolean;
422
+ num: number;
423
+ text_small: string;
424
+ text_large: string;
425
+ icon: string;
426
+ icon_location: number;
427
+ icon_web: string;
428
+ };
429
+ topic_room_info: {
430
+ interactive_h5_url: string;
431
+ watermark: number;
432
+ };
433
+ show_reserve_status: boolean;
434
+ second_create_info: {
435
+ click_permission: number;
436
+ common_permission: number;
437
+ icon_name: string;
438
+ icon_url: string;
439
+ url: string;
440
+ };
441
+ play_together_info: {
442
+ switch: number;
443
+ icon_list: {
444
+ icon: string;
445
+ title: string;
446
+ jump_url: string;
447
+ status: number;
448
+ }[];
449
+ };
450
+ cloud_game_info: {
451
+ is_gaming: number;
452
+ };
453
+ gift_star: {
454
+ show: boolean;
455
+ };
456
+ like_info_v3: {
457
+ total_likes: number;
458
+ click_block: boolean;
459
+ count_block: boolean;
460
+ guild_emo_text: string;
461
+ guild_dm_text: string;
462
+ like_dm_text: string;
463
+ hand_icons: string[];
464
+ dm_icons: string[];
465
+ eggshells_icon: string;
466
+ count_show_time: number;
467
+ process_icon: string;
468
+ process_color: string;
469
+ };
470
+ live_play_info: {
471
+ show_widget_banner: boolean;
472
+ };
473
+ multi_voice: {
474
+ switch_status: number;
475
+ members: never[];
476
+ };
477
+ video_connection_info: null;
478
+ player_throttle_info: {
479
+ status: number;
480
+ normal_sleep_time: number;
481
+ fullscreen_sleep_time: number;
482
+ tab_sleep_time: number;
483
+ prompt_time: number;
484
+ };
485
+ guard_info: {
486
+ count: number;
487
+ anchor_guard_achieve_level: number;
488
+ };
489
+ hot_rank_info: null;
490
+ };
491
+ export declare type bilibili_getInfoByRoom = typeof bilibili_getInfoByRoom_expamle;
492
+ export {};
@@ -1,58 +0,0 @@
1
- import { UserInfo } from "../..";
2
- import { KeepLiveWS } from "bilibili-live-ws";
3
- import { LiveRoom, RoomStatsInfo, RoomDetail } from "../..";
4
- declare class bilibiliLive extends LiveRoom {
5
- /** 平台id */
6
- readonly platform: string;
7
- /** 直播间号 */
8
- readonly id: number;
9
- /** 直播间room_id */
10
- roomid: number;
11
- /** 房间信息 */
12
- detail: RoomDetail;
13
- stats: RoomStatsInfo;
14
- /** 房间是否可用 */
15
- available: boolean;
16
- /** 是否连接上房间 */
17
- connected: boolean;
18
- /** 主播信息 */
19
- anchor: UserInfo;
20
- /** 直播间弹幕api模块 */
21
- client: KeepLiveWS | null;
22
- /** 断线重连间隔 */
23
- connectInterval: number;
24
- constructor(id: number, // 房间id
25
- open?: boolean, // 生成房间后是否打开
26
- config?: {
27
- connectInterval: number;
28
- });
29
- /** 获取房间信息 */
30
- getInfo(): Promise<void>;
31
- /** 开启直播间监听 */
32
- open(): Promise<void>;
33
- /** 连接直播服务端 */
34
- createWS(): Promise<void>;
35
- /** 关闭直播间监听 */
36
- close(): void;
37
- /** 获取弹幕消息 */
38
- msg_DANMU_MSG(msg: any): void;
39
- /** 获取互动消息 */
40
- msg_INTERACT_WORD(msg: any): void;
41
- /** 获取礼物消息 */
42
- msg_SEND_GIFT(msg: any): void;
43
- /** 获取舰长开通消息 */
44
- msg_GUARD_BUY(msg: any): void;
45
- /** 获取醒目留言消息 */
46
- msg_SUPER_CHAT_MESSAGE(msg: any): void;
47
- /** 观看数变化 */
48
- msg_WATCHED_CHANGE(msg: any): void;
49
- /** 点赞数变化 */
50
- msg_LIKE_INFO_V3_UPDATE(msg: any): void;
51
- msg_ONLINE_RANK_COUNT(msg: any): void;
52
- msg_ROOM_BLOCK_MSG(msg: any): void;
53
- msg_LIVE(msg: any): void;
54
- msg_CUT_OFF(msg: any): void;
55
- msg_PREPARING(msg: any): void;
56
- msg_ROOM_CHANGE(msg: any): void;
57
- }
58
- export default bilibiliLive;
@@ -1,89 +0,0 @@
1
- /// <reference types="node" />
2
- import { EventEmitter } from "events";
3
- import { RoomStatus } from "../enum";
4
- import { MessageData, UserInfo } from "../../src/types";
5
- export interface RoomInfo {
6
- /** 平台id */
7
- platform: string;
8
- /** 房间id */
9
- id: number | string;
10
- /** 房间key */
11
- key: string;
12
- /** 基本信息 */
13
- detail: RoomDetail;
14
- /** 统计信息 */
15
- stats?: RoomStatsInfo;
16
- /** 主播信息 */
17
- anchor: UserInfo;
18
- /** 时间戳 */
19
- timestamp: number;
20
- /** 当前直播id */
21
- liveId?: string;
22
- /** 直播状态 */
23
- status: RoomStatus;
24
- /** 直播间是否可用 */
25
- available: boolean;
26
- /** 房间监听是否打开 */
27
- opening: boolean;
28
- /** 是否连接到房间 */
29
- connected: boolean;
30
- }
31
- /** 房间展示信息 */
32
- export declare type RoomDetail = {
33
- /** 直播标题 */
34
- title?: string;
35
- /** 分区 */
36
- area?: string[];
37
- /** 封面 */
38
- cover?: string;
39
- };
40
- /** 房间统计数据信息 */
41
- export declare type RoomStatsInfo = {
42
- /** 点赞数 */
43
- like?: number;
44
- /** 观看数 */
45
- watch?: number;
46
- /** 在线人数 */
47
- online?: number;
48
- /** 人气值 */
49
- popularity?: number;
50
- };
51
- export declare abstract class LiveRoom extends EventEmitter implements RoomInfo {
52
- constructor();
53
- /** 平台 */
54
- abstract readonly platform: string;
55
- /** 房间id */
56
- abstract readonly id: string | number;
57
- /** 房间详情 */
58
- abstract detail: RoomDetail;
59
- /** 统计信息 */
60
- stats?: RoomStatsInfo;
61
- /** 主播信息 */
62
- abstract anchor: UserInfo;
63
- /** 直播状态 */
64
- status: RoomStatus;
65
- /** 时间戳 */
66
- timestamp: number;
67
- /** 当前直播id */
68
- liveId?: string;
69
- /** 房间是否打开 */
70
- opening: boolean;
71
- /** 房间是否可用 */
72
- abstract available: boolean;
73
- /** 是否连接上房间 */
74
- abstract connected: boolean;
75
- /** 打开连接 */
76
- abstract open(): void;
77
- /** 关闭连接 */
78
- abstract close(): void;
79
- /** 从服务器获取信息 */
80
- abstract getInfo(): void;
81
- /** 销毁事件 */
82
- protected onDestory?(): void;
83
- /** 销毁 */
84
- destory(): void;
85
- protected emitMsg(msg: MessageData): void;
86
- protected emitOrigin(msg: any): void;
87
- get info(): RoomInfo;
88
- get key(): string;
89
- }
@@ -1,3 +0,0 @@
1
- import { Reglist } from "../lib/Reglist";
2
- export default class Command extends Reglist<(e: any, ...args: any) => void> {
3
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const Reglist_1 = require("../lib/Reglist");
4
- class Command extends Reglist_1.Reglist {
5
- }
6
- exports.default = Command;