🎨 🔥 统一限速器

This commit is contained in:
fumiama
2022-02-08 14:46:35 +08:00
parent 259b29f6e3
commit a16bcda7da
28 changed files with 92 additions and 222 deletions

View File

@@ -12,16 +12,14 @@ import (
"time"
control "github.com/FloatTech/zbputils/control"
"github.com/FloatTech/zbputils/ctxext"
"github.com/tidwall/gjson"
zero "github.com/wdvxdr1123/ZeroBot"
"github.com/wdvxdr1123/ZeroBot/extension/rate"
"github.com/wdvxdr1123/ZeroBot/message"
"github.com/FloatTech/ZeroBot-Plugin/order"
)
var limit = rate.NewManager(time.Minute*3, 5)
func init() {
control.Register("music", order.PrioMusic, &control.Options{
DisableOnDefault: false,
@@ -30,12 +28,8 @@ func init() {
"- 网易点歌[xxx]\n" +
"- 酷我点歌[xxx]\n" +
"- 酷狗点歌[xxx]",
}).OnRegex(`^(.{0,2})点歌\s?(.{1,25})$`).SetBlock(true).
}).OnRegex(`^(.{0,2})点歌\s?(.{1,25})$`).SetBlock(true).Limit(ctxext.LimitByUser).
Handle(func(ctx *zero.Ctx) {
if !limit.Load(ctx.Event.UserID).Acquire() {
ctx.SendChain(message.Text("请稍后重试0x0..."))
return
}
// switch 平台
switch ctx.State["regex_matched"].([]string)[1] {
case "酷我":