mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2025-12-19 13:59:39 +08:00
* Update context.go * Update gif.go * 🎨 改进代码样式 * Update png.go * Update run.go * 🎨 改进代码样式 * 修正素材地址 * Update run.go * 呃,,,没改完整 * 继续修!!! * Update png.go * 🎨 改进代码样式 * Update gif.go * 🎨 改进代码样式 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
145 lines
4.4 KiB
Go
145 lines
4.4 KiB
Go
// Package gif 制图
|
|
package gif
|
|
|
|
import (
|
|
"strconv"
|
|
"strings"
|
|
|
|
ctrl "github.com/FloatTech/zbpctrl"
|
|
"github.com/FloatTech/zbputils/control"
|
|
"github.com/FloatTech/zbputils/ctxext"
|
|
"github.com/FloatTech/zbputils/file"
|
|
zero "github.com/wdvxdr1123/ZeroBot"
|
|
"github.com/wdvxdr1123/ZeroBot/message"
|
|
)
|
|
|
|
var (
|
|
cmd = make([]string, 0)
|
|
datapath string
|
|
cmdMap = map[string]func(cc *context, args ...string) (string, error){
|
|
"炖": dun,
|
|
"2蹭": ceng2,
|
|
"诶嘿": eihei,
|
|
"膜拜": worship,
|
|
"吞": ci,
|
|
"揍": zou,
|
|
"给我变": bian,
|
|
"玩一下": van,
|
|
"不要看": neko,
|
|
"小天使": xiaotianshi,
|
|
"你的": youer,
|
|
"我老婆": nowife,
|
|
"远离": yuanli,
|
|
"抬棺": taiguan,
|
|
"搓": cuo,
|
|
"冲": xqe,
|
|
"摸": mo,
|
|
"拍": pai,
|
|
"丢": diu,
|
|
"吃": chi,
|
|
"敲": qiao,
|
|
"啃": ken,
|
|
"蹭": ceng,
|
|
"爬": pa,
|
|
"撕": si,
|
|
"灰度": grayscale,
|
|
"上翻": flipV,
|
|
"下翻": flipV,
|
|
"左翻": flipH,
|
|
"右翻": flipH,
|
|
"反色": invert,
|
|
"浮雕": convolve3x3,
|
|
"打码": blur,
|
|
"负片": invertAndGrayscale,
|
|
"旋转": rotate,
|
|
"变形": deformation,
|
|
"亲": kiss,
|
|
"结婚申请": marriage,
|
|
"结婚登记": marriage,
|
|
"阿尼亚喜欢": anyasuki,
|
|
"像只": alike,
|
|
"我永远喜欢": alwaysLike,
|
|
"永远喜欢": alwaysLike,
|
|
"像样的亲亲": decentKiss,
|
|
"国旗": chinaFlag,
|
|
"不要靠近": dontTouch,
|
|
"万能表情": universal,
|
|
"空白表情": universal,
|
|
"采访": interview,
|
|
"需要": need,
|
|
"你可能需要": need,
|
|
"这像画吗": paint,
|
|
"小画家": painter,
|
|
"完美": perfect,
|
|
"玩游戏": playGame,
|
|
"出警": police,
|
|
"警察": police1,
|
|
"舔": prpr,
|
|
"舔屏": prpr,
|
|
"prpr": prpr,
|
|
"安全感": safeSense,
|
|
"精神支柱": support,
|
|
"想什么": thinkwhat,
|
|
"墙纸": wallpaper,
|
|
"为什么at我": whyatme,
|
|
"交个朋友": makeFriend,
|
|
"打工人": backToWork,
|
|
"继续干活": backToWork,
|
|
"兑换券": coupon,
|
|
"注意力涣散": distracted,
|
|
"垃圾桶": garbage,
|
|
"垃圾": garbage,
|
|
"捶": thump,
|
|
"啾啾": jiujiu,
|
|
"2敲": knock,
|
|
"听音乐": listenMusic,
|
|
"永远爱你": loveYou,
|
|
"2拍": pat,
|
|
"顶": jackUp,
|
|
"捣": pound,
|
|
"打拳": punch,
|
|
"滚": roll,
|
|
"吸": suck,
|
|
"嗦": suck,
|
|
"扔": throw,
|
|
"锤": hammer,
|
|
"紧贴": tightly,
|
|
"紧紧贴着": tightly,
|
|
"转": turn,
|
|
}
|
|
)
|
|
|
|
func init() { // 插件主体
|
|
for k := range cmdMap {
|
|
cmd = append(cmd, k)
|
|
}
|
|
en := control.Register("gif", &ctrl.Options[*zero.Ctx]{
|
|
DisableOnDefault: false,
|
|
Help: "制图\n- 搓\n- 冲\n- 摸\n- 拍\n- 丢\n- 吃\n- 敲\n- 啃\n- 蹭\n- 爬\n- 撕\n- 灰度\n- 上翻|下翻\n" +
|
|
"- 左翻|右翻\n- 反色\n- 浮雕\n- 打码\n- 负片\n- 旋转 45\n- 变形 100 100\n- 亲\n- 结婚申请|结婚登记\n- 阿尼亚喜欢\n- 像只\n" +
|
|
"- 我永远喜欢|永远喜欢\n- 像样的亲亲\n- 国旗\n- 不要靠近\n- 万能表情|空白表情\n- 采访\n- 需要|你可能需要\n- 这像画吗\n- 小画家\n" +
|
|
"- 完美\n- 玩游戏\n- 出警\n- 警察\n- 舔|舔屏|prpr\n- 安全感\n- 精神支柱\n- 想什么\n- 墙纸\n- 为什么at我\n- 交个朋友\n- 打工人|继续干活\n" +
|
|
"- 兑换券\n- 注意力涣散\n- 垃圾桶|垃圾\n- 捶\n- 啾啾\n- 2敲\n- 听音乐\n- 永远爱你\n- 2拍\n- 顶\n- 捣\n- 打拳\n- 滚\n- 吸|嗦\n- 扔\n" +
|
|
"- 锤\n- 紧贴|紧紧贴着\n- 转\n",
|
|
PrivateDataFolder: "gif",
|
|
}).ApplySingle(ctxext.DefaultSingle)
|
|
datapath = file.BOTPATH + "/" + en.DataFolder()
|
|
en.OnRegex(`^(` + strings.Join(cmd, "|") + `)[\s\S]*?(\[CQ:(image\,file=([0-9a-zA-Z]{32}).*|at.+?(\d{5,11}))\].*|(\d+))$`).
|
|
SetBlock(true).Handle(func(ctx *zero.Ctx) {
|
|
c := newContext(ctx.Event.UserID)
|
|
list := ctx.State["regex_matched"].([]string)
|
|
err := c.prepareLogos(list[4]+list[5]+list[6], strconv.FormatInt(ctx.Event.UserID, 10))
|
|
if err != nil {
|
|
ctx.SendChain(message.Text("ERROR:", err))
|
|
return
|
|
}
|
|
argslist := strings.Split(strings.TrimSuffix(strings.TrimPrefix(list[0], list[1]), list[2]), " ")
|
|
picurl, err := cmdMap[list[1]](c, argslist...)
|
|
if err != nil {
|
|
ctx.SendChain(message.Text("ERROR:", err))
|
|
return
|
|
}
|
|
ctx.SendChain(message.Image(picurl))
|
|
})
|
|
}
|