UNPKG

@juzi/wechaty-puppet-whatsapp

Version:
79 lines 3.31 kB
"use strict"; 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