@@ -273,6 +273,10 @@ const GetMessage = defineApi(
273273 }
274274
275275 const rawMsg = msgResult . msgList [ 0 ]
276+ if ( rawMsg . elements [ 0 ] . grayTipElement ?. subElementType === 1 ) {
277+ return Failed ( - 404 , 'Message not found' )
278+ }
279+
276280 if ( payload . message_scene === 'friend' ) {
277281 const friend = await ctx . ntUserApi . getUserSimpleInfo ( rawMsg . senderUid )
278282 const category = await ctx . ntFriendApi . getCategoryById ( friend . baseInfo . categoryId )
@@ -324,24 +328,23 @@ const GetHistoryMessages = defineApi(
324328 msgList = ( await ctx . ntMsgApi . getMsgsBySeqAndCount ( peer , payload . start_message_seq . toString ( ) , payload . limit , true , true ) ) . msgList
325329 }
326330
327- if ( msgList . length === 0 ) {
331+ const filteredMsgList = msgList . filter ( msg => {
332+ if ( ! msg . senderUid ) return false
333+ if ( msg . elements [ 0 ] . grayTipElement ?. subElementType === 1 ) return false
334+ return true
335+ } )
336+ if ( filteredMsgList . length === 0 ) {
328337 return Ok ( {
329338 messages : [ ] ,
330339 next_message_seq : undefined ,
331340 } )
332341 }
333342
334- const filteredMsgList = msgList . filter ( msg => {
335- if ( ! msg . senderUid ) return false
336- if ( msg . elements [ 0 ] . grayTipElement ?. subElementType === 1 ) return false
337- return true
338- } )
339343 const transformedMessages : GetHistoryMessagesOutput [ 'messages' ] = [ ]
340-
341344 if ( payload . message_scene === 'friend' ) {
345+ const friend = await ctx . ntUserApi . getUserSimpleInfo ( filteredMsgList [ 0 ] . peerUid )
346+ const category = await ctx . ntFriendApi . getCategoryById ( friend . baseInfo . categoryId )
342347 for ( const msg of filteredMsgList ) {
343- const friend = await ctx . ntUserApi . getUserSimpleInfo ( msg . senderUid )
344- const category = await ctx . ntFriendApi . getCategoryById ( friend . baseInfo . categoryId )
345348 transformedMessages . push ( await transformIncomingPrivateMessage ( ctx , friend , category , msg ) )
346349 }
347350 } else if ( payload . message_scene === 'group' ) {
@@ -351,9 +354,9 @@ const GetHistoryMessages = defineApi(
351354 transformedMessages . push ( await transformIncomingGroupMessage ( ctx , group , member , msg ) )
352355 }
353356 } else {
357+ const { tmpChatInfo } = await ctx . ntMsgApi . getTempChatInfo ( 100 , filteredMsgList [ 0 ] . peerUid )
358+ const group = await ctx . ntGroupApi . getGroupAllInfo ( tmpChatInfo . groupCode )
354359 for ( const msg of filteredMsgList ) {
355- const { tmpChatInfo } = await ctx . ntMsgApi . getTempChatInfo ( 100 , msg . peerUid )
356- const group = await ctx . ntGroupApi . getGroupAllInfo ( tmpChatInfo . groupCode )
357360 transformedMessages . push ( await transformIncomingTempMessage ( ctx , group , msg ) )
358361 }
359362 }
0 commit comments