mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2026-01-17 05:40:31 +00:00
✏️ 持久化 fansdaily
This commit is contained in:
parent
d1656b25c9
commit
2917ff6701
@ -5,6 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/FloatTech/ZeroBot-Plugin/control"
|
||||||
"github.com/fumiama/cron"
|
"github.com/fumiama/cron"
|
||||||
zero "github.com/wdvxdr1123/ZeroBot"
|
zero "github.com/wdvxdr1123/ZeroBot"
|
||||||
"github.com/wdvxdr1123/ZeroBot/message"
|
"github.com/wdvxdr1123/ZeroBot/message"
|
||||||
@ -23,25 +24,52 @@ type follower struct {
|
|||||||
|
|
||||||
// 开启日报推送
|
// 开启日报推送
|
||||||
func init() {
|
func init() {
|
||||||
engine.OnFullMatch("/开启粉丝日报", zero.AdminPermission).SetBlock(true).
|
fansDaily()
|
||||||
|
en := control.Register("fansdaily", &control.Options{
|
||||||
|
DisableOnDefault: true,
|
||||||
|
Help: "fansdaily\n- /开启粉丝日报\n- /关闭粉丝日报",
|
||||||
|
})
|
||||||
|
zero.OnCommand("开启粉丝日报", zero.AdminPermission).SetBlock(true).
|
||||||
Handle(func(ctx *zero.Ctx) {
|
Handle(func(ctx *zero.Ctx) {
|
||||||
fansDaily(ctx.Event.GroupID) // 群号传进去给下面发信息的函数
|
m, ok := control.Lookup("fansdaily")
|
||||||
|
if ok {
|
||||||
|
if m.IsEnabledIn(ctx.Event.GroupID) {
|
||||||
|
ctx.Send(message.Text("已启用!"))
|
||||||
|
} else {
|
||||||
|
m.Enable(ctx.Event.GroupID)
|
||||||
|
ctx.Send(message.Text("添加成功!"))
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ctx.Send(message.Text("找不到该服务!"))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
en.OnCommand("关闭粉丝日报", zero.AdminPermission).SetBlock(true).
|
||||||
|
Handle(func(ctx *zero.Ctx) {
|
||||||
|
m, ok := control.Lookup("fansdaily")
|
||||||
|
if ok {
|
||||||
|
if m.IsEnabledIn(ctx.Event.GroupID) {
|
||||||
|
m.Disable(ctx.Event.GroupID)
|
||||||
|
ctx.Send(message.Text("关闭成功!"))
|
||||||
|
} else {
|
||||||
|
ctx.Send(message.Text("未启用!"))
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ctx.Send(message.Text("找不到该服务!"))
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 定时任务每天晚上最后2分钟执行一次
|
// 定时任务每天晚上最后2分钟执行一次
|
||||||
func fansDaily(groupID int64) {
|
func fansDaily() {
|
||||||
c := cron.New()
|
c := cron.New()
|
||||||
_, err := c.AddFunc("58 23 * * *", func() { fansData(groupID) })
|
_, err := c.AddFunc("58 23 * * *", func() { sendNotice() })
|
||||||
if err == nil {
|
if err == nil {
|
||||||
c.Start()
|
c.Start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取数据拼接消息链并发送
|
// 获取数据拼接消息链并发送
|
||||||
func fansData(groupID int64) {
|
func getMsg() message.MessageSegment {
|
||||||
// TODO: 更改为 GetBot
|
|
||||||
zero.RangeBot(func(id int64, ctx *zero.Ctx) bool {
|
|
||||||
var (
|
var (
|
||||||
diana = fansapi("672328094")
|
diana = fansapi("672328094")
|
||||||
ava = fansapi("672346917")
|
ava = fansapi("672346917")
|
||||||
@ -49,9 +77,7 @@ func fansData(groupID int64) {
|
|||||||
bella = fansapi("672353429")
|
bella = fansapi("672353429")
|
||||||
carol = fansapi("351609538")
|
carol = fansapi("351609538")
|
||||||
)
|
)
|
||||||
ctx.SendGroupMessage(
|
return message.Text(
|
||||||
groupID,
|
|
||||||
message.Text(
|
|
||||||
time.Now().Format("2006-01-02"), " Asoul全团粉丝日报如下", "\n\n",
|
time.Now().Format("2006-01-02"), " Asoul全团粉丝日报如下", "\n\n",
|
||||||
"uid: ", diana.Mid, "\n",
|
"uid: ", diana.Mid, "\n",
|
||||||
"名字: ", diana.Uname, "\n",
|
"名字: ", diana.Uname, "\n",
|
||||||
@ -102,10 +128,25 @@ func fansData(groupID int64) {
|
|||||||
"舰队: ", carol.GuardNum, "\n",
|
"舰队: ", carol.GuardNum, "\n",
|
||||||
"直播总排名: ", carol.AreaRank, "\n",
|
"直播总排名: ", carol.AreaRank, "\n",
|
||||||
"数据来源: ", "https://vtbs.moe/detail/", "351609538",
|
"数据来源: ", "https://vtbs.moe/detail/", "351609538",
|
||||||
))
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取数据拼接消息链并发送
|
||||||
|
func sendNotice() {
|
||||||
|
m, ok := control.Lookup("fansdaily")
|
||||||
|
if ok {
|
||||||
|
msg := getMsg()
|
||||||
|
zero.RangeBot(func(id int64, ctx *zero.Ctx) bool {
|
||||||
|
for _, g := range ctx.GetGroupList().Array() {
|
||||||
|
grp := g.Get("group_id").Int()
|
||||||
|
if m.IsEnabledIn(grp) {
|
||||||
|
ctx.SendGroupMessage(grp, msg)
|
||||||
|
}
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 请求api
|
// 请求api
|
||||||
func fansapi(uid string) *follower {
|
func fansapi(uid string) *follower {
|
||||||
|
|||||||
@ -16,8 +16,7 @@ var engine = control.Register("bilibili", &control.Options{
|
|||||||
DisableOnDefault: false,
|
DisableOnDefault: false,
|
||||||
Help: "bilibili\n" +
|
Help: "bilibili\n" +
|
||||||
"- >vup info [名字|uid]\n" +
|
"- >vup info [名字|uid]\n" +
|
||||||
"- >user info [名字|uid]\n" +
|
"- >user info [名字|uid]",
|
||||||
"- /开启粉丝日报",
|
|
||||||
})
|
})
|
||||||
|
|
||||||
// 查成分的
|
// 查成分的
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user