From 629d3c1fa82d9402de02077cfd92e59ec2e0886d Mon Sep 17 00:00:00 2001 From: Chendihe4975 Date: Sun, 12 Sep 2021 17:52:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=AE=E5=8A=A9=E9=80=89=E6=8B=A9=E5=9B=B0?= =?UTF-8?q?=E9=9A=BE=E7=97=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ main.go | 1 + plugin_choose/choose.go | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 plugin_choose/choose.go diff --git a/README.md b/README.md index 30b701b2..0586a764 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,8 @@ - [x] 来张 [xxx] - **拼音首字母释义工具** `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin_nbnhhsh"` - [x] ?? [缩写] +- **选择困难症帮手** `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin_choose"` + - [x] 选择[选择项1]还是[选项2]还是[更多选项] - **TODO...** ## 使用方法 diff --git a/main.go b/main.go index 73972edf..05e935d6 100644 --- a/main.go +++ b/main.go @@ -22,6 +22,7 @@ import ( _ "github.com/tdf1939/ZeroBot-Plugin-Gif/plugin_gif" // 制图 _ "github.com/FloatTech/ZeroBot-Plugin/plugin_ai_false" // 服务器监控 + _ "github.com/FloatTech/ZeroBot-Plugin/plugin_choose" // 选择困难症帮手 _ "github.com/FloatTech/ZeroBot-Plugin/plugin_hs" // 炉石 _ "github.com/FloatTech/ZeroBot-Plugin/plugin_minecraft" // MCSManager _ "github.com/FloatTech/ZeroBot-Plugin/plugin_music" // 点歌 diff --git a/plugin_choose/choose.go b/plugin_choose/choose.go new file mode 100644 index 00000000..53d65d96 --- /dev/null +++ b/plugin_choose/choose.go @@ -0,0 +1,35 @@ +package choose + +import ( + "math/rand" + "strconv" + "strings" + + "github.com/FloatTech/ZeroBot-Plugin/control" + zero "github.com/wdvxdr1123/ZeroBot" + "github.com/wdvxdr1123/ZeroBot/message" +) + +func init() { + engine := control.Register("choose", &control.Options{ + DisableOnDefault: false, + Help: "choose\n" + + "- 选择可口可乐还是百事可乐\n" + + "- 选择肯德基还是麦当劳还是必胜客\n", + }) + engine.OnPrefix("选择").SetBlock(true).FirstPriority().Handle(handle) +} +func handle(ctx *zero.Ctx) { + rawOptions := strings.Split(ctx.State["args"].(string), "还是") + var options = make([]string, 0) + for count, option := range rawOptions { + options = append(options, strconv.Itoa(count+1)+", "+option) + } + result := rawOptions[rand.Intn(len(rawOptions))] + name := ctx.Event.Sender.NickName + ctx.SendChain(message.Text("> ", name, "\n", + "你的选项有:", "\n", + strings.Join(options, "\n"), "\n", + "你最终会选: ", result, + )) +}