miao-plugin/adapter/index.js

56 lines
1.2 KiB
JavaScript
Raw Normal View History

2022-07-23 20:32:10 +00:00
import plugin from '../../../lib/plugins/plugin.js'
import * as Miao from '../apps/index.js'
import { render } from './render.js'
import { checkAuth, getMysApi } from './mys.js'
export class miao extends plugin {
constructor () {
let rule = {
reg: '.+',
fnc: 'dispatch'
}
2022-07-23 20:32:10 +00:00
super({
name: 'miao-plugin',
desc: '喵喵插件',
event: 'message',
priority: 50,
rule: [rule]
})
Object.defineProperty(rule, 'log', {
get: () => !!this.isDispatch
2022-07-23 20:32:10 +00:00
})
}
accept () {
2022-07-31 04:06:38 +00:00
this.e.original_msg = this.e.original_msg || this.e.msg
}
2022-07-23 20:32:10 +00:00
async dispatch (e) {
2022-07-31 04:06:38 +00:00
let msg = e.original_msg || ''
if (!msg) {
return false
2022-07-31 04:06:38 +00:00
}
2022-07-23 20:32:10 +00:00
e.checkAuth = async function (cfg) {
return await checkAuth(e, cfg)
}
e.getMysApi = async function (cfg) {
return await getMysApi(e, cfg)
}
msg = msg.replace('#', '').trim()
msg = '#' + msg
2022-07-23 20:32:10 +00:00
for (let fn in Miao.rule) {
let cfg = Miao.rule[fn]
if (Miao[fn] && new RegExp(cfg.reg).test(msg)) {
let ret = await Miao[fn](e, {
render
})
if (ret === true) {
this.isDispatch = true
2022-07-23 20:32:10 +00:00
return true
}
}
}
return false
}
}