control

package module
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2022 License: GPL-3.0 Imports: 11 Imported by: 361

README

zbpctrl

ZeroBot-Plugin 的控制库

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Control

type Control[CTX any] struct {
	// contains filtered or unexported fields
}

Control is to control the plugins.

func (*Control[CTX]) Ban

func (m *Control[CTX]) Ban(uid, gid int64)

Ban 禁止某人在某群使用本插件

func (*Control[CTX]) Disable

func (m *Control[CTX]) Disable(groupID int64)

Disable disables a group to pass the Manager. groupID == 0 (ALL) will operate on all grps.

func (*Control[CTX]) Enable

func (m *Control[CTX]) Enable(groupID int64)

Enable enables a group to pass the Manager. groupID == 0 (ALL) will operate on all grps.

func (*Control[CTX]) EnableMarkIn added in v1.4.0

func (m *Control[CTX]) EnableMarkIn(grp int64) EnableMark

EnableMarkIn 打印 ● 或 ○

func (*Control[CTX]) Flip added in v1.4.0

func (m *Control[CTX]) Flip() error

Flip 改变全局默认启用状态

func (*Control[CTX]) GetData

func (m *Control[CTX]) GetData(gid int64) int64

GetData 获取某个群的 62 位配置信息

func (*Control[CTX]) Handler

func (m *Control[CTX]) Handler(ctx uintptr, gid, uid int64) bool

Handler 返回 预处理器

func (*Control[CTX]) IsBannedIn

func (m *Control[CTX]) IsBannedIn(uid, gid int64) bool

IsBannedIn 某人是否在某群被 ban

func (*Control[CTX]) IsEnabledIn

func (m *Control[CTX]) IsEnabledIn(gid int64) bool

IsEnabledIn 查询开启群 当全局未配置或与默认相同时, 状态取决于单独配置, 后备为默认配置; 当全局与默认不同时, 状态取决于全局配置, 单独配置失效。

func (*Control[CTX]) Permit

func (m *Control[CTX]) Permit(uid, gid int64)

Permit 允许某人在某群使用本插件

func (*Control[CTX]) Reset

func (m *Control[CTX]) Reset(groupID int64)

Reset resets the default config of a group. groupID == 0 (ALL) is not allowed.

func (*Control[CTX]) SetData

func (m *Control[CTX]) SetData(groupID int64, data int64) error

SetData 为某个群设置低 62 位配置数据

func (*Control[CTX]) String added in v1.4.0

func (m *Control[CTX]) String() string

String 打印帮助

type EnableMark added in v1.4.0

type EnableMark bool

EnableMark 启用:●,禁用:○

func (EnableMark) String added in v1.4.0

func (em EnableMark) String() string

String 打印启用状态

type Manager added in v1.4.0

type Manager[CTX any] struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewManager added in v1.4.0

func NewManager[CTX any](dbpath string, banmapttl time.Duration) Manager[CTX]

func (*Manager[CTX]) DoBlock added in v1.4.0

func (manager *Manager[CTX]) DoBlock(uid int64) error

func (*Manager[CTX]) DoUnblock added in v1.4.0

func (manager *Manager[CTX]) DoUnblock(uid int64) error

func (*Manager[CTX]) ForEach added in v1.4.0

func (manager *Manager[CTX]) ForEach(iterator func(key string, manager *Control[CTX]) bool)

ForEach iterates through managers.

func (*Manager[CTX]) InitBlock added in v1.4.0

func (manager *Manager[CTX]) InitBlock() error

func (*Manager[CTX]) IsBlocked added in v1.4.0

func (manager *Manager[CTX]) IsBlocked(uid int64) bool

func (*Manager[CTX]) Lookup added in v1.4.0

func (manager *Manager[CTX]) Lookup(service string) (*Control[CTX], bool)

Lookup returns a Manager by the service name, if not exist, it will return nil.

type Options

type Options[CTX any] struct {
	DisableOnDefault  bool
	Help              string    // 帮助文本信息
	PrivateDataFolder string    // 全部小写的数据文件夹名, 不出现在 zbpdata
	PublicDataFolder  string    // 驼峰的数据文件夹名, 出现在 zbpdata
	OnEnable          func(CTX) // 启用插件后执行的命令, 为空则打印 “已启用服务: xxx”
	OnDisable         func(CTX) // 禁用插件后执行的命令, 为空则打印 “已禁用服务: xxx”
}

Options holds the optional parameters for the Manager.

Jump to

Keyboard shortcuts

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