control

package
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 6, 2022 License: GPL-3.0 Imports: 29 Imported by: 363

Documentation

Overview

Package control 控制插件的启用与优先级等

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Delete

func Delete(service string)

Delete 删除插件控制器, 不会删除数据

func Lookup

func Lookup(service string) (*ctrl.Control[*zero.Ctx], bool)

Lookup 查找服务

Types

type Engine

type Engine interface {
	// Delete 移除该 Engine 注册的所有 Matchers
	Delete()
	// On 添加新的指定消息类型的匹配器
	On(typ string, rules ...zero.Rule) Matcher
	// OnMessage 消息触发器
	OnMessage(rules ...zero.Rule) Matcher
	// OnNotice 系统提示触发器
	OnNotice(rules ...zero.Rule) Matcher
	// OnRequest 请求消息触发器
	OnRequest(rules ...zero.Rule) Matcher
	// OnMetaEvent 元事件触发器
	OnMetaEvent(rules ...zero.Rule) Matcher
	// OnPrefix 前缀触发器
	OnPrefix(prefix string, rules ...zero.Rule) Matcher
	// OnSuffix 后缀触发器
	OnSuffix(suffix string, rules ...zero.Rule) Matcher
	// OnCommand 命令触发器
	OnCommand(commands string, rules ...zero.Rule) Matcher
	// OnRegex 正则触发器
	OnRegex(regexPattern string, rules ...zero.Rule) Matcher
	// OnKeyword 关键词触发器
	OnKeyword(keyword string, rules ...zero.Rule) Matcher
	// OnFullMatch 完全匹配触发器
	OnFullMatch(src string, rules ...zero.Rule) Matcher
	// OnFullMatchGroup 完全匹配触发器组
	OnFullMatchGroup(src []string, rules ...zero.Rule) Matcher
	// OnKeywordGroup 关键词触发器组
	OnKeywordGroup(keywords []string, rules ...zero.Rule) Matcher
	// OnCommandGroup 命令触发器组
	OnCommandGroup(commands []string, rules ...zero.Rule) Matcher
	// OnPrefixGroup 前缀触发器组
	OnPrefixGroup(prefix []string, rules ...zero.Rule) Matcher
	// OnSuffixGroup 后缀触发器组
	OnSuffixGroup(suffix []string, rules ...zero.Rule) Matcher
	// OnShell shell命令触发器
	OnShell(command string, model any, rules ...zero.Rule) Matcher
	// ApplySingle 应用反并发
	ApplySingle(*single.Single[int64]) Engine
	// DataFolder 本插件数据目录, 默认 data/zbp/
	DataFolder() string
	// IsEnabledIn 自己是否在 id (正群负个人零全局) 启用
	IsEnabledIn(id int64) bool
	// 下载并获取本 engine 文件夹下的懒加载数据
	GetLazyData(filename string, isDataMustEqual bool) ([]byte, error)
}

Engine is the pre_handler, post_handler manager

func Register

func Register(service string, o *ctrl.Options[*zero.Ctx]) Engine

Register 注册插件控制器

type Matcher

type Matcher interface {
	// SetBlock 设置是否阻断后面的 Matcher 触发
	SetBlock(block bool) Matcher
	// Handle 直接处理事件
	Handle(handler zero.Handler)
	// Limit 限速器
	//    postfn 当请求被拒绝时的操作
	Limit(limiterfn func(*zero.Ctx) *rate.Limiter, postfn ...func(*zero.Ctx)) Matcher
}

Matcher 是 ZeroBot 匹配和处理事件的最小单元

func On

func On(typ string, rules ...zero.Rule) Matcher

On 添加新的指定消息类型的匹配器(默认Engine)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL