mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2025-12-19 13:59:39 +08:00
添加coser插件 (#87)
* feat:添加coser * fix:删除测试代码 * fix:莫名其妙的库 * fix:加个限制器 * fix:修改限制器 * fix:改回去 * fix:改回去 * fix:添加标题 * fix:t大写 * fix:异常注释 * feat:添加文档 * feat:合并消息私聊无效 * feat:改个顺序 * Update go.sum Co-authored-by: Guohuiyuan <haibaraguo@yeahka.com> Co-authored-by: 源文雨 <41315874+fumiama@users.noreply.github.com>
This commit is contained in:
parent
810cb284b6
commit
ad33c1ca3c
@ -212,6 +212,8 @@ zerobot -h -t token -u url [-d|w] [-g 监听地址:端口] qq1 qq2 qq3 ...
|
|||||||
- **书评** `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin_book_review"`
|
- **书评** `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin_book_review"`
|
||||||
- [x] 书评[关键字]
|
- [x] 书评[关键字]
|
||||||
- [x] 随机书评
|
- [x] 随机书评
|
||||||
|
- **coser** `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin_coser" `
|
||||||
|
- [x] coser
|
||||||
- **TODO...**
|
- **TODO...**
|
||||||
|
|
||||||
## 使用方法
|
## 使用方法
|
||||||
|
|||||||
@ -310,13 +310,13 @@ func init() {
|
|||||||
ctx.SendChain(message.Text(msg))
|
ctx.SendChain(message.Text(msg))
|
||||||
})
|
})
|
||||||
|
|
||||||
zero.OnCommandGroup([]string{"服务详情", "service_detail"}, userOrGrpAdmin).
|
zero.OnCommandGroup([]string{"服务详情", "service_detail"}, userOrGrpAdmin, zero.OnlyGroup).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
var m message.Message
|
var m message.Message
|
||||||
m = append(m,
|
m = append(m,
|
||||||
message.CustomNode(
|
message.CustomNode(
|
||||||
ctx.Event.Sender.NickName,
|
zero.BotConfig.NickName[0],
|
||||||
ctx.Event.UserID,
|
ctx.Event.SelfID,
|
||||||
"---服务详情---",
|
"---服务详情---",
|
||||||
))
|
))
|
||||||
i := 0
|
i := 0
|
||||||
@ -333,17 +333,19 @@ func init() {
|
|||||||
msg += "\n" + help
|
msg += "\n" + help
|
||||||
m = append(m,
|
m = append(m,
|
||||||
message.CustomNode(
|
message.CustomNode(
|
||||||
ctx.Event.Sender.NickName,
|
zero.BotConfig.NickName[0],
|
||||||
ctx.Event.UserID,
|
ctx.Event.SelfID,
|
||||||
msg,
|
msg,
|
||||||
))
|
))
|
||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
|
|
||||||
ctx.SendGroupForwardMessage(
|
if id := ctx.SendGroupForwardMessage(
|
||||||
ctx.Event.GroupID,
|
ctx.Event.GroupID,
|
||||||
m,
|
m,
|
||||||
)
|
).Get("message_id").Int(); id == 0 {
|
||||||
|
ctx.SendChain(message.Text("ERROR: 可能被风控了"))
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1
go.mod
1
go.mod
@ -24,5 +24,6 @@ require (
|
|||||||
github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816
|
github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816
|
||||||
github.com/tidwall/gjson v1.12.1
|
github.com/tidwall/gjson v1.12.1
|
||||||
github.com/wdvxdr1123/ZeroBot v1.4.1
|
github.com/wdvxdr1123/ZeroBot v1.4.1
|
||||||
|
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
||||||
golang.org/x/image v0.0.0-20211028202545-6944b10bf410
|
golang.org/x/image v0.0.0-20211028202545-6944b10bf410
|
||||||
)
|
)
|
||||||
|
|||||||
1
main.go
1
main.go
@ -32,6 +32,7 @@ import (
|
|||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_ai_false" // 服务器监控
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_ai_false" // 服务器监控
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_book_review" // 哀伤雪刃吧推书记录
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_book_review" // 哀伤雪刃吧推书记录
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_choose" // 选择困难症帮手
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_choose" // 选择困难症帮手
|
||||||
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_coser" // 三次元小姐姐
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_fortune" // 运势
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_fortune" // 运势
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_hs" // 炉石
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_hs" // 炉石
|
||||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_minecraft" // MCSManager
|
_ "github.com/FloatTech/ZeroBot-Plugin/plugin_minecraft" // MCSManager
|
||||||
|
|||||||
66
plugin_coser/coser.go
Normal file
66
plugin_coser/coser.go
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
package plugin_coser
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/tidwall/gjson"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
log "github.com/sirupsen/logrus"
|
||||||
|
zero "github.com/wdvxdr1123/ZeroBot"
|
||||||
|
"github.com/wdvxdr1123/ZeroBot/extension/rate"
|
||||||
|
"github.com/wdvxdr1123/ZeroBot/message"
|
||||||
|
"github.com/wdvxdr1123/ZeroBot/utils/helper"
|
||||||
|
|
||||||
|
"github.com/FloatTech/ZeroBot-Plugin/control"
|
||||||
|
"github.com/FloatTech/ZeroBot-Plugin/utils/web"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
engine = control.Register("coser", &control.Options{
|
||||||
|
DisableOnDefault: false,
|
||||||
|
Help: "三次元小姐姐\n- coser\n",
|
||||||
|
})
|
||||||
|
prio = 20
|
||||||
|
ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36"
|
||||||
|
coserURL = "http://ovooa.com/API/cosplay/api.php"
|
||||||
|
limit = rate.NewManager(time.Minute, 5)
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
engine.OnFullMatch("coser", zero.OnlyGroup).SetBlock(true).SetPriority(prio).
|
||||||
|
Handle(func(ctx *zero.Ctx) {
|
||||||
|
if !limit.Load(ctx.Event.GroupID).Acquire() {
|
||||||
|
ctx.SendChain(message.Text("请稍后重试0x0..."))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
ctx.SendChain(message.Text("少女祈祷中......"))
|
||||||
|
data, err := web.ReqWith(coserURL, "GET", "", ua)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("err为:", err)
|
||||||
|
}
|
||||||
|
var m message.Message
|
||||||
|
text := gjson.Get(helper.BytesToString(data), "data.Title").String()
|
||||||
|
m = append(m,
|
||||||
|
message.CustomNode(
|
||||||
|
zero.BotConfig.NickName[0],
|
||||||
|
ctx.Event.SelfID,
|
||||||
|
text,
|
||||||
|
))
|
||||||
|
gjson.Get(helper.BytesToString(data), "data.data").ForEach(func(_, value gjson.Result) bool {
|
||||||
|
imgcq := `[CQ:image,file=` + value.String() + `]`
|
||||||
|
m = append(m,
|
||||||
|
message.CustomNode(
|
||||||
|
zero.BotConfig.NickName[0],
|
||||||
|
ctx.Event.SelfID,
|
||||||
|
imgcq),
|
||||||
|
)
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
|
||||||
|
if id := ctx.SendGroupForwardMessage(
|
||||||
|
ctx.Event.GroupID,
|
||||||
|
m).Get("message_id").Int(); id == 0 {
|
||||||
|
ctx.SendChain(message.Text("ERROR: 可能被风控了"))
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -85,16 +85,19 @@ func init() {
|
|||||||
sk = append(
|
sk = append(
|
||||||
sk,
|
sk,
|
||||||
message.CustomNode(
|
message.CustomNode(
|
||||||
ctx.Event.Sender.NickName,
|
zero.BotConfig.NickName[0],
|
||||||
ctx.Event.UserID,
|
ctx.Event.SelfID,
|
||||||
imgcq, // 图片
|
imgcq, // 图片
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
ctx.SendGroupForwardMessage(
|
if id := ctx.SendGroupForwardMessage(
|
||||||
ctx.Event.GroupID,
|
ctx.Event.GroupID,
|
||||||
sk,
|
sk,
|
||||||
)
|
).Get("message_id").Int(); id == 0 {
|
||||||
|
ctx.SendChain(message.Text("ERROR: 可能被风控了"))
|
||||||
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
// 卡组
|
// 卡组
|
||||||
engine.OnRegex(`^[\s\S]*?(AAE[a-zA-Z0-9/\+=]{70,})[\s\S]*$`).
|
engine.OnRegex(`^[\s\S]*?(AAE[a-zA-Z0-9/\+=]{70,})[\s\S]*$`).
|
||||||
|
|||||||
@ -42,7 +42,9 @@ func init() {
|
|||||||
defer db.Close()
|
defer db.Close()
|
||||||
defer cancel()
|
defer cancel()
|
||||||
firstStepMessage := db.GetAllFirstCategoryMessage()
|
firstStepMessage := db.GetAllFirstCategoryMessage()
|
||||||
ctx.SendChain(message.Reply(ctx.Event.MessageID), message.Text(firstStepMessage))
|
if id := ctx.SendChain(message.Reply(ctx.Event.MessageID), message.Text(firstStepMessage)); id == 0 {
|
||||||
|
ctx.SendChain(message.Text("ERROR: 可能被风控了"))
|
||||||
|
}
|
||||||
// 步骤0,1,2,依次选择3个类别
|
// 步骤0,1,2,依次选择3个类别
|
||||||
step := 0
|
step := 0
|
||||||
// 错误次数
|
// 错误次数
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user