Files
yenai-plugin/apps/set.js
2022-10-06 12:17:47 +08:00

119 lines
3.9 KiB
JavaScript

import plugin from '../../../lib/plugins/plugin.js'
export class NewConfig extends plugin {
constructor() {
super({
name: '修改配置',
dsc: '配置文件',
event: 'message',
priority: 5000,
rule: [
{
/** 命令正则匹配 */
reg: '^#?(.*)通知(开启|关闭)$',
/** 执行方法 */
fnc: 'Config_manage'
},
{
/** 命令正则匹配 */
reg: '^#?设置删除缓存时间(.*)$',
/** 执行方法 */
fnc: 'Config_deltime'
},
{
/** 命令正则匹配 */
reg: '^#?通知设置$',
/** 执行方法 */
fnc: 'SeeConfig'
},
]
})
}
// 更改配置
async Config_manage(e) {
if (!e.isMaster) return
// 解析消息
let index = e.msg.indexOf('通知')
let option = e.msg.slice(0, index)
option = option.replace(/#/, '').trim()
// 开启还是关闭
let yes = false
if (/开启/.test(e.msg)) yes = true
// 回复
let res = await redis.set(`yenai:notice:${configs[option]}`, yes)
if (res == "OK") {
e.reply(`✅ 已${yes ? '开启' : '关闭'}${option}通知`)
}
}
// 设置删除缓存时间
async Config_deltime(e) {
if (!e.isMaster) return
let time = e.msg.replace(/#|设置删除缓存时间/, '').trim()
time = time.match(/\d*/g)
if (!time) return e.reply('❎ 请输入正确的时间(单位s)')
if (time < 120) return e.reply('❎ 时间不能小于两分钟')
let res = await redis.set(`yenai:notice:deltime`, Number(time))
if (res == "OK") {
e.reply(`✅ 已设置删除缓存时间为${getsecond(time)}`)
}
}
async SeeConfig() {
let config = {}
for (let i in configs) {
let res = await redis.get(`yenai:notice:${configs[i]}`)
config[i] = res
}
let msg = [
`闪照 ${config.flashPhoto ? '✅' : '❎'}\n`,
`禁言 ${config.botBeenBanned ? '✅' : '❎'}\n`,
`群消息 ${config.groupMessage ? '✅' : '❎'}\n`,
`群撤回 ${config.groupRecall ? '✅' : '❎'}\n`,
`群邀请 ${config.groupInviteRequest ? '✅' : '❎'}\n`,
`好友消息 ${config.privateMessage ? '✅' : '❎'}\n`,
`好友撤回 ${config.PrivateRecall ? '✅' : '❎'}\n`,
`好友申请 ${config.friendRequest ? '✅' : '❎'}\n`,
`群成员变动 ${config.groupMemberNumberChange ? '✅' : '❎'}\n`,
`群管理变动 ${config.groupAdminChange ? '✅' : '❎'}\n`,
`群临时消息 ${config.grouptemporaryMessage ? '✅' : '❎'}\n`,
`好友列表变动 ${config.friendNumberChange ? '✅' : '❎'}\n`,
`群聊列表变动 ${config.groupNumberChange ? '✅' : '❎'}\n`,
`全部管理发送 ${config.notificationsAll ? '✅' : '❎'}\n`,
`删除缓存时间:${config.deltime}`
]
await this.e.reply(msg)
}
}
const configs = {
好友消息: "privateMessage",
群消息: "groupMessage",
群临时消息: "grouptemporaryMessage",
群撤回: "groupRecall",
好友撤回: "PrivateRecall",
// 申请通知
好友申请: "friendRequest",
群邀请: "groupInviteRequest",
// 信息变动
群管理变动: "groupAdminChange",
// 列表变动
好友列表变动: "friendNumberChange",
群聊列表变动: "groupNumberChange",
群成员变动: "groupMemberNumberChange",
// 其他通知
闪照: "flashPhoto",
禁言: "botBeenBanned",
全部通知: "notificationsAll",
删除缓存: "deltime"
}