ctxext

package
v1.3.0-beta5 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2022 License: GPL-3.0 Imports: 6 Imported by: 190

Documentation

Overview

Package ctxext zero ctx 扩展

Index

Constants

This section is empty.

Variables

View Source
var DefaultSingle = single.New(
	single.WithKeyFn(func(ctx *zero.Ctx) interface{} {
		return ctx.Event.UserID
	}),
	single.WithPostFn(func(ctx *zero.Ctx) {
		ctx.Send("您有操作正在执行,请稍后再试!")
	}),
)

DefaultSingle 默认反并发处理

按 qq 号反并发
并发时返回 "您有操作正在执行,请稍后再试!"

Functions

func CardOrNickName

func CardOrNickName(ctx *zero.Ctx, uid int64) (name string)

CardOrNickName 从 uid 获取名字

func FirstValueInList added in v1.3.0

func FirstValueInList(list ListGetter) zero.Rule

FirstValueInList 判断正则匹配的第一个参数是否在列表中

func IsPicExists added in v1.3.0

func IsPicExists(ctx *zero.Ctx) bool

IsPicExists 消息含有图片返回 true

func LimitByGroup added in v1.2.5

func LimitByGroup(ctx *zero.Ctx) *rate.Limiter

LimitByGroup 默认限速器 每 10s 5次触发

按群号限制

func LimitByUser added in v1.2.5

func LimitByUser(ctx *zero.Ctx) *rate.Limiter

LimitByUser 默认限速器 每 10s 5次触发

按 qq 号限制

func MustProvidePicture added in v1.3.0

func MustProvidePicture(ctx *zero.Ctx) bool

MustProvidePicture 消息不存在图片阻塞60秒至有图片,超时返回 false

func NickName

func NickName(ctx *zero.Ctx) (name string)

NickName 从 args 获取名字

func UserOrGrpAdmin added in v1.2.4

func UserOrGrpAdmin(ctx *zero.Ctx) bool

UserOrGrpAdmin 允许用户单独使用或群管使用

Types

type LimiterManager added in v1.2.5

type LimiterManager struct {
	// contains filtered or unexported fields
}

LimiterManager 自定义限速器管理

func NewLimiterManager added in v1.2.5

func NewLimiterManager(interval time.Duration, burst int) (m LimiterManager)

NewLimiterManager 新限速器管理

func (LimiterManager) LimitByGroup added in v1.2.5

func (m LimiterManager) LimitByGroup(ctx *zero.Ctx) *rate.Limiter

LimitByGroup 自定义限速器

按群号限制

func (LimiterManager) LimitByUser added in v1.2.5

func (m LimiterManager) LimitByUser(ctx *zero.Ctx) *rate.Limiter

LimitByUser 自定义限速器

按 qq 号限制

type ListGetter added in v1.3.0

type ListGetter interface {
	List() []string
}

type NoCtxGetMsg added in v1.2.5

type NoCtxGetMsg func(int64) zero.Message

func GetMessage added in v1.2.5

func GetMessage(ctx *zero.Ctx) NoCtxGetMsg

type NoCtxSendMsg added in v1.2.5

type NoCtxSendMsg func(interface{}) int64

func Send added in v1.2.5

func Send(ctx *zero.Ctx) NoCtxSendMsg

func SendTo added in v1.2.5

func SendTo(ctx *zero.Ctx, user int64) NoCtxSendMsg

func SendToSelf added in v1.2.5

func SendToSelf(ctx *zero.Ctx) NoCtxSendMsg

Jump to

Keyboard shortcuts

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