跳到主要内容

Class: Listener<Adapters>

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:44

监听器基类,用于处理消息监听或发送消息等功能

Example

import { plugin } from '@/plugin'
import { useRes } from 'ov0'

export default plugin.defineListener({
name: 'Hello',
adapters: ['onebot11']
}, ctx => {

const { useEventHooks } = ctx.createHooks({
useRes
})

ctx.on('message', {
name: '/test',
description: '发送 /test 触发',
regExp: '/test'
}, useEventHooks((e, ehooks) => {

console.log(e.__adapterName);
const res = ehooks.useRes();
res.text('888').send();

}))
})

Type Parameters

Adapters

Adapters extends IAdapterExport

Implements

Constructors

Constructor

new Listener<Adapters>(config): Listener<Adapters>

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:59

Parameters

config

IListenerConfig<Adapters>

Returns

Listener<Adapters>

Properties

adapters

adapters: Adapters["name"][]

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:46

适配器名称,接收指定适配器发布的事件并动态提供事件类型补全

Implementation of

IListener.adapters


blackList

blackList: undefined | string[] = undefined

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:49

功能黑名单

Implementation of

IListener.blackList


description

description: undefined | string

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:47

监听器描述

Implementation of

IListener.description


events

events: IListenerEvents<Adapters>

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:53

事件

Implementation of

IListener.events


listenerID

listenerID: undefined | string

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:52

监听器标识符,创建Listener实例时自动获取,无需填写

Implementation of

IListener.listenerID


name

name: string

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:45

监听器名称

Implementation of

IListener.name


permissions

permissions: undefined | ("owner" | "all" | "master" | "admin" | "member")[]

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:48

功能权限

Implementation of

IListener.permissions


pluginID

pluginID: string = ''

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:51

插件标识符

Implementation of

IListener.pluginID


state

state: object

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:54

监听器状态

disabled

disabled: boolean

该插件全部功能是否已被禁用

Implementation of

IListener.state


whiteList

whiteList: undefined | string[] = undefined

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:50

功能白名单

Implementation of

IListener.whiteList

Methods

createHooks()

createHooks<EventName, EventParams, H>(hooks): object

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:188

创建绑定该监听器组件的钩子集合

Type Parameters

EventName

EventName extends string | number | symbol

EventParams

EventParams extends TListenerEventParams<Adapters, EventName>

H

H extends Record<string, (__namedParameters) => (...args) => any>

Parameters

hooks

H

多个钩子函数集合

Returns

object

hooks

hooks: { [K in string | number | symbol]: (args: Parameters<ReturnType<H[K]>>) => ReturnType<ReturnType<H[K]>> } = hooksWithContext

useEventHooks()

useEventHooks: <Event>(callback) => (event) => void

Type Parameters
Event

Event extends TListenerEventParams<Adapters, EventName>

Parameters
callback

(event, hooks) => void

Returns

(event): void

Parameters
event

Event

Returns

void


emitToSystem()

emitToSystem(eventName, event): void

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:163

向ov0系统发布消息

Parameters

eventName

string

event

Returns

void


mount()

mount(pluginID): void

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:175

挂载插件(放到所有Listener.on的后面)

Parameters

pluginID

string

插件名(确保和github仓库名一致)

Returns

void


on()

订阅事件 Subscribe to events

Param

事件类型,由适配器提供

Param

监听器回调函数或可选参数,当为可选参数时,第三参数必须是监听回调函数

Param

监听器回调函数,第二参数为可选参数时执行

Call Signature

on<EventName>(eventName, arg2, arg3): void

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:97

订阅事件 Subscribe to events

Type Parameters
EventName

EventName extends string | number | symbol

Parameters
eventName

EventName

事件类型

arg2

IListenerOnOptions

监听器回调函数或可选参数,当为可选参数时,第三参数必须是监听回调函数

arg3

(e) => any

监听器回调函数,第二参数为可选参数时执行

Returns

void

Param

事件类型,由适配器提供

Param

监听器回调函数或可选参数,当为可选参数时,第三参数必须是监听回调函数

Param

监听器回调函数,第二参数为可选参数时执行

Call Signature

on<EventName>(eventName, arg2): void

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:109

订阅事件 Subscribe to events

Type Parameters
EventName

EventName extends string | number | symbol

Parameters
eventName

EventName

事件类型

arg2

(e) => any

监听器回调函数

Returns

void

Param

事件类型,由适配器提供

Param

监听器回调函数或可选参数,当为可选参数时,第三参数必须是监听回调函数

Param

监听器回调函数,第二参数为可选参数时执行


setOwnProperty()

setOwnProperty<K>(key, value): void

Defined in: packages/ov0/src/core/plugin/components/Listener.ts:74

安全覆写类属性

Type Parameters

K

K extends keyof Listener<Adapters>

Parameters

key

K

value

Listener<Adapters>[K]

Returns

void