@juzi/wechaty 1.0.77 → 1.0.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.packageJson = exports.GIT_COMMIT_HASH = void 0;
4
- exports.GIT_COMMIT_HASH = 'de8712694cc4e3297c5f34305574587bd79ab682';
4
+ exports.GIT_COMMIT_HASH = '921b365237f7ac3a27917b05fa8acfdc26050e9f';
5
5
  exports.packageJson = {
6
6
  "name": "@juzi/wechaty",
7
- "version": "1.0.77",
7
+ "version": "1.0.79",
8
8
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
9
9
  "type": "module",
10
10
  "exports": {
@@ -113,7 +113,7 @@ exports.packageJson = {
113
113
  },
114
114
  "homepage": "https://github.com/wechaty/",
115
115
  "dependencies": {
116
- "@juzi/wechaty-puppet-service": "^1.0.75",
116
+ "@juzi/wechaty-puppet-service": "^1.0.81",
117
117
  "clone-class": "^1.1.1",
118
118
  "cmd-ts": "^0.10.0",
119
119
  "cockatiel": "^2.0.2",
@@ -136,7 +136,7 @@ exports.packageJson = {
136
136
  "@chatie/eslint-config": "^1.0.4",
137
137
  "@chatie/semver": "^0.4.7",
138
138
  "@chatie/tsconfig": "^4.6.3",
139
- "@juzi/wechaty-puppet": "^1.0.68",
139
+ "@juzi/wechaty-puppet": "^1.0.69",
140
140
  "@juzi/wechaty-puppet-mock": "^1.0.1",
141
141
  "@swc/core": "1.3.44",
142
142
  "@swc/helpers": "^0.3.6",
@@ -1,12 +1,10 @@
1
1
  import * as PUPPET from '@juzi/wechaty-puppet';
2
2
  import type { Constructor } from 'clone-class';
3
3
  import type { FileBoxInterface } from 'file-box';
4
- import type { ChannelInterface } from './channel.js';
5
- import type { ContactInterface } from './contact.js';
6
4
  import type { LocationInterface } from './location.js';
7
5
  import type { MiniProgramInterface } from './mini-program.js';
8
6
  import type { UrlLinkInterface } from './url-link.js';
9
- declare type ChatHistoryMessageType = string | ContactInterface | LocationInterface | MiniProgramInterface | UrlLinkInterface | ChannelInterface | ChatHistoryInterface | FileBoxInterface;
7
+ declare type ChatHistoryMessageType = string | LocationInterface | MiniProgramInterface | UrlLinkInterface | ChatHistoryInterface | FileBoxInterface;
10
8
  declare const ChatHistoryMixin_base: ((abstract new (...args: any[]) => {
11
9
  readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
12
10
  }) & {
@@ -15,13 +13,10 @@ declare const ChatHistoryMixin_base: ((abstract new (...args: any[]) => {
15
13
  new (): {};
16
14
  };
17
15
  declare class ChatHistoryMixin extends ChatHistoryMixin_base {
18
- readonly payload: PUPPET.payloads.ChatHistory;
19
- constructor(payload: PUPPET.payloads.ChatHistory);
20
- avatar(): FileBoxInterface;
21
- name(): undefined | string;
22
- date(): Date;
23
- message(): Promise<ChatHistoryMessageType>;
24
- type(): PUPPET.types.Message;
16
+ readonly payload: PUPPET.payloads.ChatHistory[];
17
+ static create(): Promise<ChatHistoryInterface>;
18
+ constructor(payload: PUPPET.payloads.ChatHistory[]);
19
+ messageList(): ChatHistoryMessageType[];
25
20
  }
26
21
  declare const ChatHistoryImpl_base: {
27
22
  new (...args: any[]): {};
@@ -1 +1 @@
1
- {"version":3,"file":"chat-history.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/chat-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAQ9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGrD,aAAK,sBAAsB,GAAG,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,gBAAgB,CAAA;;;;;;;;AAElL,cAAM,gBAAiB,SAAQ,qBAAoB;aAM7B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;gBAApC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;IAMxD,MAAM,IAAK,gBAAgB;IAI3B,IAAI,IAAK,SAAS,GAAG,MAAM;IAS3B,IAAI,IAAK,IAAI;IAKP,OAAO,IAAK,OAAO,CAAC,sBAAsB,CAAC;IA4BjD,IAAI,IAAK,MAAM,CAAC,KAAK,CAAC,OAAO;CAI9B;;;;;;;AAED,cAAM,eAAgB,SAAQ,oBAAyD;CAAI;AAC3F,UAAU,oBAAqB,SAAQ,eAAe;CAAI;AAE1D,aAAK,sBAAsB,GAAG,WAAW,CACvC,oBAAoB,EACpB,OAAO,eAAe,CACvB,CAAA;AAED,YAAY,EACV,sBAAsB,EACtB,oBAAoB,GACrB,CAAA;AACD,OAAO,EACL,eAAe,GAChB,CAAA"}
1
+ {"version":3,"file":"chat-history.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/chat-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAS9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,aAAK,sBAAsB,GAAG,MAAM,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,gBAAgB,CAAA;;;;;;;;AAE5I,cAAM,gBAAiB,SAAQ,qBAAoB;aAuB7B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;WArB7C,MAAM,IAAK,OAAO,CAAC,oBAAoB,CAAC;gBAqBjC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;IAwD1D,WAAW;CAsCZ;;;;;;;AAED,cAAM,eAAgB,SAAQ,oBAAyD;CAAI;AAC3F,UAAU,oBAAqB,SAAQ,eAAe;CAAI;AAE1D,aAAK,sBAAsB,GAAG,WAAW,CACvC,oBAAoB,EACpB,OAAO,eAAe,CACvB,CAAA;AAED,YAAY,EACV,sBAAsB,EACtB,oBAAoB,GACrB,CAAA;AACD,OAAO,EACL,eAAe,GAChB,CAAA"}
@@ -28,9 +28,23 @@ const PUPPET = __importStar(require("@juzi/wechaty-puppet"));
28
28
  const config_js_1 = require("../config.js");
29
29
  const validation_js_1 = require("../user-mixins/validation.js");
30
30
  const wechatify_js_1 = require("../user-mixins/wechatify.js");
31
- const timestamp_to_date_js_1 = require("../pure-functions/timestamp-to-date.js");
31
+ const file_box_1 = require("file-box");
32
32
  class ChatHistoryMixin extends (0, wechatify_js_1.wechatifyMixinBase)() {
33
33
  payload;
34
+ static async create() {
35
+ config_js_1.log.verbose('ChatHistory', 'create()');
36
+ const payload = [
37
+ {
38
+ type: PUPPET.types.Message.Text,
39
+ avatar: file_box_1.FileBox.fromUrl(''),
40
+ senderName: 'senderName',
41
+ corpName: 'corpName',
42
+ time: 1699889645,
43
+ message: 'text',
44
+ },
45
+ ];
46
+ return new this(payload);
47
+ }
34
48
  /*
35
49
  * @hideconstructor
36
50
  */
@@ -39,50 +53,87 @@ class ChatHistoryMixin extends (0, wechatify_js_1.wechatifyMixinBase)() {
39
53
  this.payload = payload;
40
54
  config_js_1.log.verbose('ChatHistory', 'constructor()');
41
55
  }
42
- avatar() {
43
- return this.payload.avatar;
44
- }
45
- name() {
46
- const senderName = this.payload.senderName;
47
- const corpName = this.payload.corpName;
48
- if (corpName) {
49
- return `${senderName}@${corpName}`;
50
- }
51
- return senderName;
52
- }
53
- date() {
54
- const time = this.payload.time;
55
- return (0, timestamp_to_date_js_1.timestampToDate)(Number(time)); // FIXME: change the type from string to number
56
- }
57
- async message() {
58
- const type = this.type();
59
- const message = this.payload.message;
60
- switch (type) {
61
- case PUPPET.types.Message.Text:
62
- case PUPPET.types.Message.Contact:
63
- return message;
64
- case PUPPET.types.Message.Attachment:
65
- case PUPPET.types.Message.Audio:
66
- case PUPPET.types.Message.Emoticon:
67
- case PUPPET.types.Message.Image:
68
- case PUPPET.types.Message.Video:
69
- return message;
70
- case PUPPET.types.Message.Url:
71
- return new this.wechaty.UrlLink(message);
72
- case PUPPET.types.Message.Location:
73
- return new this.wechaty.Location(message);
74
- case PUPPET.types.Message.MiniProgram:
75
- return new this.wechaty.MiniProgram(message);
76
- case PUPPET.types.Message.Channel:
77
- return new this.wechaty.Channel(message);
78
- case PUPPET.types.Message.ChatHistory:
79
- return new this.wechaty.ChatHistory(message);
80
- default:
81
- throw new Error(`Unsupported message type of chat history: ${PUPPET.types.Message[type]}`);
56
+ // avatar (): FileBoxInterface {
57
+ // return this.payload.avatar
58
+ // }
59
+ // name (): undefined | string {
60
+ // const senderName = this.payload.senderName
61
+ // const corpName = this.payload.corpName
62
+ // if (corpName) {
63
+ // return `${senderName}@${corpName}`
64
+ // }
65
+ // return senderName
66
+ // }
67
+ // date (): Date {
68
+ // const time = this.payload.time
69
+ // return timestampToDate(Number(time)) // FIXME: change the type from string to number
70
+ // }
71
+ // async message (): Promise<ChatHistoryMessageType> {
72
+ // const type = this.type()
73
+ // const message = this.payload.message
74
+ // switch (type) {
75
+ // case PUPPET.types.Message.Text:
76
+ // case PUPPET.types.Message.Contact:
77
+ // return message as string
78
+ // case PUPPET.types.Message.Attachment:
79
+ // case PUPPET.types.Message.Audio:
80
+ // case PUPPET.types.Message.Emoticon:
81
+ // case PUPPET.types.Message.Image:
82
+ // case PUPPET.types.Message.Video:
83
+ // return message as FileBoxInterface
84
+ // case PUPPET.types.Message.Url:
85
+ // return new this.wechaty.UrlLink(message)
86
+ // case PUPPET.types.Message.Location:
87
+ // return new this.wechaty.Location(message)
88
+ // case PUPPET.types.Message.MiniProgram:
89
+ // return new this.wechaty.MiniProgram(message)
90
+ // case PUPPET.types.Message.Channel:
91
+ // return new this.wechaty.Channel(message)
92
+ // case PUPPET.types.Message.ChatHistory:
93
+ // return new this.wechaty.ChatHistory(message)
94
+ // default:
95
+ // throw new Error(`Unsupported message type of chat history: ${PUPPET.types.Message[type]}`)
96
+ // }
97
+ // }
98
+ // type (): PUPPET.types.Message {
99
+ // return this.payload.type
100
+ // }
101
+ messageList() {
102
+ const payloadList = this.payload;
103
+ const responseList = [];
104
+ for (const payload of payloadList) {
105
+ const type = payload.type;
106
+ switch (type) {
107
+ case PUPPET.types.Message.Text:
108
+ case PUPPET.types.Message.Contact:
109
+ case PUPPET.types.Message.Audio:
110
+ case PUPPET.types.Message.GroupNote:
111
+ case PUPPET.types.Message.Emoticon:
112
+ case PUPPET.types.Message.Channel:
113
+ responseList.push(payload.message);
114
+ break;
115
+ case PUPPET.types.Message.Attachment:
116
+ case PUPPET.types.Message.Image:
117
+ case PUPPET.types.Message.Video:
118
+ responseList.push(payload.message);
119
+ break;
120
+ case PUPPET.types.Message.Url:
121
+ responseList.push(new this.wechaty.UrlLink(payload));
122
+ break;
123
+ case PUPPET.types.Message.Location:
124
+ responseList.push(new this.wechaty.Location(payload));
125
+ break;
126
+ case PUPPET.types.Message.MiniProgram:
127
+ responseList.push(new this.wechaty.MiniProgram(payload));
128
+ break;
129
+ case PUPPET.types.Message.ChatHistory:
130
+ responseList.push(new this.wechaty.ChatHistory(payload));
131
+ break;
132
+ default:
133
+ throw new Error(`Unsupported message type of chat history: ${PUPPET.types.Message[type]}`);
134
+ }
82
135
  }
83
- }
84
- type() {
85
- return this.payload.type;
136
+ return responseList;
86
137
  }
87
138
  }
88
139
  class ChatHistoryImpl extends (0, validation_js_1.validationMixin)(ChatHistoryMixin)() {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../../src/user-modules/chat-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../../src/user-modules/chat-history.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- export const GIT_COMMIT_HASH = 'de8712694cc4e3297c5f34305574587bd79ab682';
1
+ export const GIT_COMMIT_HASH = '921b365237f7ac3a27917b05fa8acfdc26050e9f';
2
2
  export const packageJson = {
3
3
  "name": "@juzi/wechaty",
4
- "version": "1.0.77",
4
+ "version": "1.0.79",
5
5
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
6
6
  "type": "module",
7
7
  "exports": {
@@ -110,7 +110,7 @@ export const packageJson = {
110
110
  },
111
111
  "homepage": "https://github.com/wechaty/",
112
112
  "dependencies": {
113
- "@juzi/wechaty-puppet-service": "^1.0.75",
113
+ "@juzi/wechaty-puppet-service": "^1.0.81",
114
114
  "clone-class": "^1.1.1",
115
115
  "cmd-ts": "^0.10.0",
116
116
  "cockatiel": "^2.0.2",
@@ -133,7 +133,7 @@ export const packageJson = {
133
133
  "@chatie/eslint-config": "^1.0.4",
134
134
  "@chatie/semver": "^0.4.7",
135
135
  "@chatie/tsconfig": "^4.6.3",
136
- "@juzi/wechaty-puppet": "^1.0.68",
136
+ "@juzi/wechaty-puppet": "^1.0.69",
137
137
  "@juzi/wechaty-puppet-mock": "^1.0.1",
138
138
  "@swc/core": "1.3.44",
139
139
  "@swc/helpers": "^0.3.6",
@@ -1,12 +1,10 @@
1
1
  import * as PUPPET from '@juzi/wechaty-puppet';
2
2
  import type { Constructor } from 'clone-class';
3
3
  import type { FileBoxInterface } from 'file-box';
4
- import type { ChannelInterface } from './channel.js';
5
- import type { ContactInterface } from './contact.js';
6
4
  import type { LocationInterface } from './location.js';
7
5
  import type { MiniProgramInterface } from './mini-program.js';
8
6
  import type { UrlLinkInterface } from './url-link.js';
9
- declare type ChatHistoryMessageType = string | ContactInterface | LocationInterface | MiniProgramInterface | UrlLinkInterface | ChannelInterface | ChatHistoryInterface | FileBoxInterface;
7
+ declare type ChatHistoryMessageType = string | LocationInterface | MiniProgramInterface | UrlLinkInterface | ChatHistoryInterface | FileBoxInterface;
10
8
  declare const ChatHistoryMixin_base: ((abstract new (...args: any[]) => {
11
9
  readonly wechaty: import("../wechaty/wechaty-impl.js").WechatyInterface;
12
10
  }) & {
@@ -15,13 +13,10 @@ declare const ChatHistoryMixin_base: ((abstract new (...args: any[]) => {
15
13
  new (): {};
16
14
  };
17
15
  declare class ChatHistoryMixin extends ChatHistoryMixin_base {
18
- readonly payload: PUPPET.payloads.ChatHistory;
19
- constructor(payload: PUPPET.payloads.ChatHistory);
20
- avatar(): FileBoxInterface;
21
- name(): undefined | string;
22
- date(): Date;
23
- message(): Promise<ChatHistoryMessageType>;
24
- type(): PUPPET.types.Message;
16
+ readonly payload: PUPPET.payloads.ChatHistory[];
17
+ static create(): Promise<ChatHistoryInterface>;
18
+ constructor(payload: PUPPET.payloads.ChatHistory[]);
19
+ messageList(): ChatHistoryMessageType[];
25
20
  }
26
21
  declare const ChatHistoryImpl_base: {
27
22
  new (...args: any[]): {};
@@ -1 +1 @@
1
- {"version":3,"file":"chat-history.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/chat-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAQ9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGrD,aAAK,sBAAsB,GAAG,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,gBAAgB,CAAA;;;;;;;;AAElL,cAAM,gBAAiB,SAAQ,qBAAoB;aAM7B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;gBAApC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;IAMxD,MAAM,IAAK,gBAAgB;IAI3B,IAAI,IAAK,SAAS,GAAG,MAAM;IAS3B,IAAI,IAAK,IAAI;IAKP,OAAO,IAAK,OAAO,CAAC,sBAAsB,CAAC;IA4BjD,IAAI,IAAK,MAAM,CAAC,KAAK,CAAC,OAAO;CAI9B;;;;;;;AAED,cAAM,eAAgB,SAAQ,oBAAyD;CAAI;AAC3F,UAAU,oBAAqB,SAAQ,eAAe;CAAI;AAE1D,aAAK,sBAAsB,GAAG,WAAW,CACvC,oBAAoB,EACpB,OAAO,eAAe,CACvB,CAAA;AAED,YAAY,EACV,sBAAsB,EACtB,oBAAoB,GACrB,CAAA;AACD,OAAO,EACL,eAAe,GAChB,CAAA"}
1
+ {"version":3,"file":"chat-history.d.ts","sourceRoot":"","sources":["../../../../src/user-modules/chat-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAS9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,aAAK,sBAAsB,GAAG,MAAM,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,gBAAgB,CAAA;;;;;;;;AAE5I,cAAM,gBAAiB,SAAQ,qBAAoB;aAuB7B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;WArB7C,MAAM,IAAK,OAAO,CAAC,oBAAoB,CAAC;gBAqBjC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;IAwD1D,WAAW;CAsCZ;;;;;;;AAED,cAAM,eAAgB,SAAQ,oBAAyD;CAAI;AAC3F,UAAU,oBAAqB,SAAQ,eAAe;CAAI;AAE1D,aAAK,sBAAsB,GAAG,WAAW,CACvC,oBAAoB,EACpB,OAAO,eAAe,CACvB,CAAA;AAED,YAAY,EACV,sBAAsB,EACtB,oBAAoB,GACrB,CAAA;AACD,OAAO,EACL,eAAe,GAChB,CAAA"}
@@ -2,9 +2,23 @@ import * as PUPPET from '@juzi/wechaty-puppet';
2
2
  import { log } from '../config.js';
3
3
  import { validationMixin } from '../user-mixins/validation.js';
4
4
  import { wechatifyMixinBase, } from '../user-mixins/wechatify.js';
5
- import { timestampToDate } from '../pure-functions/timestamp-to-date.js';
5
+ import { FileBox } from 'file-box';
6
6
  class ChatHistoryMixin extends wechatifyMixinBase() {
7
7
  payload;
8
+ static async create() {
9
+ log.verbose('ChatHistory', 'create()');
10
+ const payload = [
11
+ {
12
+ type: PUPPET.types.Message.Text,
13
+ avatar: FileBox.fromUrl(''),
14
+ senderName: 'senderName',
15
+ corpName: 'corpName',
16
+ time: 1699889645,
17
+ message: 'text',
18
+ },
19
+ ];
20
+ return new this(payload);
21
+ }
8
22
  /*
9
23
  * @hideconstructor
10
24
  */
@@ -13,50 +27,87 @@ class ChatHistoryMixin extends wechatifyMixinBase() {
13
27
  this.payload = payload;
14
28
  log.verbose('ChatHistory', 'constructor()');
15
29
  }
16
- avatar() {
17
- return this.payload.avatar;
18
- }
19
- name() {
20
- const senderName = this.payload.senderName;
21
- const corpName = this.payload.corpName;
22
- if (corpName) {
23
- return `${senderName}@${corpName}`;
24
- }
25
- return senderName;
26
- }
27
- date() {
28
- const time = this.payload.time;
29
- return timestampToDate(Number(time)); // FIXME: change the type from string to number
30
- }
31
- async message() {
32
- const type = this.type();
33
- const message = this.payload.message;
34
- switch (type) {
35
- case PUPPET.types.Message.Text:
36
- case PUPPET.types.Message.Contact:
37
- return message;
38
- case PUPPET.types.Message.Attachment:
39
- case PUPPET.types.Message.Audio:
40
- case PUPPET.types.Message.Emoticon:
41
- case PUPPET.types.Message.Image:
42
- case PUPPET.types.Message.Video:
43
- return message;
44
- case PUPPET.types.Message.Url:
45
- return new this.wechaty.UrlLink(message);
46
- case PUPPET.types.Message.Location:
47
- return new this.wechaty.Location(message);
48
- case PUPPET.types.Message.MiniProgram:
49
- return new this.wechaty.MiniProgram(message);
50
- case PUPPET.types.Message.Channel:
51
- return new this.wechaty.Channel(message);
52
- case PUPPET.types.Message.ChatHistory:
53
- return new this.wechaty.ChatHistory(message);
54
- default:
55
- throw new Error(`Unsupported message type of chat history: ${PUPPET.types.Message[type]}`);
30
+ // avatar (): FileBoxInterface {
31
+ // return this.payload.avatar
32
+ // }
33
+ // name (): undefined | string {
34
+ // const senderName = this.payload.senderName
35
+ // const corpName = this.payload.corpName
36
+ // if (corpName) {
37
+ // return `${senderName}@${corpName}`
38
+ // }
39
+ // return senderName
40
+ // }
41
+ // date (): Date {
42
+ // const time = this.payload.time
43
+ // return timestampToDate(Number(time)) // FIXME: change the type from string to number
44
+ // }
45
+ // async message (): Promise<ChatHistoryMessageType> {
46
+ // const type = this.type()
47
+ // const message = this.payload.message
48
+ // switch (type) {
49
+ // case PUPPET.types.Message.Text:
50
+ // case PUPPET.types.Message.Contact:
51
+ // return message as string
52
+ // case PUPPET.types.Message.Attachment:
53
+ // case PUPPET.types.Message.Audio:
54
+ // case PUPPET.types.Message.Emoticon:
55
+ // case PUPPET.types.Message.Image:
56
+ // case PUPPET.types.Message.Video:
57
+ // return message as FileBoxInterface
58
+ // case PUPPET.types.Message.Url:
59
+ // return new this.wechaty.UrlLink(message)
60
+ // case PUPPET.types.Message.Location:
61
+ // return new this.wechaty.Location(message)
62
+ // case PUPPET.types.Message.MiniProgram:
63
+ // return new this.wechaty.MiniProgram(message)
64
+ // case PUPPET.types.Message.Channel:
65
+ // return new this.wechaty.Channel(message)
66
+ // case PUPPET.types.Message.ChatHistory:
67
+ // return new this.wechaty.ChatHistory(message)
68
+ // default:
69
+ // throw new Error(`Unsupported message type of chat history: ${PUPPET.types.Message[type]}`)
70
+ // }
71
+ // }
72
+ // type (): PUPPET.types.Message {
73
+ // return this.payload.type
74
+ // }
75
+ messageList() {
76
+ const payloadList = this.payload;
77
+ const responseList = [];
78
+ for (const payload of payloadList) {
79
+ const type = payload.type;
80
+ switch (type) {
81
+ case PUPPET.types.Message.Text:
82
+ case PUPPET.types.Message.Contact:
83
+ case PUPPET.types.Message.Audio:
84
+ case PUPPET.types.Message.GroupNote:
85
+ case PUPPET.types.Message.Emoticon:
86
+ case PUPPET.types.Message.Channel:
87
+ responseList.push(payload.message);
88
+ break;
89
+ case PUPPET.types.Message.Attachment:
90
+ case PUPPET.types.Message.Image:
91
+ case PUPPET.types.Message.Video:
92
+ responseList.push(payload.message);
93
+ break;
94
+ case PUPPET.types.Message.Url:
95
+ responseList.push(new this.wechaty.UrlLink(payload));
96
+ break;
97
+ case PUPPET.types.Message.Location:
98
+ responseList.push(new this.wechaty.Location(payload));
99
+ break;
100
+ case PUPPET.types.Message.MiniProgram:
101
+ responseList.push(new this.wechaty.MiniProgram(payload));
102
+ break;
103
+ case PUPPET.types.Message.ChatHistory:
104
+ responseList.push(new this.wechaty.ChatHistory(payload));
105
+ break;
106
+ default:
107
+ throw new Error(`Unsupported message type of chat history: ${PUPPET.types.Message[type]}`);
108
+ }
56
109
  }
57
- }
58
- type() {
59
- return this.payload.type;
110
+ return responseList;
60
111
  }
61
112
  }
62
113
  class ChatHistoryImpl extends validationMixin(ChatHistoryMixin)() {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../../src/user-modules/chat-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../../src/user-modules/chat-history.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juzi/wechaty",
3
- "version": "1.0.77",
3
+ "version": "1.0.79",
4
4
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -109,7 +109,7 @@
109
109
  },
110
110
  "homepage": "https://github.com/wechaty/",
111
111
  "dependencies": {
112
- "@juzi/wechaty-puppet-service": "^1.0.75",
112
+ "@juzi/wechaty-puppet-service": "^1.0.81",
113
113
  "clone-class": "^1.1.1",
114
114
  "cmd-ts": "^0.10.0",
115
115
  "cockatiel": "^2.0.2",
@@ -132,7 +132,7 @@
132
132
  "@chatie/eslint-config": "^1.0.4",
133
133
  "@chatie/semver": "^0.4.7",
134
134
  "@chatie/tsconfig": "^4.6.3",
135
- "@juzi/wechaty-puppet": "^1.0.68",
135
+ "@juzi/wechaty-puppet": "^1.0.69",
136
136
  "@juzi/wechaty-puppet-mock": "^1.0.1",
137
137
  "@swc/core": "1.3.44",
138
138
  "@swc/helpers": "^0.3.6",
@@ -4,10 +4,10 @@
4
4
  */
5
5
  import type { PackageJsonWechaty } from './config'
6
6
 
7
- export const GIT_COMMIT_HASH: string = 'de8712694cc4e3297c5f34305574587bd79ab682'
7
+ export const GIT_COMMIT_HASH: string = '921b365237f7ac3a27917b05fa8acfdc26050e9f'
8
8
  export const packageJson: PackageJsonWechaty = {
9
9
  "name": "@juzi/wechaty",
10
- "version": "1.0.77",
10
+ "version": "1.0.79",
11
11
  "description": "Wechaty is a RPA SDK for Chatbot Makers.",
12
12
  "type": "module",
13
13
  "exports": {
@@ -116,7 +116,7 @@ export const packageJson: PackageJsonWechaty = {
116
116
  },
117
117
  "homepage": "https://github.com/wechaty/",
118
118
  "dependencies": {
119
- "@juzi/wechaty-puppet-service": "^1.0.75",
119
+ "@juzi/wechaty-puppet-service": "^1.0.81",
120
120
  "clone-class": "^1.1.1",
121
121
  "cmd-ts": "^0.10.0",
122
122
  "cockatiel": "^2.0.2",
@@ -139,7 +139,7 @@ export const packageJson: PackageJsonWechaty = {
139
139
  "@chatie/eslint-config": "^1.0.4",
140
140
  "@chatie/semver": "^0.4.7",
141
141
  "@chatie/tsconfig": "^4.6.3",
142
- "@juzi/wechaty-puppet": "^1.0.68",
142
+ "@juzi/wechaty-puppet": "^1.0.69",
143
143
  "@juzi/wechaty-puppet-mock": "^1.0.1",
144
144
  "@swc/core": "1.3.44",
145
145
  "@swc/helpers": "^0.3.6",
@@ -8,76 +8,129 @@ import { validationMixin } from '../user-mixins/validation.js'
8
8
  import {
9
9
  wechatifyMixinBase,
10
10
  } from '../user-mixins/wechatify.js'
11
+ import { FileBox } from 'file-box'
11
12
  import type { FileBoxInterface } from 'file-box'
12
- import type { ChannelInterface } from './channel.js'
13
- import type { ContactInterface } from './contact.js'
14
13
  import type { LocationInterface } from './location.js'
15
14
  import type { MiniProgramInterface } from './mini-program.js'
16
15
  import type { UrlLinkInterface } from './url-link.js'
17
- import { timestampToDate } from '../pure-functions/timestamp-to-date.js'
18
16
 
19
- type ChatHistoryMessageType = string | ContactInterface | LocationInterface | MiniProgramInterface | UrlLinkInterface | ChannelInterface | ChatHistoryInterface | FileBoxInterface
17
+ type ChatHistoryMessageType = string | LocationInterface | MiniProgramInterface | UrlLinkInterface | ChatHistoryInterface | FileBoxInterface
20
18
 
21
19
  class ChatHistoryMixin extends wechatifyMixinBase() {
22
20
 
21
+ static async create (): Promise<ChatHistoryInterface> {
22
+ log.verbose('ChatHistory', 'create()')
23
+
24
+ const payload: PUPPET.payloads.ChatHistory[] = [
25
+ {
26
+ type: PUPPET.types.Message.Text,
27
+ avatar: FileBox.fromUrl(''),
28
+ senderName: 'senderName',
29
+ corpName: 'corpName',
30
+ time: 1699889645,
31
+ message: 'text',
32
+ },
33
+ ]
34
+
35
+ return new this(payload)
36
+ }
37
+
23
38
  /*
24
39
  * @hideconstructor
25
40
  */
26
41
  constructor (
27
- public readonly payload: PUPPET.payloads.ChatHistory,
42
+ public readonly payload: PUPPET.payloads.ChatHistory[],
28
43
  ) {
29
44
  super()
30
45
  log.verbose('ChatHistory', 'constructor()')
31
46
  }
32
47
 
33
- avatar (): FileBoxInterface {
34
- return this.payload.avatar
35
- }
48
+ // avatar (): FileBoxInterface {
49
+ // return this.payload.avatar
50
+ // }
36
51
 
37
- name (): undefined | string {
38
- const senderName = this.payload.senderName
39
- const corpName = this.payload.corpName
40
- if (corpName) {
41
- return `${senderName}@${corpName}`
42
- }
43
- return senderName
44
- }
52
+ // name (): undefined | string {
53
+ // const senderName = this.payload.senderName
54
+ // const corpName = this.payload.corpName
55
+ // if (corpName) {
56
+ // return `${senderName}@${corpName}`
57
+ // }
58
+ // return senderName
59
+ // }
45
60
 
46
- date (): Date {
47
- const time = this.payload.time
48
- return timestampToDate(Number(time)) // FIXME: change the type from string to number
49
- }
61
+ // date (): Date {
62
+ // const time = this.payload.time
63
+ // return timestampToDate(Number(time)) // FIXME: change the type from string to number
64
+ // }
50
65
 
51
- async message (): Promise<ChatHistoryMessageType> {
52
- const type = this.type()
53
- const message = this.payload.message
54
- switch (type) {
55
- case PUPPET.types.Message.Text:
56
- case PUPPET.types.Message.Contact:
57
- return message as string
58
- case PUPPET.types.Message.Attachment:
59
- case PUPPET.types.Message.Audio:
60
- case PUPPET.types.Message.Emoticon:
61
- case PUPPET.types.Message.Image:
62
- case PUPPET.types.Message.Video:
63
- return message as FileBoxInterface
64
- case PUPPET.types.Message.Url:
65
- return new this.wechaty.UrlLink(message)
66
- case PUPPET.types.Message.Location:
67
- return new this.wechaty.Location(message)
68
- case PUPPET.types.Message.MiniProgram:
69
- return new this.wechaty.MiniProgram(message)
70
- case PUPPET.types.Message.Channel:
71
- return new this.wechaty.Channel(message)
72
- case PUPPET.types.Message.ChatHistory:
73
- return new this.wechaty.ChatHistory(message)
74
- default:
75
- throw new Error(`Unsupported message type of chat history: ${PUPPET.types.Message[type]}`)
76
- }
77
- }
66
+ // async message (): Promise<ChatHistoryMessageType> {
67
+ // const type = this.type()
68
+ // const message = this.payload.message
69
+ // switch (type) {
70
+ // case PUPPET.types.Message.Text:
71
+ // case PUPPET.types.Message.Contact:
72
+ // return message as string
73
+ // case PUPPET.types.Message.Attachment:
74
+ // case PUPPET.types.Message.Audio:
75
+ // case PUPPET.types.Message.Emoticon:
76
+ // case PUPPET.types.Message.Image:
77
+ // case PUPPET.types.Message.Video:
78
+ // return message as FileBoxInterface
79
+ // case PUPPET.types.Message.Url:
80
+ // return new this.wechaty.UrlLink(message)
81
+ // case PUPPET.types.Message.Location:
82
+ // return new this.wechaty.Location(message)
83
+ // case PUPPET.types.Message.MiniProgram:
84
+ // return new this.wechaty.MiniProgram(message)
85
+ // case PUPPET.types.Message.Channel:
86
+ // return new this.wechaty.Channel(message)
87
+ // case PUPPET.types.Message.ChatHistory:
88
+ // return new this.wechaty.ChatHistory(message)
89
+ // default:
90
+ // throw new Error(`Unsupported message type of chat history: ${PUPPET.types.Message[type]}`)
91
+ // }
92
+ // }
93
+
94
+ // type (): PUPPET.types.Message {
95
+ // return this.payload.type
96
+ // }
78
97
 
79
- type (): PUPPET.types.Message {
80
- return this.payload.type
98
+ messageList () {
99
+ const payloadList = this.payload
100
+ const responseList: ChatHistoryMessageType[] = []
101
+ for (const payload of payloadList) {
102
+ const type = payload.type
103
+ switch (type) {
104
+ case PUPPET.types.Message.Text:
105
+ case PUPPET.types.Message.Contact:
106
+ case PUPPET.types.Message.Audio:
107
+ case PUPPET.types.Message.GroupNote:
108
+ case PUPPET.types.Message.Emoticon:
109
+ case PUPPET.types.Message.Channel:
110
+ responseList.push(payload.message as string)
111
+ break
112
+ case PUPPET.types.Message.Attachment:
113
+ case PUPPET.types.Message.Image:
114
+ case PUPPET.types.Message.Video:
115
+ responseList.push(payload.message)
116
+ break
117
+ case PUPPET.types.Message.Url:
118
+ responseList.push(new this.wechaty.UrlLink(payload))
119
+ break
120
+ case PUPPET.types.Message.Location:
121
+ responseList.push(new this.wechaty.Location(payload))
122
+ break
123
+ case PUPPET.types.Message.MiniProgram:
124
+ responseList.push(new this.wechaty.MiniProgram(payload))
125
+ break
126
+ case PUPPET.types.Message.ChatHistory:
127
+ responseList.push(new this.wechaty.ChatHistory(payload))
128
+ break
129
+ default:
130
+ throw new Error(`Unsupported message type of chat history: ${PUPPET.types.Message[type]}`)
131
+ }
132
+ }
133
+ return responseList
81
134
  }
82
135
 
83
136
  }