UNPKG

@juzi/wechaty

Version:

Wechaty is a RPA SDK for Chatbot Makers.

70 lines (52 loc) 1.7 kB
import * as PUPPET from '@juzi/wechaty-puppet' import { log } from '@juzi/wechaty-puppet' import type { MessageInterface, } from '../user-modules/mod.js' import type { Sayable } from './types.js' async function messageToSayable ( message: MessageInterface, ): Promise<undefined | Sayable> { log.verbose('Wechaty', 'toSayable(%s)', message) const type = message.type() switch (type) { case PUPPET.types.Message.Text: return message.text() case PUPPET.types.Message.Image: case PUPPET.types.Message.Attachment: case PUPPET.types.Message.Audio: case PUPPET.types.Message.Video: case PUPPET.types.Message.Emoticon: return message.toFileBox() case PUPPET.types.Message.Contact: return message.toContact() case PUPPET.types.Message.Url: return message.toUrlLink() case PUPPET.types.Message.MiniProgram: return message.toMiniProgram() case PUPPET.types.Message.Location: return message.toLocation() case PUPPET.types.Message.Post: return message.toPost() case PUPPET.types.Message.Channel: return message.toChannel() case PUPPET.types.Message.ChannelCard: return message.toChannelCard() case PUPPET.types.Message.ConsultCard: return message.toConsultCard() case PUPPET.types.Message.PremiumOnlineAppointmentCard: return message.toPremiumOnlineAppointmentCard() default: log.warn('Wechaty', 'toSayable() can not convert not re-sayable type: %s(%s) for %s\n%s', PUPPET.types.Message[type], type, message, new Error().stack, ) return undefined } } export { messageToSayable, }