@juzi/wechaty
Version:
Wechaty is a RPA SDK for Chatbot Makers.
143 lines • 5.81 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.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