🆕 新增每日早报功能

This commit is contained in:
李寻欢
2024-05-15 11:15:15 +08:00
parent 16838ff80f
commit 534f7a0ec8
17 changed files with 223 additions and 10 deletions

View File

@@ -74,6 +74,7 @@ func Sync() {
EnableChatRank: config.Conf.System.DefaultRule.ChatRank,
EnableSummary: config.Conf.System.DefaultRule.Summary,
EnableWelcome: config.Conf.System.DefaultRule.Welcome,
EnableNews: config.Conf.System.DefaultRule.News,
LastActive: time.Now().Local(),
}).Error
if err != nil {

36
tasks/news/news.go Normal file
View File

@@ -0,0 +1,36 @@
package news
import (
"fmt"
"go-wechat/service"
"go-wechat/utils"
"log"
"strings"
"time"
)
// DailyNews
// @description: 每日新闻
func DailyNews() {
groups, err := service.GetAllEnableNews()
if err != nil {
log.Printf("获取启用了聊天排行榜的群组失败, 错误信息: %v", err)
return
}
news := utils.NewsUtil().MorningPost()
if len(news) == 0 {
log.Println("每日早报获取失败")
return
}
newsStr := fmt.Sprintf("#每日早报#\n\n又是新的一天了让我们康康一觉醒来世界又发生了哪些变化~\n\n%s", strings.Join(news, "\n"))
// 循环发送新闻
for _, group := range groups {
// 发送消息
utils.SendMessage(group.Wxid, "", newsStr, 0)
// 休眠一秒,防止频繁发送
time.Sleep(time.Second)
}
}

View File

@@ -4,6 +4,7 @@ import (
"github.com/go-co-op/gocron"
"go-wechat/config"
"go-wechat/tasks/friends"
"go-wechat/tasks/news"
"go-wechat/tasks/summary"
"go-wechat/tasks/watergroup"
"log"
@@ -42,7 +43,6 @@ func InitTasks() {
if config.Conf.Task.GroupSummary.Enable {
log.Printf("群聊总结任务已启用,执行表达式: %s", config.Conf.Task.GroupSummary.Cron)
_, _ = s.Cron(config.Conf.Task.GroupSummary.Cron).Do(summary.AiSummary)
}
// 更新好友列表
@@ -51,6 +51,11 @@ func InitTasks() {
_, _ = s.Cron(config.Conf.Task.SyncFriends.Cron).Do(friends.Sync)
}
// 每日早报
if config.Conf.Task.News.Enable {
_, _ = s.Cron(config.Conf.Task.News.Cron).Do(news.DailyNews)
}
// 开启定时任务
s.StartAsync()
log.Println("定时任务初始化成功")