diff --git a/README.md b/README.md index 70238dcb..c91beeac 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ zerobot -h -t token -u url [-d|w] [-g 监听地址:端口] qq1 qq2 qq3 ... - [x] [回复]查重 - **鬼东西** `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin_wtf"` - [x] 鬼东西列表 - - [x] 查询鬼东西xxx(@xxx) + - [x] 查询鬼东西[序号][@xxx] - **AIfalse** `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin_ai_false"` - [x] 查询计算机当前活跃度 [身体检查] - [x] 清理缓存 diff --git a/plugin_wtf/main.go b/plugin_wtf/main.go index 0855895b..248966d8 100644 --- a/plugin_wtf/main.go +++ b/plugin_wtf/main.go @@ -20,26 +20,30 @@ var ( func init() { en := control.Register("wtf", &control.Options{ DisableOnDefault: false, - Help: "鬼东西\n- 鬼东西列表\n- 查询鬼东西xxx(@xxx)", + Help: "鬼东西\n- 鬼东西列表\n- 查询鬼东西[序号][@xxx]", }) en.OnFullMatch("鬼东西列表").SetBlock(true).SetPriority(30). Handle(func(ctx *zero.Ctx) { s := "" - i := 0 - for k := range pathtable { - s += fmt.Sprintf("%02d. %s\n", i, k) + for i, w := range table { + s += fmt.Sprintf("%02d. %s\n", i, w.name) i++ } ctx.SendChain(message.Text(s)) }) - en.OnRegex(`^查询鬼东西(.*)$`).SetBlock(false).SetPriority(30). + en.OnRegex(`^查询鬼东西(\d*)`).SetBlock(false).SetPriority(30). Handle(func(ctx *zero.Ctx) { if !limit.Load(ctx.Event.UserID).Acquire() { ctx.SendChain(message.Text("请稍后重试0x0...")) return } // 调用接口 - w := NewWtf(ctx.State["regex_matched"].([]string)[1]) + i, err := strconv.Atoi(ctx.State["regex_matched"].([]string)[1]) + if err != nil { + ctx.SendChain(message.Text("ERROR: ", err)) + return + } + w := NewWtf(i) if w == nil { ctx.SendChain(message.Text("没有这项内容!")) return @@ -55,6 +59,7 @@ func init() { text, err := w.Predict(name) if err != nil { ctx.SendChain(message.Text("ERROR: ", err)) + return } // TODO: 可注入 ctx.Send(text) diff --git a/plugin_wtf/model.go b/plugin_wtf/model.go index 091969f9..d493178c 100644 --- a/plugin_wtf/model.go +++ b/plugin_wtf/model.go @@ -23,101 +23,100 @@ type Wtf struct { path string } -var pathtable = map[string]string{ - "你的意义是什么?": "mRIFuS", - "【ABO】性別和信息素": "KXyy9", - "测测cp": "ZoGXQd", - "xxx和xxx的關係是?": "L4HfA", - "在JOJO世界,你的替身会是什么?": "lj0a8o", - "稱號產生器": "titlegen", - "成分报告": "2PCeo1", - "測驗你跟你的朋友是攻/受": "LkQXO3", - "测试两人的关系?": "uwjQQt", - "【Fate系列】當你成為了從者 2.0": "LHStH2", - "想不到自己未來要做什麼工作嗎?": "D1agGa", - "(σ゚∀゚)σ名字產生器": "LNxXq7", - "人設生產器": "LBtPu5", - "測驗你在ABO世界的訊息素": "SwmdU", - "爱是什么": "llpBEY", - "測測你和哪位名人相似?": "RHQeXu", - "S/M测试": "Ga47oZ", - "测测你是谁": "aV1AEi", - "取個綽號吧": "LTkyUy", - "什麼都不是": "vyrSCb", - "今天中午吃什麼": "LdS4K6", - "測試你的中二稱號": "LwUmQ6", - "神奇海螺": "Lon1h7", - "ABO測試": "H1Tgd", - "女主角姓名產生器": "MsQBTd", - "您是什么人": "49PwSd", - "如果你成为了干员": "ok5e7n", - "abo人设生成~": "Di8enA", - "✡你的命運✡塔羅占卜🔮": "ohCzID", - "小說大綱生產器": "Lnstjz", - "他会喜欢你吗?": "pezX3a", - "抽签!你明年的今天会干什么": "IF31kS", - "如果你是受,會是哪種受呢?": "Dr6zpF", - "cp文梗": "vEO2KD", - "您是什么人?": "TQ5qyl", - "你成為......的機率": "g0uoBL", - "ABO性別與信息素": "KFPju", - "異國名稱產生器(國家、人名、星球...)": "OBpu4", - "對方到底喜不喜歡你": "JSLoZC", - "【脑叶公司】测一测你在脑叶公司的经历": "uPBhjC", - "当你成为魔法少女": "7ZiGcJ", - "你是yyds吗?": "SpBnCa", - "○○喜歡你嗎?": "S6Uceo", - "测测你的sm属性": "dOtcO5", - "你/妳究竟是攻還是受呢?": "RXALH", - "神秘藏书阁": "tDRyET", - "中午吃什么?": "L0Wsis", - "十年后,你cp的结局是": "VUwnXQ", - "高维宇宙与常数的你": "6Zql97", - "色色的東東": "o2eg74", - "文章標題產生器": "Ky25WO", - "你的成績怎麼樣": "6kZv69", - "智能SM偵測器ヾ(*ΦωΦ)ツ": "9pY6HQ", - "你的使用注意事項": "La4Gir", - "戀愛指數": "Jsgz0", - "测试你今晚拉的屎": "N8dbcL", - "成為情侶的機率ᶫᵒᵛᵉᵧₒᵤ♥": "eDURch", - "他對你...": "CJxHMf", - "你的明日方舟人际关系": "u5z4Mw", - "日本姓氏產生器": "JJ5Ctb", - "當你轉生到了異世界,你將成為...": "FTpwK", - "魔幻世界大穿越2.0": "wUATOq", - "未來男朋友": "F3dSV", - "ABO與信息素": "KFOGA", - "你必將就這樣一事無成啊アホ": "RWw9oX", - "用習慣舉手的方式測試你的戀愛運!<3": "wv5bzA", - "攻受": "RaKmY", - "你和你喜歡的人的微h寵溺段子XD": "LdQqGz", - "我的藝名": "LBaTx", - "你是什麼神?": "LqZORE", - "你的起源是什麼?": "HXWwC", - "測你喜歡什麼": "Sue5g2", - "看看朋友的秘密": "PgKb8r", - "你在動漫裡的名字": "Lz82V7", - "小說男角名字產生器": "LyGDRr", - "測試短文": "S48yA", - "我們兩人在一起的機率......": "LBZbgE", - "創造小故事": "Kjy3AS", - "你的另外一個名字": "LuyYQA", - "與你最匹配的攻君屬性 !?": "I7pxy", - "英文全名生產器(女)": "HcYbq", - "BL文章生產器": "LBZMO", - "輕小說書名產生器": "NFucA", - "長相評分": "2cQSDP", - "日本名字產生器(女孩子)": "JRiKv", - "中二技能名產生器": "Ky1BA", - "抽籤": "XqxfuH", - "你的蘿莉控程度全國排名": "IIWh9k", +var table = [...]*Wtf{ + &Wtf{"你的意义是什么?", "mRIFuS"}, + &Wtf{"【ABO】性別和信息素", "KXyy9"}, + &Wtf{"测测cp", "ZoGXQd"}, + &Wtf{"xxx和xxx的關係是?", "L4HfA"}, + &Wtf{"在JOJO世界,你的替身会是什么?", "lj0a8o"}, + &Wtf{"稱號產生器", "titlegen"}, + &Wtf{"成分报告", "2PCeo1"}, + &Wtf{"測驗你跟你的朋友是攻/受", "LkQXO3"}, + &Wtf{"测试两人的关系?", "uwjQQt"}, + &Wtf{"【Fate系列】當你成為了從者 2.0", "LHStH2"}, + &Wtf{"想不到自己未來要做什麼工作嗎?", "D1agGa"}, + &Wtf{"(σ゚∀゚)σ名字產生器", "LNxXq7"}, + &Wtf{"人設生產器", "LBtPu5"}, + &Wtf{"測驗你在ABO世界的訊息素", "SwmdU"}, + &Wtf{"爱是什么", "llpBEY"}, + &Wtf{"測測你和哪位名人相似?", "RHQeXu"}, + &Wtf{"S/M测试", "Ga47oZ"}, + &Wtf{"测测你是谁", "aV1AEi"}, + &Wtf{"取個綽號吧", "LTkyUy"}, + &Wtf{"什麼都不是", "vyrSCb"}, + &Wtf{"今天中午吃什麼", "LdS4K6"}, + &Wtf{"測試你的中二稱號", "LwUmQ6"}, + &Wtf{"神奇海螺", "Lon1h7"}, + &Wtf{"ABO測試", "H1Tgd"}, + &Wtf{"女主角姓名產生器", "MsQBTd"}, + &Wtf{"您是什么人", "49PwSd"}, + &Wtf{"如果你成为了干员", "ok5e7n"}, + &Wtf{"abo人设生成~", "Di8enA"}, + &Wtf{"✡你的命運✡塔羅占卜🔮", "ohCzID"}, + &Wtf{"小說大綱生產器", "Lnstjz"}, + &Wtf{"他会喜欢你吗?", "pezX3a"}, + &Wtf{"抽签!你明年的今天会干什么", "IF31kS"}, + &Wtf{"如果你是受,會是哪種受呢?", "Dr6zpF"}, + &Wtf{"cp文梗", "vEO2KD"}, + &Wtf{"您是什么人?", "TQ5qyl"}, + &Wtf{"你成為......的機率", "g0uoBL"}, + &Wtf{"ABO性別與信息素", "KFPju"}, + &Wtf{"異國名稱產生器(國家、人名、星球...)", "OBpu4"}, + &Wtf{"對方到底喜不喜歡你", "JSLoZC"}, + &Wtf{"【脑叶公司】测一测你在脑叶公司的经历", "uPBhjC"}, + &Wtf{"当你成为魔法少女", "7ZiGcJ"}, + &Wtf{"你是yyds吗?", "SpBnCa"}, + &Wtf{"○○喜歡你嗎?", "S6Uceo"}, + &Wtf{"测测你的sm属性", "dOtcO5"}, + &Wtf{"你/妳究竟是攻還是受呢?", "RXALH"}, + &Wtf{"神秘藏书阁", "tDRyET"}, + &Wtf{"中午吃什么?", "L0Wsis"}, + &Wtf{"十年后,你cp的结局是", "VUwnXQ"}, + &Wtf{"高维宇宙与常数的你", "6Zql97"}, + &Wtf{"色色的東東", "o2eg74"}, + &Wtf{"文章標題產生器", "Ky25WO"}, + &Wtf{"你的成績怎麼樣", "6kZv69"}, + &Wtf{"智能SM偵測器ヾ(*ΦωΦ)ツ", "9pY6HQ"}, + &Wtf{"你的使用注意事項", "La4Gir"}, + &Wtf{"戀愛指數", "Jsgz0"}, + &Wtf{"测试你今晚拉的屎", "N8dbcL"}, + &Wtf{"成為情侶的機率ᶫᵒᵛᵉᵧₒᵤ♥", "eDURch"}, + &Wtf{"他對你...", "CJxHMf"}, + &Wtf{"你的明日方舟人际关系", "u5z4Mw"}, + &Wtf{"日本姓氏產生器", "JJ5Ctb"}, + &Wtf{"當你轉生到了異世界,你將成為...", "FTpwK"}, + &Wtf{"魔幻世界大穿越2.0", "wUATOq"}, + &Wtf{"未來男朋友", "F3dSV"}, + &Wtf{"ABO與信息素", "KFOGA"}, + &Wtf{"你必將就這樣一事無成啊アホ", "RWw9oX"}, + &Wtf{"用習慣舉手的方式測試你的戀愛運!<3", "wv5bzA"}, + &Wtf{"攻受", "RaKmY"}, + &Wtf{"你和你喜歡的人的微h寵溺段子XD", "LdQqGz"}, + &Wtf{"我的藝名", "LBaTx"}, + &Wtf{"你是什麼神?", "LqZORE"}, + &Wtf{"你的起源是什麼?", "HXWwC"}, + &Wtf{"測你喜歡什麼", "Sue5g2"}, + &Wtf{"看看朋友的秘密", "PgKb8r"}, + &Wtf{"你在動漫裡的名字", "Lz82V7"}, + &Wtf{"小說男角名字產生器", "LyGDRr"}, + &Wtf{"測試短文", "S48yA"}, + &Wtf{"我們兩人在一起的機率......", "LBZbgE"}, + &Wtf{"創造小故事", "Kjy3AS"}, + &Wtf{"你的另外一個名字", "LuyYQA"}, + &Wtf{"與你最匹配的攻君屬性 !?", "I7pxy"}, + &Wtf{"英文全名生產器(女)", "HcYbq"}, + &Wtf{"BL文章生產器", "LBZMO"}, + &Wtf{"輕小說書名產生器", "NFucA"}, + &Wtf{"長相評分", "2cQSDP"}, + &Wtf{"日本名字產生器(女孩子)", "JRiKv"}, + &Wtf{"中二技能名產生器", "Ky1BA"}, + &Wtf{"抽籤", "XqxfuH"}, + &Wtf{"你的蘿莉控程度全國排名", "IIWh9k"}, } -func NewWtf(name string) *Wtf { - path, ok := pathtable[name] - if ok { - return &Wtf{name: name, path: path} +func NewWtf(index int) *Wtf { + if index >= 0 && index < len(table) { + return table[index] } return nil }