mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2026-02-06 15:20:22 +00:00
🎨 优化目录结构
This commit is contained in:
59
plugin/moyu/nowork.go
Normal file
59
plugin/moyu/nowork.go
Normal file
@@ -0,0 +1,59 @@
|
||||
package moyu
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
reg "github.com/fumiama/go-registry"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// Holiday 节日
|
||||
type Holiday struct {
|
||||
name string
|
||||
date time.Time
|
||||
dur time.Duration
|
||||
}
|
||||
|
||||
// NewHoliday 节日名 天数 年 月 日
|
||||
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}
|
||||
}
|
||||
|
||||
var registry = reg.NewRegReader("reilia.fumiama.top:32664", "fumiama")
|
||||
|
||||
// GetHoliday 从 reg 服务器获取节日
|
||||
func GetHoliday(name string) *Holiday {
|
||||
var dur, year int
|
||||
var month time.Month
|
||||
var day int
|
||||
ret, err := registry.Get("holiday/" + name)
|
||||
if err != nil {
|
||||
return NewHoliday(name+err.Error(), 0, 0, 0, 0)
|
||||
}
|
||||
fmt.Sscanf(ret, "%d_%d_%d_%d", &dur, &year, &month, &day)
|
||||
logrus.Debugln("[moyu]获取节日:", name, dur, year, month, day)
|
||||
return NewHoliday(name, dur, year, month, day)
|
||||
}
|
||||
|
||||
// String 获取两个时间相差
|
||||
func (h *Holiday) String() string {
|
||||
d := time.Until(h.date)
|
||||
switch {
|
||||
case d >= 0:
|
||||
return "距离" + h.name + "还有: " + strconv.FormatFloat(d.Hours()/24.0, 'f', 2, 64) + "天!"
|
||||
case d+h.dur >= 0:
|
||||
return "好好享受 " + h.name + " 假期吧!"
|
||||
default:
|
||||
return "今年 " + h.name + " 假期已过"
|
||||
}
|
||||
}
|
||||
|
||||
func weekend() string {
|
||||
t := time.Now().Weekday()
|
||||
if t == time.Sunday || t == time.Saturday {
|
||||
return "好好享受周末吧!"
|
||||
}
|
||||
return fmt.Sprintf("距离周末还有:%d天!", 5-t)
|
||||
}
|
||||
Reference in New Issue
Block a user