细节优化

This commit is contained in:
🌌 2023-08-14 14:04:35 +08:00
parent 0b2e683850
commit fcd674a781
7 changed files with 30 additions and 78 deletions

View File

@ -1,33 +1,12 @@
const os = require("os");
const { existsSync } = require("fs");
const arch = os.arch();
let skipDownload = false;
let executablePath;
//win32 存在 Edge 优先选择
if (process.platform == "win32") {
if (
existsSync("C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe")
) {
skipDownload = true;
executablePath =
"C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe";
const os = require("os")
const { existsSync } = require("fs")
let skipDownload = false
let executablePath
if (process.platform == "win32" && existsSync("C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe")) {
skipDownload = true
executablePath = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"
} else if (process.platform == "linux" && existsSync("/usr/bin/chromium")) {
skipDownload = true
executablePath = "/usr/bin/chromium"
}
} else if (process.platform == "linux") {
//如果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,
};
module.exports = { skipDownload, executablePath }

View File

@ -169,6 +169,8 @@ class PluginsLoader {
if (!this.checkBlack(e)) return
/** 冷却 */
if (!this.checkLimit(e)) return
/** 处理事件 */
this.dealEvent(e)
/** 处理消息 */
this.dealMsg(e)
/** 处理回复 */
@ -338,6 +340,18 @@ class PluginsLoader {
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 文本消息多行会自动拼接

View File

@ -107,8 +107,6 @@ Bot.adapter.push(new class stdinAdapter {
group_name: this.name,
sendMsg: msg => this.sendMsg(msg),
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),
}
}

View File

@ -32,7 +32,7 @@
"node-xlsx": "^0.23.0",
"oicq": "link:lib/modules/oicq",
"pm2": "^5.3.0",
"puppeteer": "^21.0.1",
"puppeteer": "^21.0.3",
"redis": "^4.6.7",
"sequelize": "^6.32.1",
"sqlite3": "^5.1.6",
@ -40,7 +40,7 @@
"yaml": "^2.3.1"
},
"devDependencies": {
"eslint": "^8.46.0",
"eslint": "^8.47.0",
"eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.28.0",
"eslint-plugin-n": "^16.0.1",

View File

@ -241,9 +241,6 @@ Bot.adapter.push(new class ComWeChatAdapter {
return {
...i,
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),
getInfo: () => this.getFriendInfo(i),
getAvatarUrl: async () => (await this.getFriendInfo(i))["wx.avatar"],
@ -274,9 +271,6 @@ Bot.adapter.push(new class ComWeChatAdapter {
return {
...i,
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),
getInfo: () => this.getGroupInfo(i),
getAvatarUrl: async () => (await this.getGroupInfo(i))["wx.avatar"],
@ -367,13 +361,9 @@ Bot.adapter.push(new class ComWeChatAdapter {
switch (data.message_type) {
case "private":
logger.info(`${logger.blue(`[${data.self_id}]`)} 好友消息:[${data.user_id}] ${data.raw_message}`)
data.friend = data.bot.pickFriend(data.user_id)
break
case "group":
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
default:
logger.warn(`${logger.blue(`[${data.self_id}]`)} 未知消息:${logger.magenta(JSON.stringify(data))}`)

View File

@ -116,10 +116,6 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
return {
...i,
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 {
...i,
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),
}
}
@ -245,16 +237,12 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
if (data.user_type == "direct") {
data.message_type = "private"
logger.info(`${logger.blue(`[${data.self_id}]`)} 好友消息:[${data.user_id}] ${data.raw_message}`)
data.friend = data.bot.pickFriend(data.user_id)
} else {
data.message_type = "group"
data.group_id = `${data.user_type}-${data.group_id}`
if (!data.bot.gl.has(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}`)
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)

View File

@ -630,21 +630,15 @@ Bot.adapter.push(new class gocqhttpAdapter {
switch (data.message_type) {
case "private":
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
case "group":
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
case "guild":
data.message_type = "group"
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)}`)
data.group = data.bot.pickGroup(data.group_id)
data.member = data.group.pickMember(data.user_id)
data.friend = data.member
Object.defineProperty(data, "friend", { get() { return this.member }})
break
default:
logger.warn(`${logger.blue(`[${data.self_id}]`)} 未知消息:${logger.magenta(JSON.stringify(data))}`)
@ -757,16 +751,9 @@ Bot.adapter.push(new class gocqhttpAdapter {
if (notice)
data.sub_type = notice
if (data.user_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) {
if (data.guild_id && data.channel_id) {
data.group_id = `${data.guild_id}-${data.channel_id}`
data.group = data.bot.pickGroup(data.group_id)
data.member = data.group.pickMember(data.user_id)
data.friend = data.member
Object.defineProperty(data, "friend", { get() { return this.member }})
}
if (data.sub_type)
@ -780,14 +767,10 @@ Bot.adapter.push(new class gocqhttpAdapter {
case "friend":
logger.info(`${logger.blue(`[${data.self_id}]`)} 加好友请求:[${data.user_id}] ${data.comment}(${data.flag})`)
data.sub_type = "add"
data.friend = data.bot.pickFriend(data.user_id)
data.approve = approve => data.bot.setFriendAddRequest(data.flag, approve)
break
case "group":
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)
break
default: