Documentation
¶
Overview ¶
Package ctxext zb context 扩展
Index ¶
- Variables
- func FakeSenderForwardNode(ctx *zero.Ctx, msgs ...message.Segment) message.Segment
- func LimitByGroup(ctx *zero.Ctx) *rate.Limiter
- func LimitByUser(ctx *zero.Ctx) *rate.Limiter
- func NewDefaultSingle(failtext string) *single.Single[int64]
- func NewGroupSingle(failtext string) *single.Single[int64]
- func NewStorageSaveBitmapHandler(bmp int64, minv, maxv int64) func(ctx *zero.Ctx)
- func NewStorageSaveBoolHandler(bmp int64) func(ctx *zero.Ctx)
- func SetDefaultLimiterManagerParam(interval time.Duration, burst int)
- type LimiterManager
- type NoCtxGetMsg
- type NoCtxSendMsg
- type Storage
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultSingle = NewDefaultSingle("您有操作正在执行, 请稍后再试!")
DefaultSingle 默认反并发处理, 不匹配后续插件
按 qq 号反并发 并发时返回 "您有操作正在执行, 请稍后再试!"
View Source
var ( // ErrManagerNotFound unexpected ErrManagerNotFound = errors.New("manager not found") )
View Source
var GroupSingle = NewGroupSingle("您有操作正在执行, 请稍后再试!")
GroupSingle 按群反并发, 私聊时按个人, 不匹配后续插件
并发时返回 "您有操作正在执行, 请稍后再试!"
Functions ¶
func FakeSenderForwardNode ¶
FakeSenderForwardNode ...
func NewDefaultSingle ¶
NewDefaultSingle 自定义失败文案
func NewGroupSingle ¶
NewGroupSingle 自定义失败文案
func NewStorageSaveBitmapHandler ¶
NewStorageSaveBitmapHandler is a easy handler that cooperate with OnPrefix and extract int64 from args, save it to storage.
func NewStorageSaveBoolHandler ¶
NewStorageSaveBoolHandler is a easy handler that cooperate with OnRegex and extract bool from args, save it to storage.
Note:
- The first submatch must be (不)?
- If 不 is matched, true (1) will be set.
- Otherwise, false (0) will be set.
func SetDefaultLimiterManagerParam ¶
SetDefaultLimiterManagerParam 设置默认限速器参数
每 interval 时间 burst 次触发
Types ¶
type LimiterManager ¶
type LimiterManager struct {
// contains filtered or unexported fields
}
LimiterManager 自定义限速器管理
func NewLimiterManager ¶
func NewLimiterManager(interval time.Duration, burst int) (m LimiterManager)
NewLimiterManager 新限速器管理
func (LimiterManager) LimitByGroup ¶
func (m LimiterManager) LimitByGroup(ctx *zero.Ctx) *rate.Limiter
LimitByGroup 自定义限速器
按群号限制
func (LimiterManager) LimitByUser ¶
func (m LimiterManager) LimitByUser(ctx *zero.Ctx) *rate.Limiter
LimitByUser 自定义限速器
按 qq 号限制
type NoCtxGetMsg ¶
func GetFirstMessageInForward ¶
func GetFirstMessageInForward(ctx *zero.Ctx) NoCtxGetMsg
GetFirstMessageInForward ...
type NoCtxSendMsg ¶
func SendFakeForwardToGroup ¶
func SendFakeForwardToGroup(ctx *zero.Ctx, msgs ...message.Segment) NoCtxSendMsg
SendFakeForwardToGroup ...
Click to show internal directories.
Click to hide internal directories.