wechaty-puppet-wechat
Version:
Puppet WeChat for Wechaty
58 lines (45 loc) • 1.06 kB
text/typescript
import {
WebAppMsgType,
WebMessageRawPayload,
WebMessageType,
} from '../web-schemas.js'
export function messageExtname (
rawPayload: WebMessageRawPayload,
): string {
let ext: string
// const type = this.type()
switch (rawPayload.MsgType) {
case WebMessageType.EMOTICON:
ext = '.gif'
break
case WebMessageType.IMAGE:
ext = '.jpg'
break
case WebMessageType.VIDEO:
case WebMessageType.MICROVIDEO:
ext = '.mp4'
break
case WebMessageType.VOICE:
ext = '.mp3'
break
case WebMessageType.APP:
switch (rawPayload.AppMsgType) {
case WebAppMsgType.URL:
ext = '.url' // XXX
break
default:
ext = '.' + rawPayload.MsgType
break
}
break
case WebMessageType.TEXT:
if (rawPayload.SubMsgType === WebMessageType.LOCATION) {
ext = '.jpg'
}
ext = '.' + rawPayload.MsgType
break
default:
ext = '.' + rawPayload.MsgType
}
return ext
}