1
0
mirror of https://github.com/fumiama/ReiBot.git synced 2026-06-05 00:50:25 +08:00

feat: add response & slience

This commit is contained in:
源文雨
2022-07-06 13:37:29 +08:00
parent 439591cd6c
commit 53afba01b6
2 changed files with 33 additions and 5 deletions

5
go.sum
View File

@@ -1,10 +1,7 @@
github.com/FloatTech/sqlite v0.3.2 h1:iTg2ZKnzjjZAdlSN3hXmpCBn15odc4Ud484OoM3yXGA=
github.com/FloatTech/sqlite v0.3.2/go.mod h1:VFtLofV5qxw5eBneZRbWwD451SLSm50o9J3J43iB1iw=
github.com/FloatTech/zbpctrl v1.4.1-0.20220610074608-425160596f27 h1:C+D30vpxfgbJetTFXWAHzuU8GydbFb/A8Kv6E3PdRS4=
github.com/FloatTech/zbpctrl v1.4.1-0.20220610074608-425160596f27/go.mod h1:5FDkrlVaQCxUfeqH7XJPTfej0q+y9fzImhvZI4ofu9Y=
github.com/FloatTech/zbpctrl v1.4.1-0.20220705050928-b798cd57bc48 h1:dylJ3GJO5477uYuxqJEmt891dCxmf34zOW5rv5HpaFw=
github.com/FloatTech/zbpctrl v1.4.1-0.20220705050928-b798cd57bc48/go.mod h1:5FDkrlVaQCxUfeqH7XJPTfej0q+y9fzImhvZI4ofu9Y=
github.com/FloatTech/zbputils v1.4.1-0.20220611141322-54404ff5dae4 h1:dZFi+gaLWY6IWy8U93/KU4Zt1dCsJOhcRVOg5lg2IZY=
github.com/FloatTech/zbputils v1.4.1-0.20220611141322-54404ff5dae4/go.mod h1:A9AeVHZsv5chyw8p4fDI0cHnEOfMpmsTLoLWqUT7TO4=
github.com/FloatTech/zbputils v1.4.1-0.20220705054031-c98b2e5448f1 h1:4yDXKIVLR1fGBuQN+jIQnGVb7DXBpm6nyxrbTBVOft4=
github.com/FloatTech/zbputils v1.4.1-0.20220705054031-c98b2e5448f1/go.mod h1:DMLW8ltV9Z31DD37NySjDz+5CPiYRydlesid31VzFiQ=
github.com/RomiChan/syncx v0.0.0-20220404072119-d7ea0ae15a4c h1:cNPOdTNiVwxLpROLjXCgbIPvdkE+BwvxDvgmdYmWx6Q=

33
rule.go
View File

@@ -38,6 +38,37 @@ func init() {
if err != nil {
panic(err)
}
OnMessageCommandGroup([]string{
"响应", "response", "沉默", "silence",
}, UserOrGrpAdmin).SetBlock(true).secondPriority().Handle(func(ctx *Ctx) {
grp := ctx.Message.Chat.ID
if ctx.Message.Chat.IsPrivate() {
// 个人用户
grp = -ctx.Message.From.ID
}
msg := ""
switch ctx.State["command"] {
case "响应", "response":
err := m.Response(grp)
if err == nil {
msg = ctx.Caller.Self.String() + "将开始在此工作啦~"
} else {
msg = "ERROR: " + err.Error()
}
case "沉默", "silence":
err := m.Silence(grp)
if err == nil {
msg = ctx.Caller.Self.String() + "将开始休息啦~"
} else {
msg = "ERROR: " + err.Error()
}
default:
msg = "ERROR: bad command\"" + fmt.Sprint(ctx.State["command"]) + "\""
}
_, _ = ctx.Caller.Send(tgba.NewMessage(ctx.Message.Chat.ID, msg))
})
OnMessageCommandGroup([]string{
"启用", "enable", "禁用", "disable",
}, UserOrGrpAdmin).SetBlock(true).secondPriority().Handle(func(ctx *Ctx) {
@@ -287,7 +318,7 @@ func init() {
m.RLock()
msg := make([]any, 1, len(m.M)*4+1)
m.RUnlock()
msg[0] = "--------服务列表--------\n发送\"/用法 name\"查看详情"
msg[0] = "--------服务列表--------\n发送\"/用法 name\"查看详情\n发送\"/响应\"启用会话"
m.ForEach(func(key string, manager *ctrl.Control[*Ctx]) bool {
i++
msg = append(msg, "\n", i, ": ", manager.EnableMarkIn(gid), key)