Compare commits

...

9 Commits

6 changed files with 11 additions and 8 deletions

View File

@@ -82,7 +82,7 @@ func GetAllEnableNews() (records []entity.Friend, err error) {
// @return records // @return records
// @return err // @return err
func GetAllEnableClearGroup() (records []entity.Friend, err error) { func GetAllEnableClearGroup() (records []entity.Friend, err error) {
err = client.MySQL.Where("clear_members != 0").Where("is_ok IS TRUE").Find(&records).Error err = client.MySQL.Where("clear_member > 0").Where("is_ok IS TRUE").Find(&records).Error
return return
} }

View File

@@ -73,6 +73,8 @@ func GetTextMessagesById(id string) (records []vo.TextMessageItem, err error) {
Where("tm.`from_user` = ?", id). Where("tm.`from_user` = ?", id).
Where(`(tm.type = 1 OR ( tm.type = 49 AND EXTRACTVALUE ( tm.content, "/msg/appmsg/type" ) IN (?) ))`, appMsgList). Where(`(tm.type = 1 OR ( tm.type = 49 AND EXTRACTVALUE ( tm.content, "/msg/appmsg/type" ) IN (?) ))`, appMsgList).
Where("DATE ( tm.create_at ) = DATE ( CURDATE() - INTERVAL 1 DAY )"). Where("DATE ( tm.create_at ) = DATE ( CURDATE() - INTERVAL 1 DAY )").
Where("tm.content NOT LIKE '#昨日水群排行榜%'").
Where("tm.content NOT LIKE '#昨日消息总结%'").
Order("tm.create_at ASC") Order("tm.create_at ASC")
err = tx.Find(&records).Error err = tx.Find(&records).Error

View File

@@ -13,7 +13,7 @@ import (
// ClearGroupUser // ClearGroupUser
// @description: 清理群成员 // @description: 清理群成员
func ClearGroupUser() { func ClearGroupUser() {
groups, err := service.GetAllEnableNews() groups, err := service.GetAllEnableClearGroup()
if err != nil { if err != nil {
log.Printf("获取启用了聊天排行榜的群组失败, 错误信息: %v", err) log.Printf("获取启用了聊天排行榜的群组失败, 错误信息: %v", err)
return return
@@ -42,9 +42,9 @@ func ClearGroupUser() {
// 发送通知到群里 // 发送通知到群里
ms := make([]string, 0) ms := make([]string, 0)
for k, v := range memberMap { for k, v := range memberMap {
ms = append(ms, fmt.Sprintf("%s: %s", k, v)) ms = append(ms, fmt.Sprintf("昵称:%s\n最后活跃时间%s", k, v))
} }
msg := fmt.Sprintf("#清理群成员#\n\n很遗憾地通知各位就在刚刚有%d名群友引活跃度不够暂时离开了我们希望还健在的群友引以为戒、保持活跃\n\n活跃信息: \n%s", msg := fmt.Sprintf("#清理群成员\n\n很遗憾地通知各位就在刚刚有%d名群友引活跃度不够暂时离开了我们希望还健在的群友引以为戒、保持活跃\n\n活跃信息: \n%s",
memberCount, strings.Join(ms, "\n")) memberCount, strings.Join(ms, "\n"))
utils.SendMessage(group.Wxid, "", msg, 0) utils.SendMessage(group.Wxid, "", msg, 0)
} }

View File

@@ -122,12 +122,12 @@ func Sync() {
// 组装成一句话 // 组装成一句话
msg := []string{"#新好友通知\n"} msg := []string{"#新好友通知\n"}
for wxId, nickname := range newItmes { for wxId, nickname := range newItmes {
msg = append(msg, "微信Id: "+wxId+" -> 昵称: "+nickname) msg = append(msg, "微信Id: "+wxId+"\n昵称: "+nickname)
} }
for _, user := range config.Conf.System.NewFriendNotify.ToUser { for _, user := range config.Conf.System.NewFriendNotify.ToUser {
if user != "" { if user != "" {
// 发送一条新消息 // 发送一条新消息
utils.SendMessage(user, "", strings.Join(msg, "\n"), 0) utils.SendMessage(user, "", strings.Join(msg, "\n-------\n"), 0)
} }
} }
} }

View File

@@ -24,7 +24,7 @@ func DailyNews() {
return return
} }
newsStr := fmt.Sprintf("#每日早报#\n\n又是新的一天了让我们康康一觉醒来世界又发生了哪些变化~\n\n%s", strings.Join(news, "\n")) newsStr := fmt.Sprintf("#每日早报\n\n又是新的一天了让我们康康一觉醒来世界又发生了哪些变化~\n\n%s", strings.Join(news, "\n"))
// 循环发送新闻 // 循环发送新闻
for _, group := range groups { for _, group := range groups {

View File

@@ -42,11 +42,12 @@ func AiSummary() {
注意,他们可能是多个话题,请仔细甄别。 注意,他们可能是多个话题,请仔细甄别。
每一行代表一个人的发言,每一行的的格式为: {"{nickname}": "{content}"}--end-- 每一行代表一个人的发言,每一行的的格式为: {"{nickname}": "{content}"}--end--
群名称: %s
聊天记录如下: 聊天记录如下:
%s %s
` `
msg := fmt.Sprintf(msgTmp, strings.Join(content, "\n")) msg := fmt.Sprintf(msgTmp, group.Nickname, strings.Join(content, "\n"))
// AI总结 // AI总结
messages := []openai.ChatCompletionMessage{ messages := []openai.ChatCompletionMessage{