@juzi/wechaty-puppet-whatsapp
Version:
Wechaty Puppet for WhatsApp
79 lines • 3.31 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.parserContactRawPayload = void 0;
const PUPPET = __importStar(require("@juzi/wechaty-puppet"));
const config_js_1 = require("../../config.js");
const contact_js_1 = require("../../schema/contact.js");
function parserContactRawPayload(contactPayload, userName) {
let type;
if (contactPayload.isUser) {
type = PUPPET.types.Contact.Individual;
}
else if (contactPayload.isEnterprise) {
type = PUPPET.types.Contact.Corporation;
}
else {
type = PUPPET.types.Contact.Unknown;
}
let name;
// const isFriend = contactPayload.isMyContact || contactPayload.isMe
const additionalInfo = {
status: contact_js_1.ContactStatus.FRIEND,
};
if (contactPayload.isMe) {
name = userName || contactPayload.pushname;
if (name === config_js_1.SPECIAL_BOT_PUSHNAME) {
name = contactPayload.shortName;
}
additionalInfo.corpId = contactPayload.id._serialized;
additionalInfo.sCorpId = contactPayload.id._serialized;
additionalInfo.corpName = `${contactPayload.isBusiness ? 'Whatsapp Business' : 'Whatsapp'}:${contactPayload.id._serialized}`;
}
else {
/**
* 在 iOS 中, pushname 是联系人自己设置的名字, name 是bot通讯录中联系人的名字
* 在 Android 中, pushname 是 undefined , name 是bot通讯录中联系人的名字
* 因此应该优先使用 name
*/
name = contactPayload.name || contactPayload.pushname;
}
const number = contactPayload.number || contactPayload.id.user;
return {
avatar: contactPayload.avatar,
friend: true,
gender: PUPPET.types.ContactGender.Unknown,
id: contactPayload.id._serialized,
name: name || contactPayload.id._serialized,
phone: [number],
type: type,
handle: number,
weixin: number,
additionalInfo: JSON.stringify(additionalInfo),
corporation: `${contactPayload.isBusiness ? 'Whatsapp Business' : 'Whatsapp'}:${contactPayload.id._serialized}`,
};
}
exports.parserContactRawPayload = parserContactRawPayload;
//# sourceMappingURL=contact-raw-payload-parser.js.map