✏️ 修正 moyu 逻辑

This commit is contained in:
fumiama 2021-11-22 17:49:37 +08:00
parent a3fbe5d747
commit 207da3fcd9

View File

@ -12,7 +12,12 @@ import (
) )
func init() { // 插件主体 func init() { // 插件主体
registerNotice() // 开启提醒 // 定时任务每天10点执行一次
c := cron.New()
_, err := c.AddFunc("0 0 10 * * ?", func() { sendNotice() })
if err != nil {
c.Start()
}
control.Register("moyu", &control.Options{ control.Register("moyu", &control.Options{
DisableOnDefault: true, DisableOnDefault: true,
@ -50,15 +55,6 @@ func init() { // 插件主体
}) })
} }
// 定时任务每天10点执行一次
func registerNotice() {
c := cron.New()
_, err := c.AddFunc("0 0 10 * * ?", func() { sendNotice() })
if err != nil {
c.Start()
}
}
// 获取数据拼接消息链并发送 // 获取数据拼接消息链并发送
func sendNotice() { func sendNotice() {
m, ok := control.Lookup("moyu") m, ok := control.Lookup("moyu")
@ -71,21 +67,22 @@ func sendNotice() {
[]message.MessageSegment{ []message.MessageSegment{
message.Text(time.Now().Format("2006-01-02")), message.Text(time.Now().Format("2006-01-02")),
message.Text("上午好,摸鱼人!\n工作再累一定不要忘记摸鱼哦有事没事起身去茶水间去厕所去廊道走走别老在工位上坐着钱是老板的,但命是自己的。"), message.Text("上午好,摸鱼人!\n工作再累一定不要忘记摸鱼哦有事没事起身去茶水间去厕所去廊道走走别老在工位上坐着钱是老板的,但命是自己的。"),
message.Text("\n"),
message.Text(weekend()), message.Text(weekend()),
message.Text("\n"), message.Text("\n"),
message.Text(NewHoliday("元旦", 2022, 1, 1)), message.Text(NewHoliday("元旦", 1, 2022, 1, 1)),
message.Text("\n"), message.Text("\n"),
message.Text(NewHoliday("春节", 2022, 1, 31)), message.Text(NewHoliday("春节", 7, 2022, 1, 31)),
message.Text("\n"), message.Text("\n"),
message.Text(NewHoliday("清明节", 2022, 4, 3)), message.Text(NewHoliday("清明节", 1, 2022, 4, 3)),
message.Text("\n"), message.Text("\n"),
message.Text(NewHoliday("劳动节", 2022, 4, 30)), message.Text(NewHoliday("劳动节", 1, 2022, 4, 30)),
message.Text("\n"), message.Text("\n"),
message.Text(NewHoliday("端午节", 2022, 6, 3)), message.Text(NewHoliday("端午节", 1, 2022, 6, 3)),
message.Text("\n"), message.Text("\n"),
message.Text(NewHoliday("中秋节", 2022, 9, 10)), message.Text(NewHoliday("中秋节", 1, 2022, 9, 10)),
message.Text("\n"), message.Text("\n"),
message.Text(NewHoliday("国庆节", 2022, 10, 1)), message.Text(NewHoliday("国庆节", 7, 2022, 10, 1)),
message.Text("\n"), message.Text("\n"),
message.Text("\n\n上班是帮老板赚钱摸鱼是赚老板的钱最后祝愿天下所有摸鱼人都能愉快的渡过每一天…"), message.Text("\n\n上班是帮老板赚钱摸鱼是赚老板的钱最后祝愿天下所有摸鱼人都能愉快的渡过每一天…"),
}, },
@ -100,10 +97,12 @@ func sendNotice() {
type holiday struct { type holiday struct {
name string name string
date time.Time date time.Time
dur time.Duration
} }
func NewHoliday(name string, year int, month time.Month, day int) holiday { // NewHoliday 节日名 天数 年 月 日
return holiday{name: name, date: time.Date(year, month, day, 0, 0, 0, 0, time.Local)} func NewHoliday(name string, dur, year int, month time.Month, day int) holiday {
return holiday{name: name, date: time.Date(year, month, day, 0, 0, 0, 0, time.Local), dur: time.Duration(dur) * time.Hour * 24}
} }
// 获取两个时间相差 // 获取两个时间相差
@ -111,8 +110,10 @@ func (h holiday) String() string {
d := time.Until(h.date) d := time.Until(h.date)
if d >= 0 { if d >= 0 {
return "距离" + h.name + "还有: " + d.String() return "距离" + h.name + "还有: " + d.String()
} else { } else if d+h.dur >= 0 {
return "好好享受 " + h.name + " 假期吧!" return "好好享受 " + h.name + " 假期吧!"
} else {
return "今年 " + h.name + " 假期已过"
} }
} }
@ -120,8 +121,8 @@ func weekend() string {
t := time.Now().Weekday() t := time.Now().Weekday()
switch t { switch t {
case time.Sunday, time.Saturday: case time.Sunday, time.Saturday:
return "\n好好享受周末吧!" return "好好享受周末吧!"
default: default:
return fmt.Sprintf("\n距离周末还有:%d天", 5-t) return fmt.Sprintf("距离周末还有:%d天", 5-t)
} }
} }