mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2025-12-19 13:59:39 +08:00
commit 3e4b0216b9f952b800e9be880acd744af3afe593 Merge: 970cb14aaf832eAuthor: fumiama <s862105088@gmail.com> Date: Sat Feb 12 23:23:51 2022 +0800 Merge branch 'master' of https://github.com/MoYoez/ZeroBot-Plugin into MoYoez-master commit 970cb142256d4575b3e5170b9dfb9370f5802da5 Author: fumiama <s862105088@gmail.com> Date: Sat Feb 12 23:18:23 2022 +0800 ✨ 🐛 🔥 ⚡️ 🎨 fix: gif panic commitaaf832e3b5Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 21:06:21 2022 +0800 Update chat.go commitfae3458bcfAuthor: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat Feb 12 13:05:37 2022 +0000 🎨 改进代码样式 commit610cae5229Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 21:05:08 2022 +0800 Update chat.go commitc445c61da5Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:58:57 2022 +0800 Delete data.go commit70172f4d8bAuthor: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:53:10 2022 +0800 换了个网易云音乐热评的API commitc8b4827e91Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat Feb 12 12:50:57 2022 +0000 🎨 改进代码样式 commita233586dfeAuthor: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:50:21 2022 +0800 Update chat.go commit87501f6011Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:49:08 2022 +0800 Update data.go commitecf6419065Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:48:14 2022 +0800 Update chat.go commitc3550503f0Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:47:47 2022 +0800 Delete plugin_purechat directory commit1da3486d00Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:46:34 2022 +0800 Add files via upload commit34ed8c89fdAuthor: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:38:46 2022 +0800 Update main.go commitaa08eb0120Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:38:19 2022 +0800 修改过的回复 删掉了一些ex的词汇 commitfaf198289fAuthor: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:29:59 2022 +0800 Update main.go commit5ac3b7a790Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:28:48 2022 +0800 Update chat.go commitb046d45435Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:25:23 2022 +0800 Rename purechat.go to chat.go commit6bbcdfcd58Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:24:54 2022 +0800 Add files via upload commite7630b5904Author: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:24:32 2022 +0800 Update purechat.go commit36c903beceAuthor: MoeMagicMango <i@himoyo.cn> Date: Sat Feb 12 20:23:01 2022 +0800 Create purechat.go
108 lines
3.2 KiB
Go
108 lines
3.2 KiB
Go
// Package chat 对话插件
|
||
package chat
|
||
|
||
import (
|
||
"math/rand"
|
||
"strconv"
|
||
"time"
|
||
|
||
control "github.com/FloatTech/zbputils/control"
|
||
zero "github.com/wdvxdr1123/ZeroBot"
|
||
"github.com/wdvxdr1123/ZeroBot/extension/rate"
|
||
"github.com/wdvxdr1123/ZeroBot/message"
|
||
|
||
"github.com/FloatTech/zbputils/control/order"
|
||
)
|
||
|
||
var (
|
||
poke = rate.NewManager(time.Minute*5, 8) // 戳一戳
|
||
engine = control.Register("chat", order.AcquirePrio(), &control.Options{
|
||
DisableOnDefault: false,
|
||
Help: "chat\n- [BOT名字]\n- [戳一戳BOT]\n- 空调开\n- 空调关\n- 群温度\n- 设置温度[正整数]",
|
||
})
|
||
)
|
||
|
||
func init() { // 插件主体
|
||
// 被喊名字
|
||
engine.OnMessage(zero.OnlyToMe).SetBlock(true).
|
||
Handle(func(ctx *zero.Ctx) {
|
||
var nickname = zero.BotConfig.NickName[0]
|
||
time.Sleep(time.Second * 1)
|
||
ctx.SendChain(message.Text(
|
||
[]string{
|
||
nickname + "在此,有何贵干~",
|
||
"(っ●ω●)っ在~",
|
||
"这里是" + nickname + "(っ●ω●)っ",
|
||
nickname + "不在呢~",
|
||
}[rand.Intn(4)],
|
||
))
|
||
})
|
||
// 戳一戳
|
||
engine.On("notice/notify/poke", zero.OnlyToMe).SetBlock(false).
|
||
Handle(func(ctx *zero.Ctx) {
|
||
var nickname = zero.BotConfig.NickName[0]
|
||
switch {
|
||
case poke.Load(ctx.Event.GroupID).AcquireN(3):
|
||
// 5分钟共8块命令牌 一次消耗3块命令牌
|
||
time.Sleep(time.Second * 1)
|
||
ctx.SendChain(message.Text("请不要戳", nickname, " >_<"))
|
||
case poke.Load(ctx.Event.GroupID).Acquire():
|
||
// 5分钟共8块命令牌 一次消耗1块命令牌
|
||
time.Sleep(time.Second * 1)
|
||
ctx.SendChain(message.Text("喂(#`O′) 戳", nickname, "干嘛!"))
|
||
default:
|
||
// 频繁触发,不回复
|
||
}
|
||
})
|
||
// 群空调
|
||
var AirConditTemp = map[int64]int{}
|
||
var AirConditSwitch = map[int64]bool{}
|
||
engine.OnFullMatch("空调开").SetBlock(true).
|
||
Handle(func(ctx *zero.Ctx) {
|
||
AirConditSwitch[ctx.Event.GroupID] = true
|
||
ctx.SendChain(message.Text("❄️哔~"))
|
||
})
|
||
engine.OnFullMatch("空调关").SetBlock(true).
|
||
Handle(func(ctx *zero.Ctx) {
|
||
AirConditSwitch[ctx.Event.GroupID] = false
|
||
delete(AirConditTemp, ctx.Event.GroupID)
|
||
ctx.SendChain(message.Text("💤哔~"))
|
||
})
|
||
engine.OnRegex(`设置温度(\d+)`).SetBlock(true).
|
||
Handle(func(ctx *zero.Ctx) {
|
||
if _, exist := AirConditTemp[ctx.Event.GroupID]; !exist {
|
||
AirConditTemp[ctx.Event.GroupID] = 26
|
||
}
|
||
if AirConditSwitch[ctx.Event.GroupID] {
|
||
temp := ctx.State["regex_matched"].([]string)[1]
|
||
AirConditTemp[ctx.Event.GroupID], _ = strconv.Atoi(temp)
|
||
ctx.SendChain(message.Text(
|
||
"❄️风速中", "\n",
|
||
"群温度 ", AirConditTemp[ctx.Event.GroupID], "℃",
|
||
))
|
||
} else {
|
||
ctx.SendChain(message.Text(
|
||
"💤", "\n",
|
||
"群温度 ", AirConditTemp[ctx.Event.GroupID], "℃",
|
||
))
|
||
}
|
||
})
|
||
engine.OnFullMatch(`群温度`).SetBlock(true).
|
||
Handle(func(ctx *zero.Ctx) {
|
||
if _, exist := AirConditTemp[ctx.Event.GroupID]; !exist {
|
||
AirConditTemp[ctx.Event.GroupID] = 26
|
||
}
|
||
if AirConditSwitch[ctx.Event.GroupID] {
|
||
ctx.SendChain(message.Text(
|
||
"❄️风速中", "\n",
|
||
"群温度 ", AirConditTemp[ctx.Event.GroupID], "℃",
|
||
))
|
||
} else {
|
||
ctx.SendChain(message.Text(
|
||
"💤", "\n",
|
||
"群温度 ", AirConditTemp[ctx.Event.GroupID], "℃",
|
||
))
|
||
}
|
||
})
|
||
}
|