feat: 补充插件类型声明
This commit is contained in:
parent
d76c0c447f
commit
884b21c7ae
|
@ -1,5 +1,6 @@
|
||||||
import { MessageCallBackType } from './types.js'
|
import { MessageCallBackType } from './types.js'
|
||||||
import { plugin } from './index.js'
|
import { plugin } from './index.js'
|
||||||
|
import { EventMap } from 'icqq'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 插件super默认值
|
* 插件super默认值
|
||||||
|
@ -7,7 +8,7 @@ import { plugin } from './index.js'
|
||||||
export const PluginSuperDefine: {
|
export const PluginSuperDefine: {
|
||||||
name?: string
|
name?: string
|
||||||
dsc?: string
|
dsc?: string
|
||||||
event?: string
|
event?: keyof EventMap
|
||||||
priority?: number
|
priority?: number
|
||||||
} = {
|
} = {
|
||||||
name: 'group-app',
|
name: 'group-app',
|
||||||
|
|
|
@ -2,105 +2,98 @@
|
||||||
import { Common } from '../../miao.js'
|
import { Common } from '../../miao.js'
|
||||||
import { EventType } from './types.js'
|
import { EventType } from './types.js'
|
||||||
|
|
||||||
|
import { type EventMap } from 'icqq'
|
||||||
|
|
||||||
const State = {}
|
const State = {}
|
||||||
const SymbolTimeout = Symbol('Timeout')
|
const SymbolTimeout = Symbol('Timeout')
|
||||||
const SymbolResolve = Symbol('Resolve')
|
const SymbolResolve = Symbol('Resolve')
|
||||||
|
|
||||||
export class Plugin {
|
/**
|
||||||
/**
|
*
|
||||||
* @deprecated 已废弃
|
*/
|
||||||
*/
|
type PluginSuperType = {
|
||||||
name = 'your-plugin'
|
|
||||||
/**
|
|
||||||
* @deprecated 已废弃
|
|
||||||
*/
|
|
||||||
dsc = '无'
|
|
||||||
/**
|
|
||||||
* @deprecated 已废弃
|
|
||||||
*/
|
|
||||||
task = null
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
rule: {
|
|
||||||
reg?: RegExp | string
|
|
||||||
fnc: string
|
|
||||||
event?: string
|
|
||||||
log?: boolean
|
|
||||||
permission?: string
|
|
||||||
}[] = []
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
event = 'message'
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
priority = 9999
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
namespace = null
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
handler = null
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
e: EventType
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param name 插件名称
|
* @param name 插件名称
|
||||||
|
* @deprecated 已废弃
|
||||||
|
*/
|
||||||
|
name?: string
|
||||||
|
/**
|
||||||
* @param dsc 插件描述
|
* @param dsc 插件描述
|
||||||
|
* @deprecated 已废弃
|
||||||
|
*/
|
||||||
|
dsc?: string
|
||||||
|
/**
|
||||||
|
* namespace,设置handler时建议设置
|
||||||
|
* @deprecated 已废弃
|
||||||
|
*/
|
||||||
|
namespace?: any
|
||||||
|
/**
|
||||||
* @param handler handler配置
|
* @param handler handler配置
|
||||||
* @param handler.key handler支持的事件key
|
* @param handler.key handler支持的事件key
|
||||||
* @param handler.fn handler的处理func
|
* @param handler.fn handler的处理func
|
||||||
* @param namespace namespace,设置handler时建议设置
|
* @deprecated 已废弃
|
||||||
|
*/
|
||||||
|
handler?: any
|
||||||
|
/**
|
||||||
|
* task
|
||||||
|
* task.name 定时任务名称
|
||||||
|
* task.cron 定时任务cron表达式
|
||||||
|
* task.fnc 定时任务方法名
|
||||||
|
* task.log false时不显示执行日志
|
||||||
|
* @deprecated 已废弃
|
||||||
|
*/
|
||||||
|
task?: any
|
||||||
|
/**
|
||||||
|
* 优先级
|
||||||
|
*/
|
||||||
|
priority?: number
|
||||||
|
/**
|
||||||
|
* 事件
|
||||||
|
*/
|
||||||
|
event?: keyof EventMap
|
||||||
|
/**
|
||||||
|
* rule
|
||||||
|
* rule.reg 命令正则
|
||||||
|
* rule.fnc 命令执行方法
|
||||||
|
* rule.event 执行事件,默认message
|
||||||
|
* rule.log false时不显示执行日志
|
||||||
|
* rule.permission 权限 master,owner,admin,all
|
||||||
|
*/
|
||||||
|
rule?: {
|
||||||
|
reg?: RegExp,
|
||||||
|
fnc?: string,
|
||||||
|
event?: keyof EventMap,
|
||||||
|
log?: boolean
|
||||||
|
permission?: 'master' | 'owner' | 'admin' | 'all'
|
||||||
|
}[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Plugin {
|
||||||
|
name: PluginSuperType['name'] = 'your-plugin'
|
||||||
|
dsc: PluginSuperType['dsc'] = '无'
|
||||||
|
task: PluginSuperType['task'] = null
|
||||||
|
rule: PluginSuperType['rule'] = []
|
||||||
|
event: PluginSuperType['event'] = 'message'
|
||||||
|
priority: PluginSuperType['priority'] = 9999
|
||||||
|
namespace: PluginSuperType['namespace'] = null
|
||||||
|
handler: PluginSuperType['handler'] = null
|
||||||
|
e: EventType
|
||||||
|
|
||||||
|
/**
|
||||||
* @param event 执行事件,默认message
|
* @param event 执行事件,默认message
|
||||||
* @param priority 优先级,数字越小优先级越高
|
* @param priority 优先级,数字越小优先级越高
|
||||||
* @param rule
|
* @param rule 优先级,数字越小优先级越高
|
||||||
* @param rule.reg 命令正则
|
|
||||||
* @param rule.fnc 命令执行方法
|
|
||||||
* @param rule.event 执行事件,默认message
|
|
||||||
* @param rule.log false时不显示执行日志
|
|
||||||
* @param rule.permission 权限 master,owner,admin,all
|
|
||||||
* @param task
|
|
||||||
* @param task.name 定时任务名称
|
|
||||||
* @param task.cron 定时任务cron表达式
|
|
||||||
* @param task.fnc 定时任务方法名
|
|
||||||
* @param task.log false时不显示执行日志
|
|
||||||
*/
|
*/
|
||||||
constructor({
|
constructor({
|
||||||
|
event,
|
||||||
|
priority = 5000,
|
||||||
|
rule,
|
||||||
name,
|
name,
|
||||||
dsc,
|
dsc,
|
||||||
handler,
|
handler,
|
||||||
namespace,
|
namespace,
|
||||||
event,
|
|
||||||
priority = 5000,
|
|
||||||
task,
|
task,
|
||||||
rule
|
}: PluginSuperType) {
|
||||||
}: {
|
|
||||||
/**
|
|
||||||
* @deprecated 已废弃
|
|
||||||
*/
|
|
||||||
name?: typeof this.name
|
|
||||||
/**
|
|
||||||
* @deprecated 已废弃
|
|
||||||
*/
|
|
||||||
dsc?: typeof this.dsc
|
|
||||||
namespace?: typeof this.namespace
|
|
||||||
priority?: typeof this.priority
|
|
||||||
handler?: typeof this.handler
|
|
||||||
event?: typeof this.event
|
|
||||||
/**
|
|
||||||
* @deprecated 已废弃
|
|
||||||
*/
|
|
||||||
task?: typeof this.task
|
|
||||||
rule?: typeof this.rule
|
|
||||||
}) {
|
|
||||||
name && (this.name = name)
|
name && (this.name = name)
|
||||||
dsc && (this.dsc = dsc)
|
dsc && (this.dsc = dsc)
|
||||||
event && (this.event = event)
|
event && (this.event = event)
|
||||||
|
|
Loading…
Reference in New Issue