import type * as PUPPET from '@juzi/wechaty-puppet' import { WA_ERROR_TYPE } from '../../exception/error-type.js' import WAError from '../../exception/whatsapp-error.js' import type { WhatsAppContactPayload as RoomPayload, GroupChat } from '../../schema/whatsapp-type.js' export function parserRoomRawPayload (roomPayload: RoomPayload, roomChat: GroupChat): PUPPET.payloads.Room { const roomId = roomPayload.id._serialized if (roomChat.participants.length === 0) { throw WAError(WA_ERROR_TYPE.ERR_ROOM_NOT_FOUND, `roomRawPayloadParser(${roomId}) can not get chat info for this room.`) } return { adminIdList: roomChat.participants.filter(m => m.isAdmin || m.isSuperAdmin).map(m => m.id._serialized), avatar: roomPayload.avatar, id: roomId, memberIdList: roomChat.participants.map(m => m.id._serialized), ownerId: roomChat.owner?._serialized, topic: roomPayload.name || roomPayload.pushname || '', } }