wechaty-puppet-padplus
Version:
Puppet Padplus for Wechaty
62 lines • 2.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const wechaty_puppet_1 = require("wechaty-puppet");
const is_type_1 = require("./is-type");
function contactRawPayloadParser(rawPayload) {
if (!rawPayload.userName) {
/**
* { big_head: '',
* city: '',
* country: '',
* intro: '',
* label: '',
* message: '',
* nick_name: '',
* provincia: '',
* py_initial: '',
* quan_pin: '',
* remark: '',
* remark_py_initial: '',
* remark_quan_pin: '',
* sex: 0,
* signature: '',
* small_head: '',
* status: 0,
* stranger: '',
* ticket: '',
* user_name: '' }
*/
// console.log(rawPayload)
throw Error('cannot get user_name from raw payload: ' + JSON.stringify(rawPayload));
}
if (is_type_1.isRoomId(rawPayload.userName)) {
throw Error('Room Object instead of Contact!');
}
let contactType = wechaty_puppet_1.ContactType.Unknown;
if (is_type_1.isContactOfficialId(rawPayload.userName) || rawPayload.verifyFlag !== 0) {
contactType = wechaty_puppet_1.ContactType.Official;
}
else {
contactType = wechaty_puppet_1.ContactType.Personal;
}
let friend = false;
if (rawPayload.contactFlag && rawPayload.contactFlag !== 0 && rawPayload.verifyFlag === 0) {
friend = true;
}
const payload = {
alias: rawPayload.remark,
avatar: rawPayload.bigHeadUrl,
city: rawPayload.city,
friend,
gender: rawPayload.sex,
id: rawPayload.userName,
name: rawPayload.nickName,
province: rawPayload.province,
signature: (rawPayload.signature).replace('+', ' '),
type: contactType,
weixin: rawPayload.alias,
};
return payload;
}
exports.contactRawPayloadParser = contactRawPayloadParser;
//# sourceMappingURL=contact-raw-payload-parser.js.map