@juzi/wechaty
Version:
Wechaty is a RPA SDK for Chatbot Makers.
31 lines • 1.47 kB
JavaScript
import * as PUPPET from '@juzi/wechaty-puppet';
import { log } from '@juzi/wechaty-puppet';
const payloadToSayableWechaty = (wechaty) => async (sayable) => {
log.verbose('Wechaty', 'payloadToSayable({type: %s(%s)})', PUPPET.types.Message[sayable.type], sayable.type);
switch (sayable.type) {
case PUPPET.types.Sayable.Text:
return sayable.payload.text;
case PUPPET.types.Sayable.Emoticon:
case PUPPET.types.Sayable.Image:
case PUPPET.types.Sayable.Video:
case PUPPET.types.Sayable.Audio:
case PUPPET.types.Sayable.Attachment:
return sayable.payload.filebox;
case PUPPET.types.Sayable.Contact:
return wechaty.Contact.find({ id: sayable.payload.contactId });
case PUPPET.types.Sayable.Location:
return new wechaty.Location(sayable.payload);
case PUPPET.types.Sayable.MiniProgram:
return new wechaty.MiniProgram(sayable.payload);
case PUPPET.types.Sayable.Url:
return new wechaty.UrlLink(sayable.payload);
case PUPPET.types.Sayable.Post:
return new wechaty.Post(sayable.payload);
case PUPPET.types.Sayable.Channel:
return new wechaty.Channel(sayable.payload);
default:
throw new Error('payloadToSayable() not support payload: ' + JSON.stringify(sayable));
}
};
export { payloadToSayableWechaty, };
//# sourceMappingURL=payload-to-sayable.js.map