UNPKG

@juzi/wechaty

Version:

Wechaty is a RPA SDK for Chatbot Makers.

143 lines 5.81 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.ChatHistoryImpl = void 0; const PUPPET = __importStar(require("@juzi/wechaty-puppet")); const config_js_1 = require("../config.js"); const validation_js_1 = require("../user-mixins/validation.js"); const wechatify_js_1 = require("../user-mixins/wechatify.js"); const file_box_1 = require("file-box"); class ChatHistoryMixin extends (0, wechatify_js_1.wechatifyMixinBase)() { payload; static async create() { config_js_1.log.verbose('ChatHistory', 'create()'); const payload = [ { type: PUPPET.types.Message.Text, avatar: file_box_1.FileBox.fromUrl(''), senderName: 'senderName', corpName: 'corpName', time: 1699889645, title: '群聊的聊天记录', message: 'text', }, ]; return new this(payload); } /* * @hideconstructor */ constructor(payload) { super(); this.payload = payload; config_js_1.log.verbose('ChatHistory', 'constructor()'); } // avatar (): FileBoxInterface { // return this.payload.avatar // } // name (): undefined | string { // const senderName = this.payload.senderName // const corpName = this.payload.corpName // if (corpName) { // return `${senderName}@${corpName}` // } // return senderName // } // date (): Date { // const time = this.payload.time // return timestampToDate(Number(time)) // FIXME: change the type from string to number // } // async message (): Promise<ChatHistoryMessageType> { // const type = this.type() // const message = this.payload.message // switch (type) { // case PUPPET.types.Message.Text: // case PUPPET.types.Message.Contact: // return message as string // case PUPPET.types.Message.Attachment: // case PUPPET.types.Message.Audio: // case PUPPET.types.Message.Emoticon: // case PUPPET.types.Message.Image: // case PUPPET.types.Message.Video: // return message as FileBoxInterface // case PUPPET.types.Message.Url: // return new this.wechaty.UrlLink(message) // case PUPPET.types.Message.Location: // return new this.wechaty.Location(message) // case PUPPET.types.Message.MiniProgram: // return new this.wechaty.MiniProgram(message) // case PUPPET.types.Message.Channel: // return new this.wechaty.Channel(message) // case PUPPET.types.Message.ChatHistory: // return new this.wechaty.ChatHistory(message) // default: // throw new Error(`Unsupported message type of chat history: ${PUPPET.types.Message[type]}`) // } // } // type (): PUPPET.types.Message { // return this.payload.type // } messageList() { const payloadList = this.payload; const responseList = []; for (const payload of payloadList) { const type = payload.type; switch (type) { case PUPPET.types.Message.Text: case PUPPET.types.Message.Contact: case PUPPET.types.Message.Audio: case PUPPET.types.Message.GroupNote: case PUPPET.types.Message.Emoticon: case PUPPET.types.Message.Channel: responseList.push(payload.message); break; case PUPPET.types.Message.Attachment: case PUPPET.types.Message.Image: case PUPPET.types.Message.Video: responseList.push(payload.message); break; case PUPPET.types.Message.Url: responseList.push(new this.wechaty.UrlLink(payload)); break; case PUPPET.types.Message.Location: responseList.push(new this.wechaty.Location(payload)); break; case PUPPET.types.Message.MiniProgram: responseList.push(new this.wechaty.MiniProgram(payload)); break; case PUPPET.types.Message.ChatHistory: responseList.push(new this.wechaty.ChatHistory(payload)); break; default: throw new Error(`Unsupported message type of chat history: ${PUPPET.types.Message[type]}`); } } return responseList; } } class ChatHistoryImpl extends (0, validation_js_1.validationMixin)(ChatHistoryMixin)() { } exports.ChatHistoryImpl = ChatHistoryImpl; //# sourceMappingURL=chat-history.js.map