2
2
HEARTBEAT , type AttentionChangeMsgHandler ,
3
3
LIVE , type LiveStartMsgHandler ,
4
4
PREPARING , type LiveStopMsgHandler ,
5
- DANMU_MSG , DANMU_MSG_402220 , type DanmuMsgHandler ,
5
+ DANMU_MSG , type DanmuMsgHandler ,
6
6
GUARD_BUY , type GuardBuyHandler ,
7
7
INTERACT_WORD , ENTRY_EFFECT , type UserActionMsgHandler ,
8
8
LIKE_INFO_V3_UPDATE , type LikedChangeMsgHandler ,
@@ -13,7 +13,7 @@ import {
13
13
WATCHED_CHANGE , type WatchedChangeHandler ,
14
14
} from '../parser'
15
15
import type { KeepLiveTCP , KeepLiveWS , Message as WSMessage } from 'tiny-bilibili-ws'
16
- import { normalizeDanmu , checkIsDuplicateDanmuMsg } from '../utils/message'
16
+ import { normalizeDanmu } from '../utils/message'
17
17
18
18
export type MsgHandler = Partial <
19
19
{
@@ -82,7 +82,7 @@ export const listenAll = (instance: KeepLiveTCP | KeepLiveWS, roomId: number, ha
82
82
// LIVE
83
83
if ( handler [ LIVE . handlerName ] || rawHandlerNames . has ( LIVE . eventName ) ) {
84
84
rawHandlerNames . delete ( LIVE . eventName )
85
- instance . on ( LIVE . eventName , ( data : WSMessage < any > ) => {
85
+ instance . on ( LIVE . eventName as any , ( data : WSMessage < any > ) => {
86
86
isHandleRaw && rawHandler [ LIVE . eventName ] ?.( data . data )
87
87
const parsedData = LIVE . parser ( data . data )
88
88
handler [ LIVE . handlerName ] ?.( normalizeDanmu ( LIVE . eventName , parsedData , data . data ) )
@@ -92,30 +92,20 @@ export const listenAll = (instance: KeepLiveTCP | KeepLiveWS, roomId: number, ha
92
92
// PREPARING
93
93
if ( handler [ PREPARING . handlerName ] || rawHandlerNames . has ( PREPARING . eventName ) ) {
94
94
rawHandlerNames . delete ( LIVE . eventName )
95
- instance . on ( PREPARING . eventName , ( data : WSMessage < any > ) => {
95
+ instance . on ( PREPARING . eventName as any , ( data : WSMessage < any > ) => {
96
96
isHandleRaw && rawHandler [ PREPARING . eventName ] ?.( data . data )
97
97
const parsedData = PREPARING . parser ( data . data )
98
98
handler [ PREPARING . handlerName ] ?.( normalizeDanmu ( PREPARING . eventName , parsedData , data . data ) )
99
99
} )
100
100
}
101
101
102
102
// DANMU_MSG
103
- if ( handler [ DANMU_MSG . handlerName ] || rawHandlerNames . has ( DANMU_MSG . eventName ) || rawHandlerNames . has ( DANMU_MSG_402220 . eventName ) ) {
103
+ if ( handler [ DANMU_MSG . handlerName ] || rawHandlerNames . has ( DANMU_MSG . eventName ) ) {
104
104
rawHandlerNames . delete ( DANMU_MSG . eventName )
105
- rawHandlerNames . delete ( DANMU_MSG_402220 . eventName )
106
- const msgCallback = handler [ DANMU_MSG . handlerName ] !
107
- const handleDanmuMsg = ( data : WSMessage < any > ) => {
108
- const parsedData = DANMU_MSG . parser ( data . data , roomId )
109
- if ( checkIsDuplicateDanmuMsg ( parsedData ) ) return
110
- msgCallback ( normalizeDanmu ( DANMU_MSG . eventName , parsedData , data . data ) )
111
- }
112
105
instance . on ( DANMU_MSG . eventName , ( data : WSMessage < any > ) => {
113
106
isHandleRaw && rawHandler [ DANMU_MSG . eventName ] ?.( data . data )
114
- handleDanmuMsg ( data )
115
- } )
116
- instance . on ( DANMU_MSG_402220 . eventName , ( data : WSMessage < any > ) => {
117
- isHandleRaw && rawHandler [ DANMU_MSG_402220 . eventName ] ?.( data . data )
118
- handleDanmuMsg ( data )
107
+ const parsedData = DANMU_MSG . parser ( data . data , roomId )
108
+ handler [ DANMU_MSG . handlerName ] ?.( normalizeDanmu ( DANMU_MSG . eventName , parsedData , data . data ) )
119
109
} )
120
110
}
121
111
@@ -168,7 +158,7 @@ export const listenAll = (instance: KeepLiveTCP | KeepLiveWS, roomId: number, ha
168
158
// ROOM_CHANGE
169
159
if ( handler [ ROOM_CHANGE . handlerName ] || rawHandlerNames . has ( ROOM_CHANGE . eventName ) ) {
170
160
rawHandlerNames . delete ( ROOM_CHANGE . eventName )
171
- instance . on ( ROOM_CHANGE . eventName , ( data : WSMessage < any > ) => {
161
+ instance . on ( ROOM_CHANGE . eventName as any , ( data : WSMessage < any > ) => {
172
162
isHandleRaw && rawHandler [ ROOM_CHANGE . eventName ] ?.( data . data )
173
163
const parsedData = ROOM_CHANGE . parser ( data . data )
174
164
handler [ ROOM_CHANGE . handlerName ] ?.( normalizeDanmu ( ROOM_CHANGE . eventName , parsedData , data . data ) )
@@ -208,7 +198,7 @@ export const listenAll = (instance: KeepLiveTCP | KeepLiveWS, roomId: number, ha
208
198
// Rest raw events
209
199
rawHandlerNames . forEach ( ( eventName ) => {
210
200
console . log ( 'rest' , eventName )
211
- instance . on ( eventName , ( data : WSMessage < any > ) => {
201
+ instance . on ( eventName as any , ( data : WSMessage < any > ) => {
212
202
rawHandler [ eventName ] ( data . data )
213
203
} )
214
204
} )
0 commit comments