mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2026-02-12 02:00:24 +00:00
⚡️wordle逻辑优化,bilibilipush、translate添加信息 (#179)
* :sparkles:添加查成分功能 * :rotating_light:修lint * :rotating_light:减少空格 * :bug:修改网址 * :bug:修改vup数量错误问题 * :bug:图片读取不了,就不读了 * 🐛 固定头像大小,bilibilipush调公有库 * 🎨 修改json转换 * ✨ bilibilipush添加新类型,同时修改命令正则,wordle添加时间提醒,和单词语义,translate充实信息 * ⚡️使用公用的翻译函数 * 🚨 添加return和stop Co-authored-by: Guohuiyuan <haibaraguo@yeahka.com>
This commit is contained in:
@@ -4,6 +4,7 @@ package wordle
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/FloatTech/AnimeAPI/tl"
|
||||
"image/color"
|
||||
"math/rand"
|
||||
"sort"
|
||||
@@ -62,7 +63,7 @@ func init() {
|
||||
en := control.Register("wordle", &control.Options{
|
||||
DisableOnDefault: false,
|
||||
Help: "猜单词\n" +
|
||||
"- 个人猜单词" +
|
||||
"- 个人猜单词\n" +
|
||||
"- 团队猜单词",
|
||||
PublicDataFolder: "Wordle",
|
||||
}).ApplySingle(single.New(
|
||||
@@ -107,6 +108,11 @@ func init() {
|
||||
Handle(func(ctx *zero.Ctx) {
|
||||
class := classdict[ctx.State["regex_matched"].([]string)[2]]
|
||||
target := words[class].cet4[rand.Intn(len(words[class].cet4))]
|
||||
tt, err := tl.Translate(target)
|
||||
if err != nil {
|
||||
ctx.SendChain(message.Text("ERROR:", err))
|
||||
return
|
||||
}
|
||||
game := newWordleGame(target)
|
||||
_, img, cl, _ := game("")
|
||||
ctx.Send(
|
||||
@@ -125,35 +131,44 @@ func init() {
|
||||
zero.OnlyGroup, zero.CheckGroup(ctx.Event.GroupID))
|
||||
}
|
||||
var win bool
|
||||
var err error
|
||||
recv, cancel := next.Repeat()
|
||||
defer cancel()
|
||||
tick := time.NewTimer(105 * time.Second)
|
||||
after := time.NewTimer(120 * time.Second)
|
||||
for {
|
||||
select {
|
||||
case <-time.After(time.Second * 120):
|
||||
case <-tick.C:
|
||||
ctx.SendChain(message.Text("猜单词,你还有15s作答时间"))
|
||||
case <-after.C:
|
||||
ctx.Send(
|
||||
message.ReplyWithMessage(ctx.Event.MessageID,
|
||||
message.Text("猜单词超时,游戏结束...答案是: ", target),
|
||||
message.Text("猜单词超时,游戏结束...答案是: ", target, "(", tt, ")"),
|
||||
),
|
||||
)
|
||||
return
|
||||
case c := <-recv:
|
||||
tick.Reset(105 * time.Second)
|
||||
after.Reset(120 * time.Second)
|
||||
win, img, cl, err = game(c.Event.Message.String())
|
||||
switch {
|
||||
case win:
|
||||
tick.Stop()
|
||||
after.Stop()
|
||||
ctx.Send(
|
||||
message.ReplyWithMessage(c.Event.MessageID,
|
||||
message.ImageBytes(img),
|
||||
message.Text("太棒了,你猜出来了!"),
|
||||
message.Text("太棒了,你猜出来了!答案是: ", target, "(", tt, ")"),
|
||||
),
|
||||
)
|
||||
cl()
|
||||
return
|
||||
case err == errTimesRunOut:
|
||||
tick.Stop()
|
||||
after.Stop()
|
||||
ctx.Send(
|
||||
message.ReplyWithMessage(c.Event.MessageID,
|
||||
message.ImageBytes(img),
|
||||
message.Text("游戏结束...答案是: ", target),
|
||||
message.Text("游戏结束...答案是: ", target, "(", tt, ")"),
|
||||
),
|
||||
)
|
||||
cl()
|
||||
|
||||
Reference in New Issue
Block a user