wechaty-web-panel 1.4.17 → 1.5.1
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.
- package/CHANGELOG.md +6 -0
- package/README.md +3 -8
- package/dist/cjs/src/common/index.js +15 -23
- package/dist/cjs/src/handlers/on-login.js +1 -1
- package/dist/cjs/src/index.js +9 -1
- package/dist/cjs/src/lib/index.d.ts +0 -18
- package/dist/cjs/src/lib/index.js +1 -79
- package/dist/cjs/src/package-json.d.ts +1 -3
- package/dist/cjs/src/package-json.js +6 -8
- package/dist/cjs/src/proxy/aibotk.d.ts +0 -13
- package/dist/cjs/src/proxy/aibotk.js +2 -43
- package/dist/cjs/src/proxy/openAi.js +60 -8
- package/dist/cjs/src/proxy/openAiHook.d.ts +14 -0
- package/dist/cjs/src/proxy/openAiHook.js +132 -0
- package/dist/cjs/src/service/event-dispatch-service.js +7 -37
- package/dist/cjs/src/service/msg-filters.d.ts +0 -15
- package/dist/cjs/src/service/msg-filters.js +1 -64
- package/dist/esm/src/common/index.js +15 -23
- package/dist/esm/src/handlers/on-login.js +1 -1
- package/dist/esm/src/index.js +9 -1
- package/dist/esm/src/lib/index.d.ts +0 -18
- package/dist/esm/src/lib/index.js +0 -78
- package/dist/esm/src/package-json.d.ts +1 -3
- package/dist/esm/src/package-json.js +6 -8
- package/dist/esm/src/proxy/aibotk.d.ts +0 -13
- package/dist/esm/src/proxy/aibotk.js +1 -42
- package/dist/esm/src/proxy/openAi.js +34 -5
- package/dist/esm/src/proxy/openAiHook.d.ts +14 -0
- package/dist/esm/src/proxy/openAiHook.js +100 -0
- package/dist/esm/src/service/event-dispatch-service.js +9 -39
- package/dist/esm/src/service/msg-filters.d.ts +0 -15
- package/dist/esm/src/service/msg-filters.js +0 -63
- package/package.json +7 -9
- package/dist/cjs/src/db/roomAvatarDb.d.ts +0 -8
- package/dist/cjs/src/db/roomAvatarDb.js +0 -33
- package/dist/cjs/src/puppeteer-paint/drawHelp.d.ts +0 -20
- package/dist/cjs/src/puppeteer-paint/drawHelp.js +0 -242
- package/dist/cjs/src/puppeteer-paint/index.d.ts +0 -16
- package/dist/cjs/src/puppeteer-paint/index.js +0 -43
- package/dist/cjs/src/puppeteer-paint/lanuch.d.ts +0 -8
- package/dist/cjs/src/puppeteer-paint/lanuch.js +0 -44
- package/dist/cjs/src/puppeteer-paint/mainConfig.d.ts +0 -11
- package/dist/cjs/src/puppeteer-paint/mainConfig.js +0 -13
- package/dist/esm/src/db/roomAvatarDb.d.ts +0 -8
- package/dist/esm/src/db/roomAvatarDb.js +0 -27
- package/dist/esm/src/puppeteer-paint/drawHelp.d.ts +0 -20
- package/dist/esm/src/puppeteer-paint/drawHelp.js +0 -239
- package/dist/esm/src/puppeteer-paint/index.d.ts +0 -16
- package/dist/esm/src/puppeteer-paint/index.js +0 -38
- package/dist/esm/src/puppeteer-paint/lanuch.d.ts +0 -8
- package/dist/esm/src/puppeteer-paint/lanuch.js +0 -38
- package/dist/esm/src/puppeteer-paint/mainConfig.d.ts +0 -11
- package/dist/esm/src/puppeteer-paint/mainConfig.js +0 -10
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -49,7 +49,7 @@ Wechaty Web Panel 插件,让你的 wechaty 机器人快速接入 web 控制面
|
|
|
49
49
|
- [x] 获取美女图 例: "美女图"
|
|
50
50
|
- [x] 群合影 例: "群合影"
|
|
51
51
|
- [x] 牛年头像 例: "牛气冲天"
|
|
52
|
-
- [x] 国旗头像 例: "我要国旗"
|
|
52
|
+
- [x] 国旗头像 例: "我要国旗"(下线)
|
|
53
53
|
- [ ] 更多待你发现
|
|
54
54
|
- [x] 进群自动欢迎
|
|
55
55
|
- [x] 加好友自动回复
|
|
@@ -62,7 +62,7 @@ Wechaty Web Panel 插件,让你的 wechaty 机器人快速接入 web 控制面
|
|
|
62
62
|
|
|
63
63
|
* 特色功能
|
|
64
64
|
|
|
65
|
-
- [x] 群合影
|
|
65
|
+
- [x] 群合影(下线)
|
|
66
66
|
- [x] 主动发送消息
|
|
67
67
|
- [x] 主动更新配置
|
|
68
68
|
- [x] 主动同步好友和群列表
|
|
@@ -184,9 +184,4 @@ $ node mybot.js
|
|
|
184
184
|
|
|
185
185
|
群消息同步
|
|
186
186
|
|
|
187
|
-
<img src="./doc/img/async.png" width="300">
|
|
188
|
-
|
|
189
|
-
群合影
|
|
190
|
-
|
|
191
|
-
<img src="./doc/img/group.jpeg" width="300">
|
|
192
|
-
|
|
187
|
+
<img src="./doc/img/async.png" width="300">
|
|
@@ -65,37 +65,30 @@ exports.getCountDownContent = getCountDownContent;
|
|
|
65
65
|
async function updateContactInfo(that) {
|
|
66
66
|
try {
|
|
67
67
|
const contactSelf = await (0, userDb_js_1.getUser)();
|
|
68
|
-
const hasWeixin = contactSelf && !!contactSelf.weixin;
|
|
69
68
|
const contactList = await that.Contact.findAll() || [];
|
|
70
69
|
let res = [];
|
|
71
70
|
const notids = ['filehelper', 'fmessage'];
|
|
72
|
-
let realContact =
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
})
|
|
77
|
-
: contactList;
|
|
71
|
+
let realContact = contactList.filter((item) => {
|
|
72
|
+
const payload = item.payload || item._payload;
|
|
73
|
+
return payload.friend && !notids.includes(payload.id) && !payload.id.includes('gh_');
|
|
74
|
+
});
|
|
78
75
|
for (let i of realContact) {
|
|
79
76
|
let contact = i.payload || i._payload;
|
|
80
77
|
let obj = {
|
|
81
|
-
robotId:
|
|
82
|
-
contactId:
|
|
78
|
+
robotId: contactSelf.robotId,
|
|
79
|
+
contactId: contact.id,
|
|
83
80
|
wxid: contact.id,
|
|
84
|
-
name: contact.name,
|
|
85
|
-
alias: contact.alias,
|
|
81
|
+
name: contact.name || '',
|
|
82
|
+
alias: contact.alias || '',
|
|
86
83
|
gender: contact.gender,
|
|
87
|
-
|
|
88
|
-
city: contact.city,
|
|
89
|
-
avatar: hasWeixin ? contact.avatar : '',
|
|
84
|
+
avatar: contact.avatar || '',
|
|
90
85
|
friend: contact.friend,
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
type: hasWeixin ? contact.type : '',
|
|
94
|
-
weixin: hasWeixin ? contact.weixin : '',
|
|
86
|
+
type: contact.type || '',
|
|
87
|
+
weixin: contact.weixin || '',
|
|
95
88
|
};
|
|
96
89
|
res.push(obj);
|
|
97
90
|
}
|
|
98
|
-
await updateFriendInfo(res,
|
|
91
|
+
await updateFriendInfo(res, 80);
|
|
99
92
|
}
|
|
100
93
|
catch (e) {
|
|
101
94
|
console.log('e', e);
|
|
@@ -121,15 +114,14 @@ async function updateFriendInfo(list, num) {
|
|
|
121
114
|
async function updateRoomInfo(that) {
|
|
122
115
|
try {
|
|
123
116
|
const contactSelf = await (0, userDb_js_1.getUser)();
|
|
124
|
-
const hasWeixin = contactSelf && !!contactSelf.weixin;
|
|
125
117
|
const roomList = await that.Room.findAll() || [];
|
|
126
118
|
let res = [];
|
|
127
119
|
for (let i of roomList) {
|
|
128
120
|
let room = i.payload || i._payload;
|
|
129
121
|
let obj = {
|
|
130
|
-
robotId:
|
|
122
|
+
robotId: contactSelf.robotId,
|
|
131
123
|
wxid: room.id,
|
|
132
|
-
roomId:
|
|
124
|
+
roomId: room.id,
|
|
133
125
|
topic: room.topic,
|
|
134
126
|
avatar: room.avatar || '',
|
|
135
127
|
ownerId: room.ownerId || '',
|
|
@@ -138,7 +130,7 @@ async function updateRoomInfo(that) {
|
|
|
138
130
|
};
|
|
139
131
|
res.push(obj);
|
|
140
132
|
}
|
|
141
|
-
await updateRoomsInfo(res,
|
|
133
|
+
await updateRoomsInfo(res, 80);
|
|
142
134
|
}
|
|
143
135
|
catch (e) {
|
|
144
136
|
console.log('e', e);
|
|
@@ -21,7 +21,7 @@ async function onLogin(user) {
|
|
|
21
21
|
const payload = user.payload || user._payload;
|
|
22
22
|
const userInfo = {
|
|
23
23
|
...payload,
|
|
24
|
-
robotId: payload.
|
|
24
|
+
robotId: payload.wxid || user.id,
|
|
25
25
|
};
|
|
26
26
|
await (0, userDb_js_1.addUser)(userInfo); // 全局存储登录用户信息
|
|
27
27
|
let file = '';
|
package/dist/cjs/src/index.js
CHANGED
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.WechatyWebPanelPlugin = void 0;
|
|
7
|
-
require("isomorphic-fetch");
|
|
8
7
|
const aiDb_js_1 = require("./db/aiDb.js");
|
|
9
8
|
const on_scan_js_1 = __importDefault(require("./handlers/on-scan.js"));
|
|
10
9
|
const on_login_js_1 = __importDefault(require("./handlers/on-login.js"));
|
|
@@ -17,6 +16,15 @@ const on_heartbeat_js_1 = __importDefault(require("./handlers/on-heartbeat.js"))
|
|
|
17
16
|
const on_error_js_1 = __importDefault(require("./handlers/on-error.js"));
|
|
18
17
|
const on_roomtopic_js_1 = __importDefault(require("./handlers/on-roomtopic.js"));
|
|
19
18
|
const on_roomleave_js_1 = __importDefault(require("./handlers/on-roomleave.js"));
|
|
19
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
20
|
+
const originalConsoleLog = console.log;
|
|
21
|
+
// 重写 console.log 方法
|
|
22
|
+
console.log = function () {
|
|
23
|
+
// 在原始方法上调用,确保与原始方法相同的行为
|
|
24
|
+
originalConsoleLog.apply(console,
|
|
25
|
+
// 将类数组对象转换为数组,并在其开头添加一个时间戳
|
|
26
|
+
[`${(0, dayjs_1.default)().format('YYYY-MM-DD HH:mm:ss')} -`].concat(Array.from(arguments)).concat('\n'));
|
|
27
|
+
};
|
|
20
28
|
let envKey = '';
|
|
21
29
|
let envSecret = '';
|
|
22
30
|
if (process.env['AIBOTK_KEY']) {
|
|
@@ -19,8 +19,6 @@ declare namespace _default {
|
|
|
19
19
|
export { throttle };
|
|
20
20
|
export { cancelAllSchedule };
|
|
21
21
|
export { groupArray };
|
|
22
|
-
export { getRoomAvatarList };
|
|
23
|
-
export { getRoomAvatar };
|
|
24
22
|
export { getNewsType };
|
|
25
23
|
}
|
|
26
24
|
export default _default;
|
|
@@ -149,22 +147,6 @@ export function cancelAllSchedule(type: any): void;
|
|
|
149
147
|
* @param {*} subGroupLength 每个数组长度
|
|
150
148
|
*/
|
|
151
149
|
export function groupArray(array: any, subGroupLength: any): any[];
|
|
152
|
-
/**
|
|
153
|
-
* 获取群用户列表
|
|
154
|
-
* @param {*}} room
|
|
155
|
-
* @param {*} name
|
|
156
|
-
*/
|
|
157
|
-
export function getRoomAvatarList(room: any, name: any): Promise<({
|
|
158
|
-
img: any;
|
|
159
|
-
name: any;
|
|
160
|
-
} | undefined)[] | undefined>;
|
|
161
|
-
/**
|
|
162
|
-
* 获取群头像列表
|
|
163
|
-
* @param {*} roomObj
|
|
164
|
-
* @param {*} roomName
|
|
165
|
-
* @param {*} name
|
|
166
|
-
*/
|
|
167
|
-
export function getRoomAvatar(roomObj: any, roomName: any, name: any): Promise<any>;
|
|
168
150
|
/**
|
|
169
151
|
* 获取新闻的英文
|
|
170
152
|
* @param {*} msg
|
|
@@ -26,11 +26,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.getNewsType = exports.
|
|
29
|
+
exports.getNewsType = exports.groupArray = exports.cancelAllSchedule = exports.throttle = exports.msgArr = exports.contentDistinguish = exports.getFormatQuery = exports.MD5 = exports.writeFile = exports.randomRange = exports.getConstellation = exports.isRealDate = exports.formatDate = exports.getDay = exports.convertTime = exports.getToday = exports.delay = exports.parseBody = exports.setLocalSchedule = exports.Base64Decode = exports.Base64Encode = void 0;
|
|
30
30
|
const crypto_1 = __importDefault(require("crypto"));
|
|
31
31
|
const schedule = __importStar(require("node-schedule"));
|
|
32
32
|
const fs_1 = __importDefault(require("fs"));
|
|
33
|
-
const roomAvatarDb_js_1 = require("../db/roomAvatarDb.js");
|
|
34
33
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
35
34
|
/**
|
|
36
35
|
* 设置定时器
|
|
@@ -493,81 +492,6 @@ function groupArray(array, subGroupLength) {
|
|
|
493
492
|
return newArray;
|
|
494
493
|
}
|
|
495
494
|
exports.groupArray = groupArray;
|
|
496
|
-
/**
|
|
497
|
-
* 获取群用户列表
|
|
498
|
-
* @param {*}} room
|
|
499
|
-
* @param {*} name
|
|
500
|
-
*/
|
|
501
|
-
async function getRoomAvatarList(room, name) {
|
|
502
|
-
try {
|
|
503
|
-
const members = await room.memberAll();
|
|
504
|
-
let res = [];
|
|
505
|
-
console.log('正在努力获取群成员信息...');
|
|
506
|
-
for (let i of members) {
|
|
507
|
-
let member = i.payload || i._payload;
|
|
508
|
-
try {
|
|
509
|
-
const avatar = await i.avatar();
|
|
510
|
-
if (avatar._mediaType && avatar._name) {
|
|
511
|
-
const base64 = member.weixin ? member.avatar : await avatar.toDataURL();
|
|
512
|
-
let obj = {
|
|
513
|
-
img: base64,
|
|
514
|
-
name: member.name,
|
|
515
|
-
};
|
|
516
|
-
res.push(obj);
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
catch (error) {
|
|
520
|
-
console.log(`获取${member.name}头像失败, 头像文件格式错误,不影响群合影生成`);
|
|
521
|
-
continue;
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
|
-
const say = res.splice(res.findIndex((e) => e.name === name), 1);
|
|
525
|
-
res.unshift(say[0]);
|
|
526
|
-
console.log('获取群成员信息完成...');
|
|
527
|
-
return res;
|
|
528
|
-
}
|
|
529
|
-
catch (e) {
|
|
530
|
-
console.log('获取群成员头像列表失败', e);
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
exports.getRoomAvatarList = getRoomAvatarList;
|
|
534
|
-
/**
|
|
535
|
-
* 设置中心位置
|
|
536
|
-
*/
|
|
537
|
-
function setFirstAvatr(list, name) {
|
|
538
|
-
const temp = list;
|
|
539
|
-
const say = temp.splice(temp.findIndex((e) => e.name === name), 1);
|
|
540
|
-
temp.unshift(say[0]);
|
|
541
|
-
return temp;
|
|
542
|
-
}
|
|
543
|
-
/**
|
|
544
|
-
* 获取群头像列表
|
|
545
|
-
* @param {*} roomObj
|
|
546
|
-
* @param {*} roomName
|
|
547
|
-
* @param {*} name
|
|
548
|
-
*/
|
|
549
|
-
async function getRoomAvatar(roomObj, roomName, name) {
|
|
550
|
-
try {
|
|
551
|
-
let memberList = [];
|
|
552
|
-
const room = await (0, roomAvatarDb_js_1.getRoom)(roomName); // 先获取缓存中是否存在已经获取的头像
|
|
553
|
-
if (room && room.list) {
|
|
554
|
-
memberList = room.list;
|
|
555
|
-
}
|
|
556
|
-
else {
|
|
557
|
-
const list = await getRoomAvatarList(roomObj, name);
|
|
558
|
-
const obj = { name: roomName, list };
|
|
559
|
-
await (0, roomAvatarDb_js_1.addRoom)(obj);
|
|
560
|
-
memberList = list;
|
|
561
|
-
}
|
|
562
|
-
console.log('准备绘制...');
|
|
563
|
-
const list = setFirstAvatr(memberList, name);
|
|
564
|
-
return list;
|
|
565
|
-
}
|
|
566
|
-
catch (e) {
|
|
567
|
-
console.log('getRoomAvatar error', e);
|
|
568
|
-
}
|
|
569
|
-
}
|
|
570
|
-
exports.getRoomAvatar = getRoomAvatar;
|
|
571
495
|
exports.default = {
|
|
572
496
|
Base64Encode,
|
|
573
497
|
Base64Decode,
|
|
@@ -589,8 +513,6 @@ exports.default = {
|
|
|
589
513
|
throttle,
|
|
590
514
|
cancelAllSchedule,
|
|
591
515
|
groupArray,
|
|
592
|
-
getRoomAvatarList,
|
|
593
|
-
getRoomAvatar,
|
|
594
516
|
getNewsType,
|
|
595
517
|
};
|
|
596
518
|
//# sourceMappingURL=index.js.map
|
|
@@ -42,6 +42,7 @@ export namespace packageJson {
|
|
|
42
42
|
"npm-run-all": string;
|
|
43
43
|
prettier: string;
|
|
44
44
|
wechaty: string;
|
|
45
|
+
"wechaty-puppet-padlocal": string;
|
|
45
46
|
};
|
|
46
47
|
const readme: string;
|
|
47
48
|
namespace engines {
|
|
@@ -53,15 +54,12 @@ export namespace packageJson {
|
|
|
53
54
|
chatgpt: string;
|
|
54
55
|
dayjs: string;
|
|
55
56
|
"https-proxy-agent": string;
|
|
56
|
-
"isomorphic-fetch": string;
|
|
57
|
-
ix: string;
|
|
58
57
|
jsonwebtoken: string;
|
|
59
58
|
mqtt: string;
|
|
60
59
|
mustache: string;
|
|
61
60
|
nedb: string;
|
|
62
61
|
"node-fetch": string;
|
|
63
62
|
"node-schedule": string;
|
|
64
|
-
puppeteer: string;
|
|
65
63
|
"qrcode-terminal": string;
|
|
66
64
|
superagent: string;
|
|
67
65
|
};
|
|
@@ -6,7 +6,7 @@ exports.packageJson = void 0;
|
|
|
6
6
|
*/
|
|
7
7
|
exports.packageJson = {
|
|
8
8
|
"name": "wechaty-web-panel",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.5.1",
|
|
10
10
|
"description": "智能微秘书插件",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
@@ -59,27 +59,25 @@ exports.packageJson = {
|
|
|
59
59
|
"eslint-plugin-prettier": "^3.1.4",
|
|
60
60
|
"npm-run-all": "^4.1.5",
|
|
61
61
|
"prettier": "^2.0.5",
|
|
62
|
-
"wechaty": "^1.20.2"
|
|
62
|
+
"wechaty": "^1.20.2",
|
|
63
|
+
"wechaty-puppet-padlocal": "^1.20.1"
|
|
63
64
|
},
|
|
64
65
|
"readme": "README.md",
|
|
65
66
|
"engines": {
|
|
66
|
-
"node": ">=
|
|
67
|
-
"npm": ">=
|
|
67
|
+
"node": ">=18",
|
|
68
|
+
"npm": ">=8"
|
|
68
69
|
},
|
|
69
70
|
"dependencies": {
|
|
70
71
|
"axios": "^0.27.2",
|
|
71
|
-
"chatgpt": "^5.
|
|
72
|
+
"chatgpt": "^5.2.2",
|
|
72
73
|
"dayjs": "^1.11.7",
|
|
73
74
|
"https-proxy-agent": "^5.0.1",
|
|
74
|
-
"isomorphic-fetch": "^3.0.0",
|
|
75
|
-
"ix": "^4.5.2",
|
|
76
75
|
"jsonwebtoken": "^8.5.1",
|
|
77
76
|
"mqtt": "^4.2.6",
|
|
78
77
|
"mustache": "^4.2.0",
|
|
79
78
|
"nedb": "^1.8.0",
|
|
80
79
|
"node-fetch": "^2.6.9",
|
|
81
80
|
"node-schedule": "^1.3.2",
|
|
82
|
-
"puppeteer": "^13.3.2",
|
|
83
81
|
"qrcode-terminal": "^0.12.0",
|
|
84
82
|
"superagent": "^5.2.2"
|
|
85
83
|
},
|
|
@@ -23,9 +23,7 @@ declare namespace _default {
|
|
|
23
23
|
export { sendFriend };
|
|
24
24
|
export { sendRoom };
|
|
25
25
|
export { asyncData };
|
|
26
|
-
export { drawRoomPhoto };
|
|
27
26
|
export { updatePanelVersion };
|
|
28
|
-
export { getRoomPhotoConfig };
|
|
29
27
|
export { getMqttConfig };
|
|
30
28
|
export { getMeiNv };
|
|
31
29
|
export { getOne };
|
|
@@ -102,22 +100,11 @@ export function sendRoom(room: any): Promise<void>;
|
|
|
102
100
|
* type: 1 好友 2 群组
|
|
103
101
|
*/
|
|
104
102
|
export function asyncData(robotId: any, type: any): Promise<void>;
|
|
105
|
-
/**
|
|
106
|
-
* 生成群合影
|
|
107
|
-
* @param {*}} roomName 群名
|
|
108
|
-
* @param {*} list 群成员列表
|
|
109
|
-
* @param {*} contactName 触发用户
|
|
110
|
-
*/
|
|
111
|
-
export function drawRoomPhoto(roomName: any, list: any, contactName: any): Promise<any>;
|
|
112
103
|
/**
|
|
113
104
|
* 更新插件版本信息
|
|
114
105
|
* @param {*} version
|
|
115
106
|
*/
|
|
116
107
|
export function updatePanelVersion(): Promise<any>;
|
|
117
|
-
/**
|
|
118
|
-
* 获取群合影配置
|
|
119
|
-
*/
|
|
120
|
-
export function getRoomPhotoConfig(roomName: any): Promise<any>;
|
|
121
108
|
/**
|
|
122
109
|
* 获取mqtt信息
|
|
123
110
|
* @param {*} version
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getFireNews = exports.getMaterial = exports.getOne = exports.getMeiNv = exports.getMqttConfig = exports.
|
|
3
|
+
exports.getFireNews = exports.getMaterial = exports.getOne = exports.getMeiNv = exports.getMqttConfig = exports.updatePanelVersion = exports.asyncData = exports.sendRoom = exports.sendFriend = exports.putqn = exports.sendRobotInfo = exports.sendError = exports.sendHeartBeat = exports.setQrCode = exports.updateSchedule = exports.setSchedule = exports.getScheduleList = exports.getConfig = exports.getWordCloud = exports.getWordCloudConfig = exports.getWordCloudRoom = void 0;
|
|
4
4
|
const superagent_js_1 = require("./superagent.js");
|
|
5
5
|
const configDb_js_1 = require("../db/configDb.js");
|
|
6
6
|
const package_json_js_1 = require("../package-json.js");
|
|
@@ -155,7 +155,7 @@ async function getConfig() {
|
|
|
155
155
|
let content = await (0, superagent_js_1.aiBotReq)(option);
|
|
156
156
|
const config = JSON.parse(content.data.config);
|
|
157
157
|
const cloudRoom = await getWordCloudRoom();
|
|
158
|
-
let cres = await (0, configDb_js_1.updateConfig)({ puppetType: 'wechaty-puppet-wechat', botScope: 'all', parseMini: false, showQuestion: true, proxyUrl: '', proxyPassUrl: '', countDownTaskSchedule: [], parseMiniRooms: [], preventLength: 1000, ...config, cloudRoom });
|
|
158
|
+
let cres = await (0, configDb_js_1.updateConfig)({ puppetType: 'wechaty-puppet-wechat', botScope: 'all', parseMini: false, showQuestion: true, openaiTimeout: 60, openaiAccessToken: '', openaiDebug: false, openaiModel: 'gpt-3.5-turbo', proxyUrl: '', proxyPassUrl: '', countDownTaskSchedule: [], parseMiniRooms: [], preventLength: 1000, ...config, cloudRoom });
|
|
159
159
|
return cres;
|
|
160
160
|
}
|
|
161
161
|
catch (e) {
|
|
@@ -389,45 +389,6 @@ async function getQiToken() {
|
|
|
389
389
|
console.log('token error', e);
|
|
390
390
|
}
|
|
391
391
|
}
|
|
392
|
-
/**
|
|
393
|
-
* 获取群合影配置
|
|
394
|
-
*/
|
|
395
|
-
async function getRoomPhotoConfig(roomName) {
|
|
396
|
-
try {
|
|
397
|
-
let option = {
|
|
398
|
-
method: 'get',
|
|
399
|
-
url: '/roomPhoto',
|
|
400
|
-
params: { name: roomName },
|
|
401
|
-
};
|
|
402
|
-
let content = await (0, superagent_js_1.aiBotReq)(option);
|
|
403
|
-
return content.data || '';
|
|
404
|
-
}
|
|
405
|
-
catch (e) {
|
|
406
|
-
console.log('群合影生成错误', e);
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
exports.getRoomPhotoConfig = getRoomPhotoConfig;
|
|
410
|
-
/**
|
|
411
|
-
* 生成群合影
|
|
412
|
-
* @param {*}} roomName 群名
|
|
413
|
-
* @param {*} list 群成员列表
|
|
414
|
-
* @param {*} contactName 触发用户
|
|
415
|
-
*/
|
|
416
|
-
async function drawRoomPhoto(roomName, list, contactName) {
|
|
417
|
-
try {
|
|
418
|
-
let option = {
|
|
419
|
-
method: 'POST',
|
|
420
|
-
url: '/roomPhoto',
|
|
421
|
-
params: { name: roomName, user: contactName, list: list },
|
|
422
|
-
};
|
|
423
|
-
let content = await (0, superagent_js_1.aiBotReq)(option);
|
|
424
|
-
return content.data;
|
|
425
|
-
}
|
|
426
|
-
catch (e) {
|
|
427
|
-
console.log('群合影生成错误', e);
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
exports.drawRoomPhoto = drawRoomPhoto;
|
|
431
392
|
/**
|
|
432
393
|
* 上传base64图片到七牛云
|
|
433
394
|
* @param base
|
|
@@ -531,9 +492,7 @@ exports.default = {
|
|
|
531
492
|
sendFriend,
|
|
532
493
|
sendRoom,
|
|
533
494
|
asyncData,
|
|
534
|
-
drawRoomPhoto,
|
|
535
495
|
updatePanelVersion,
|
|
536
|
-
getRoomPhotoConfig,
|
|
537
496
|
getMqttConfig,
|
|
538
497
|
getMeiNv,
|
|
539
498
|
getOne,
|
|
@@ -1,26 +1,66 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
29
|
exports.geGPT3Reply = exports.initGpt = exports.initChatGPT = void 0;
|
|
7
30
|
const configDb_js_1 = require("../db/configDb.js");
|
|
8
|
-
const chatgpt_1 = require("chatgpt");
|
|
9
31
|
const https_proxy_agent_1 = __importDefault(require("https-proxy-agent"));
|
|
10
32
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
11
33
|
let chatGPT = null;
|
|
12
34
|
let chatOption = {};
|
|
13
35
|
async function initChatGPT() {
|
|
36
|
+
const { ChatGPTAPI } = await Promise.resolve().then(() => __importStar(require('chatgpt')));
|
|
14
37
|
const config = await (0, configDb_js_1.allConfig)();
|
|
15
38
|
if (!config.gpttoken) {
|
|
16
39
|
console.log('请到智能微秘书平台配置Openai apikey参数方可使用');
|
|
17
40
|
return [{ type: 1, content: '请到平台配置Openai apikey参数方可使用' }];
|
|
18
41
|
}
|
|
19
42
|
console.log('config.gpttoken', config.gpttoken);
|
|
43
|
+
const baseOptions = {
|
|
44
|
+
apiKey: config.gpttoken,
|
|
45
|
+
completionParams: { model: config.openaiModel },
|
|
46
|
+
debug: config.openaiDebug,
|
|
47
|
+
};
|
|
48
|
+
// increase max token limit if use gpt-4
|
|
49
|
+
if (config.openaiModel.toLowerCase().includes('gpt-4')) {
|
|
50
|
+
// if use 32k model
|
|
51
|
+
if (config.openaiModel.toLowerCase().includes('32k')) {
|
|
52
|
+
baseOptions.maxModelTokens = 32768;
|
|
53
|
+
baseOptions.maxResponseTokens = 8192;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
baseOptions.maxModelTokens = 8192;
|
|
57
|
+
baseOptions.maxResponseTokens = 2048;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
20
60
|
if (config.proxyUrl) {
|
|
21
61
|
console.log(`启用代理请求:${config.proxyUrl}`);
|
|
22
|
-
chatGPT = new
|
|
23
|
-
|
|
62
|
+
chatGPT = new ChatGPTAPI({
|
|
63
|
+
...baseOptions,
|
|
24
64
|
fetch: (url, options = {}) => {
|
|
25
65
|
const defaultOptions = {
|
|
26
66
|
agent: (0, https_proxy_agent_1.default)(config.proxyUrl),
|
|
@@ -35,15 +75,27 @@ async function initChatGPT() {
|
|
|
35
75
|
}
|
|
36
76
|
else if (config.proxyPassUrl) {
|
|
37
77
|
console.log(`启用反向代理请求:${config.proxyPassUrl}`);
|
|
38
|
-
chatGPT = new
|
|
78
|
+
chatGPT = new ChatGPTAPI({
|
|
79
|
+
...baseOptions,
|
|
39
80
|
apiBaseUrl: config.proxyPassUrl,
|
|
40
|
-
|
|
81
|
+
fetch: (url, options = {}) => {
|
|
82
|
+
const mergedOptions = {
|
|
83
|
+
...options,
|
|
84
|
+
};
|
|
85
|
+
return (0, node_fetch_1.default)(url, mergedOptions);
|
|
86
|
+
},
|
|
41
87
|
});
|
|
42
88
|
}
|
|
43
89
|
else {
|
|
44
90
|
console.log('未启用代理请求,可能会失败');
|
|
45
|
-
chatGPT = new
|
|
46
|
-
|
|
91
|
+
chatGPT = new ChatGPTAPI({
|
|
92
|
+
...baseOptions,
|
|
93
|
+
fetch: (url, options = {}) => {
|
|
94
|
+
const mergedOptions = {
|
|
95
|
+
...options,
|
|
96
|
+
};
|
|
97
|
+
return (0, node_fetch_1.default)(url, mergedOptions);
|
|
98
|
+
},
|
|
47
99
|
});
|
|
48
100
|
}
|
|
49
101
|
}
|
|
@@ -67,7 +119,7 @@ async function geGPT3Reply(content, uid) {
|
|
|
67
119
|
console.log('看到此消息说明已启用最新版chat gpt 3.5 turbo模型');
|
|
68
120
|
await initChatGPT();
|
|
69
121
|
}
|
|
70
|
-
const { conversationId, text, id } = await chatGPT.sendMessage(content, chatOption[uid]);
|
|
122
|
+
const { conversationId, text, id } = await chatGPT.sendMessage(content, { ...chatOption[uid], timeoutMs: config.openaiTimeout * 1000 });
|
|
71
123
|
chatOption = {
|
|
72
124
|
[uid]: {
|
|
73
125
|
conversationId,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function initChatGPTHook(): Promise<{
|
|
2
|
+
type: number;
|
|
3
|
+
content: string;
|
|
4
|
+
}[] | undefined>;
|
|
5
|
+
/**
|
|
6
|
+
* 重置apikey
|
|
7
|
+
* @return {Promise<void>}
|
|
8
|
+
*/
|
|
9
|
+
export function initGptHook(): Promise<void>;
|
|
10
|
+
export function geGPTHookReply(content: any, uid: any): Promise<{
|
|
11
|
+
type: number;
|
|
12
|
+
content: any;
|
|
13
|
+
}[]>;
|
|
14
|
+
//# sourceMappingURL=openAiHook.d.ts.map
|