细节优化
This commit is contained in:
parent
0b2e683850
commit
fcd674a781
|
@ -1,33 +1,12 @@
|
||||||
const os = require("os");
|
const os = require("os")
|
||||||
const { existsSync } = require("fs");
|
const { existsSync } = require("fs")
|
||||||
const arch = os.arch();
|
let skipDownload = false
|
||||||
let skipDownload = false;
|
let executablePath
|
||||||
let executablePath;
|
if (process.platform == "win32" && existsSync("C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe")) {
|
||||||
//win32 存在 Edge 优先选择
|
skipDownload = true
|
||||||
if (process.platform == "win32") {
|
executablePath = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"
|
||||||
if (
|
} else if (process.platform == "linux" && existsSync("/usr/bin/chromium")) {
|
||||||
existsSync("C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe")
|
skipDownload = true
|
||||||
) {
|
executablePath = "/usr/bin/chromium"
|
||||||
skipDownload = true;
|
|
||||||
executablePath =
|
|
||||||
"C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe";
|
|
||||||
}
|
}
|
||||||
} else if (process.platform == "linux") {
|
module.exports = { skipDownload, executablePath }
|
||||||
//如果arm64架构跳过下载
|
|
||||||
if (arch == "arm64" || arch == "aarch64") {
|
|
||||||
skipDownload = true;
|
|
||||||
}
|
|
||||||
//不管什么架构,如果存在配置则跳过下载,且配置路径
|
|
||||||
if (existsSync("/usr/bin/chromium")) {
|
|
||||||
skipDownload = true;
|
|
||||||
executablePath = "/usr/bin/chromium";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @type {import("puppeteer").Configuration}
|
|
||||||
*/
|
|
||||||
module.exports = {
|
|
||||||
skipDownload,
|
|
||||||
executablePath,
|
|
||||||
};
|
|
|
@ -169,6 +169,8 @@ class PluginsLoader {
|
||||||
if (!this.checkBlack(e)) return
|
if (!this.checkBlack(e)) return
|
||||||
/** 冷却 */
|
/** 冷却 */
|
||||||
if (!this.checkLimit(e)) return
|
if (!this.checkLimit(e)) return
|
||||||
|
/** 处理事件 */
|
||||||
|
this.dealEvent(e)
|
||||||
/** 处理消息 */
|
/** 处理消息 */
|
||||||
this.dealMsg(e)
|
this.dealMsg(e)
|
||||||
/** 处理回复 */
|
/** 处理回复 */
|
||||||
|
@ -338,6 +340,18 @@ class PluginsLoader {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dealEvent(e) {
|
||||||
|
if (!e.friend && e.user_id) e.friend = e.bot.pickFriend(e.user_id)
|
||||||
|
if (!e.group && e.group_id) e.group = e.bot.pickGroup(e.group_id)
|
||||||
|
if (!e.member && e.group && e.user_id) e.member = e.group.pickMember(e.user_id)
|
||||||
|
for (const i of [e.friend, e.group, e.member]) {
|
||||||
|
if (typeof i != "object") continue
|
||||||
|
if (!i.makeForwardMsg) i.makeForwardMsg = Bot.makeForwardMsg
|
||||||
|
if (!i.sendForwardMsg) i.sendForwardMsg = msg => Bot.sendForwardMsg(msg => i.sendMsg(msg), msg)
|
||||||
|
if (!i.getInfo) i.getInfo = () => i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理消息,加入自定义字段
|
* 处理消息,加入自定义字段
|
||||||
* @param e.msg 文本消息,多行会自动拼接
|
* @param e.msg 文本消息,多行会自动拼接
|
||||||
|
|
|
@ -107,8 +107,6 @@ Bot.adapter.push(new class stdinAdapter {
|
||||||
group_name: this.name,
|
group_name: this.name,
|
||||||
sendMsg: msg => this.sendMsg(msg),
|
sendMsg: msg => this.sendMsg(msg),
|
||||||
recallMsg: message_id => this.recallMsg(message_id),
|
recallMsg: message_id => this.recallMsg(message_id),
|
||||||
makeForwardMsg: Bot.makeForwardMsg,
|
|
||||||
sendForwardMsg: msg => Bot.sendForwardMsg(msg => this.sendMsg(msg), msg),
|
|
||||||
sendFile: (file, name) => this.sendFile(file, name),
|
sendFile: (file, name) => this.sendFile(file, name),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
"node-xlsx": "^0.23.0",
|
"node-xlsx": "^0.23.0",
|
||||||
"oicq": "link:lib/modules/oicq",
|
"oicq": "link:lib/modules/oicq",
|
||||||
"pm2": "^5.3.0",
|
"pm2": "^5.3.0",
|
||||||
"puppeteer": "^21.0.1",
|
"puppeteer": "^21.0.3",
|
||||||
"redis": "^4.6.7",
|
"redis": "^4.6.7",
|
||||||
"sequelize": "^6.32.1",
|
"sequelize": "^6.32.1",
|
||||||
"sqlite3": "^5.1.6",
|
"sqlite3": "^5.1.6",
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
"yaml": "^2.3.1"
|
"yaml": "^2.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^8.46.0",
|
"eslint": "^8.47.0",
|
||||||
"eslint-config-standard": "^17.1.0",
|
"eslint-config-standard": "^17.1.0",
|
||||||
"eslint-plugin-import": "^2.28.0",
|
"eslint-plugin-import": "^2.28.0",
|
||||||
"eslint-plugin-n": "^16.0.1",
|
"eslint-plugin-n": "^16.0.1",
|
||||||
|
|
|
@ -241,9 +241,6 @@ Bot.adapter.push(new class ComWeChatAdapter {
|
||||||
return {
|
return {
|
||||||
...i,
|
...i,
|
||||||
sendMsg: msg => this.sendFriendMsg(i, msg),
|
sendMsg: msg => this.sendFriendMsg(i, msg),
|
||||||
recallMsg: () => false,
|
|
||||||
makeForwardMsg: Bot.makeForwardMsg,
|
|
||||||
sendForwardMsg: msg => Bot.sendForwardMsg(msg => this.sendFriendMsg(i, msg), msg),
|
|
||||||
sendFile: (file, name) => this.sendFile(i, msg => this.sendFriendMsg(i, msg), file, name),
|
sendFile: (file, name) => this.sendFile(i, msg => this.sendFriendMsg(i, msg), file, name),
|
||||||
getInfo: () => this.getFriendInfo(i),
|
getInfo: () => this.getFriendInfo(i),
|
||||||
getAvatarUrl: async () => (await this.getFriendInfo(i))["wx.avatar"],
|
getAvatarUrl: async () => (await this.getFriendInfo(i))["wx.avatar"],
|
||||||
|
@ -274,9 +271,6 @@ Bot.adapter.push(new class ComWeChatAdapter {
|
||||||
return {
|
return {
|
||||||
...i,
|
...i,
|
||||||
sendMsg: msg => this.sendGroupMsg(i, msg),
|
sendMsg: msg => this.sendGroupMsg(i, msg),
|
||||||
recallMsg: () => false,
|
|
||||||
makeForwardMsg: Bot.makeForwardMsg,
|
|
||||||
sendForwardMsg: msg => Bot.sendForwardMsg(msg => this.sendGroupMsg(i, msg), msg),
|
|
||||||
sendFile: (file, name) => this.sendFile(i, msg => this.sendGroupMsg(i, msg), file, name),
|
sendFile: (file, name) => this.sendFile(i, msg => this.sendGroupMsg(i, msg), file, name),
|
||||||
getInfo: () => this.getGroupInfo(i),
|
getInfo: () => this.getGroupInfo(i),
|
||||||
getAvatarUrl: async () => (await this.getGroupInfo(i))["wx.avatar"],
|
getAvatarUrl: async () => (await this.getGroupInfo(i))["wx.avatar"],
|
||||||
|
@ -367,13 +361,9 @@ Bot.adapter.push(new class ComWeChatAdapter {
|
||||||
switch (data.message_type) {
|
switch (data.message_type) {
|
||||||
case "private":
|
case "private":
|
||||||
logger.info(`${logger.blue(`[${data.self_id}]`)} 好友消息:[${data.user_id}] ${data.raw_message}`)
|
logger.info(`${logger.blue(`[${data.self_id}]`)} 好友消息:[${data.user_id}] ${data.raw_message}`)
|
||||||
data.friend = data.bot.pickFriend(data.user_id)
|
|
||||||
break
|
break
|
||||||
case "group":
|
case "group":
|
||||||
logger.info(`${logger.blue(`[${data.self_id}]`)} 群消息:[${data.group_id}, ${data.user_id}] ${data.raw_message}`)
|
logger.info(`${logger.blue(`[${data.self_id}]`)} 群消息:[${data.group_id}, ${data.user_id}] ${data.raw_message}`)
|
||||||
data.friend = data.bot.pickFriend(data.user_id)
|
|
||||||
data.group = data.bot.pickGroup(data.group_id)
|
|
||||||
data.member = data.group.pickMember(data.user_id)
|
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
logger.warn(`${logger.blue(`[${data.self_id}]`)} 未知消息:${logger.magenta(JSON.stringify(data))}`)
|
logger.warn(`${logger.blue(`[${data.self_id}]`)} 未知消息:${logger.magenta(JSON.stringify(data))}`)
|
||||||
|
|
|
@ -116,10 +116,6 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
|
||||||
return {
|
return {
|
||||||
...i,
|
...i,
|
||||||
sendMsg: msg => this.sendFriendMsg(i, msg),
|
sendMsg: msg => this.sendFriendMsg(i, msg),
|
||||||
recallMsg: () => false,
|
|
||||||
makeForwardMsg: Bot.makeForwardMsg,
|
|
||||||
sendForwardMsg: msg => Bot.sendForwardMsg(msg => this.sendFriendMsg(i, msg), msg),
|
|
||||||
getInfo: () => i,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,10 +143,6 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
|
||||||
return {
|
return {
|
||||||
...i,
|
...i,
|
||||||
sendMsg: msg => this.sendGroupMsg(i, msg),
|
sendMsg: msg => this.sendGroupMsg(i, msg),
|
||||||
recallMsg: () => false,
|
|
||||||
makeForwardMsg: Bot.makeForwardMsg,
|
|
||||||
sendForwardMsg: msg => Bot.sendForwardMsg(msg => this.sendGroupMsg(i, msg), msg),
|
|
||||||
getInfo: () => i,
|
|
||||||
pickMember: user_id => this.pickMember(id, group_id, user_id),
|
pickMember: user_id => this.pickMember(id, group_id, user_id),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -245,16 +237,12 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
|
||||||
if (data.user_type == "direct") {
|
if (data.user_type == "direct") {
|
||||||
data.message_type = "private"
|
data.message_type = "private"
|
||||||
logger.info(`${logger.blue(`[${data.self_id}]`)} 好友消息:[${data.user_id}] ${data.raw_message}`)
|
logger.info(`${logger.blue(`[${data.self_id}]`)} 好友消息:[${data.user_id}] ${data.raw_message}`)
|
||||||
data.friend = data.bot.pickFriend(data.user_id)
|
|
||||||
} else {
|
} else {
|
||||||
data.message_type = "group"
|
data.message_type = "group"
|
||||||
data.group_id = `${data.user_type}-${data.group_id}`
|
data.group_id = `${data.user_type}-${data.group_id}`
|
||||||
if (!data.bot.gl.has(data.group_id))
|
if (!data.bot.gl.has(data.group_id))
|
||||||
data.bot.gl.set(data.group_id, { group_id: data.group_id })
|
data.bot.gl.set(data.group_id, { group_id: data.group_id })
|
||||||
logger.info(`${logger.blue(`[${data.self_id}]`)} 群消息:[${data.group_id}, ${data.user_id}] ${data.raw_message}`)
|
logger.info(`${logger.blue(`[${data.self_id}]`)} 群消息:[${data.group_id}, ${data.user_id}] ${data.raw_message}`)
|
||||||
data.friend = data.bot.pickFriend(data.user_id)
|
|
||||||
data.group = data.bot.pickGroup(data.group_id)
|
|
||||||
data.member = data.group.pickMember(data.user_id)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Bot.emit(`${data.post_type}.${data.message_type}`, data)
|
Bot.emit(`${data.post_type}.${data.message_type}`, data)
|
||||||
|
|
|
@ -630,21 +630,15 @@ Bot.adapter.push(new class gocqhttpAdapter {
|
||||||
switch (data.message_type) {
|
switch (data.message_type) {
|
||||||
case "private":
|
case "private":
|
||||||
logger.info(`${logger.blue(`[${data.self_id}]`)} 好友消息:[${data.sender.nickname}(${data.user_id})] ${data.raw_message}`)
|
logger.info(`${logger.blue(`[${data.self_id}]`)} 好友消息:[${data.sender.nickname}(${data.user_id})] ${data.raw_message}`)
|
||||||
data.friend = data.bot.pickFriend(data.user_id)
|
|
||||||
break
|
break
|
||||||
case "group":
|
case "group":
|
||||||
logger.info(`${logger.blue(`[${data.self_id}]`)} 群消息:[${data.group_id}, ${data.sender.card||data.sender.nickname}(${data.user_id})] ${data.raw_message}`)
|
logger.info(`${logger.blue(`[${data.self_id}]`)} 群消息:[${data.group_id}, ${data.sender.card||data.sender.nickname}(${data.user_id})] ${data.raw_message}`)
|
||||||
data.friend = data.bot.pickFriend(data.user_id)
|
|
||||||
data.group = data.bot.pickGroup(data.group_id)
|
|
||||||
data.member = data.group.pickMember(data.user_id)
|
|
||||||
break
|
break
|
||||||
case "guild":
|
case "guild":
|
||||||
data.message_type = "group"
|
data.message_type = "group"
|
||||||
data.group_id = `${data.guild_id}-${data.channel_id}`
|
data.group_id = `${data.guild_id}-${data.channel_id}`
|
||||||
logger.info(`${logger.blue(`[${data.self_id}]`)} 频道消息:[${data.group_id}, ${data.sender.nickname}(${data.user_id})] ${JSON.stringify(data.message)}`)
|
logger.info(`${logger.blue(`[${data.self_id}]`)} 频道消息:[${data.group_id}, ${data.sender.nickname}(${data.user_id})] ${JSON.stringify(data.message)}`)
|
||||||
data.group = data.bot.pickGroup(data.group_id)
|
Object.defineProperty(data, "friend", { get() { return this.member }})
|
||||||
data.member = data.group.pickMember(data.user_id)
|
|
||||||
data.friend = data.member
|
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
logger.warn(`${logger.blue(`[${data.self_id}]`)} 未知消息:${logger.magenta(JSON.stringify(data))}`)
|
logger.warn(`${logger.blue(`[${data.self_id}]`)} 未知消息:${logger.magenta(JSON.stringify(data))}`)
|
||||||
|
@ -757,16 +751,9 @@ Bot.adapter.push(new class gocqhttpAdapter {
|
||||||
if (notice)
|
if (notice)
|
||||||
data.sub_type = notice
|
data.sub_type = notice
|
||||||
|
|
||||||
if (data.user_id)
|
if (data.guild_id && data.channel_id) {
|
||||||
data.friend = data.bot.pickFriend(data.user_id)
|
|
||||||
if (data.group_id) {
|
|
||||||
data.group = data.bot.pickGroup(data.group_id)
|
|
||||||
data.member = data.group.pickMember(data.user_id)
|
|
||||||
} else if (data.guild_id && data.channel_id) {
|
|
||||||
data.group_id = `${data.guild_id}-${data.channel_id}`
|
data.group_id = `${data.guild_id}-${data.channel_id}`
|
||||||
data.group = data.bot.pickGroup(data.group_id)
|
Object.defineProperty(data, "friend", { get() { return this.member }})
|
||||||
data.member = data.group.pickMember(data.user_id)
|
|
||||||
data.friend = data.member
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.sub_type)
|
if (data.sub_type)
|
||||||
|
@ -780,14 +767,10 @@ Bot.adapter.push(new class gocqhttpAdapter {
|
||||||
case "friend":
|
case "friend":
|
||||||
logger.info(`${logger.blue(`[${data.self_id}]`)} 加好友请求:[${data.user_id}] ${data.comment}(${data.flag})`)
|
logger.info(`${logger.blue(`[${data.self_id}]`)} 加好友请求:[${data.user_id}] ${data.comment}(${data.flag})`)
|
||||||
data.sub_type = "add"
|
data.sub_type = "add"
|
||||||
data.friend = data.bot.pickFriend(data.user_id)
|
|
||||||
data.approve = approve => data.bot.setFriendAddRequest(data.flag, approve)
|
data.approve = approve => data.bot.setFriendAddRequest(data.flag, approve)
|
||||||
break
|
break
|
||||||
case "group":
|
case "group":
|
||||||
logger.info(`${logger.blue(`[${data.self_id}]`)} 加群请求:[${data.group_id}, ${data.user_id}] ${data.sub_type} ${data.comment}(${data.flag})`)
|
logger.info(`${logger.blue(`[${data.self_id}]`)} 加群请求:[${data.group_id}, ${data.user_id}] ${data.sub_type} ${data.comment}(${data.flag})`)
|
||||||
data.friend = data.bot.pickFriend(data.user_id)
|
|
||||||
data.group = data.bot.pickGroup(data.group_id)
|
|
||||||
data.member = data.group.pickMember(data.user_id)
|
|
||||||
data.approve = approve => data.bot.setGroupAddRequest(data.flag, data.sub_type, approve)
|
data.approve = approve => data.bot.setGroupAddRequest(data.flag, data.sub_type, approve)
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue