mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2025-12-18 20:50:12 +08:00
feat: add plugin 抽扑克! (#903)
This commit is contained in:
parent
e62c86a740
commit
cda583e7b6
@ -1483,6 +1483,15 @@ print("run[CQ:image,file="+j["img"]+"]")
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>抽扑克</summary>
|
||||
|
||||
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/yujn"`
|
||||
|
||||
- [x] 抽扑克牌
|
||||
|
||||
</details>
|
||||
|
||||
### *低优先级*
|
||||
|
||||
<details>
|
||||
|
||||
1
main.go
1
main.go
@ -115,6 +115,7 @@ import (
|
||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/nsfw" // nsfw图片识别
|
||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/nwife" // 本地老婆
|
||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/omikuji" // 浅草寺求签
|
||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/poker" // 抽扑克
|
||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/qqwife" // 一群一天一夫一妻制群老婆
|
||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/qzone" // qq空间表白墙
|
||||
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/realcugan" // realcugan清晰术
|
||||
|
||||
52
plugin/poker/poker.go
Normal file
52
plugin/poker/poker.go
Normal file
@ -0,0 +1,52 @@
|
||||
package poker
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"math/rand"
|
||||
|
||||
fcext "github.com/FloatTech/floatbox/ctxext"
|
||||
ctrl "github.com/FloatTech/zbpctrl"
|
||||
"github.com/FloatTech/zbputils/control"
|
||||
"github.com/FloatTech/zbputils/ctxext"
|
||||
zero "github.com/wdvxdr1123/ZeroBot"
|
||||
"github.com/wdvxdr1123/ZeroBot/message"
|
||||
)
|
||||
|
||||
// 图片来源 https://www.bilibili.com/opus/834601953403076633
|
||||
|
||||
var cardImgPathList []string
|
||||
|
||||
func init() {
|
||||
engine := control.AutoRegister(&ctrl.Options[*zero.Ctx]{
|
||||
DisableOnDefault: false,
|
||||
Brief: "抽扑克牌",
|
||||
Help: "- 抽扑克\n- poker",
|
||||
PublicDataFolder: "Poker",
|
||||
}).ApplySingle(ctxext.DefaultSingle)
|
||||
|
||||
getImg := fcext.DoOnceOnSuccess(func(ctx *zero.Ctx) bool {
|
||||
data, err := engine.GetLazyData("imgdata.json", true)
|
||||
if err != nil {
|
||||
ctx.SendChain(message.Text("ERROR:", err))
|
||||
return false
|
||||
}
|
||||
err = json.Unmarshal(data, &cardImgPathList)
|
||||
if err != nil {
|
||||
ctx.SendChain(message.Text("ERROR:", err))
|
||||
return false
|
||||
}
|
||||
return true
|
||||
})
|
||||
|
||||
engine.OnFullMatchGroup([]string{"抽扑克", "poker"}, getImg).SetBlock(true).
|
||||
Handle(func(ctx *zero.Ctx) {
|
||||
randomIndex := rand.Intn(len(cardImgPathList))
|
||||
randomImgPath := cardImgPathList[randomIndex]
|
||||
imgData, err := engine.GetLazyData(randomImgPath, true)
|
||||
if err != nil {
|
||||
ctx.Send("[poker]读取扑克图片失败")
|
||||
return
|
||||
}
|
||||
ctx.Send(message.ImageBytes(imgData))
|
||||
})
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user