From 6240e875ce1d997907d235273691165b8cc3ad5c Mon Sep 17 00:00:00 2001 From: Mrs4s Date: Sun, 15 Aug 2021 02:36:11 +0800 Subject: [PATCH] add: mark_msg_as_read api. --- coolq/api.go | 16 ++++++++++++++++ coolq/bot.go | 2 +- server/api.go | 5 +++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/coolq/api.go b/coolq/api.go index e988618..19a8433 100644 --- a/coolq/api.go +++ b/coolq/api.go @@ -1418,6 +1418,22 @@ func (bot *CQBot) CQSetModelShow(modelName string, modelShow string) MSG { return OK(nil) } +func (bot *CQBot) CQMarkMessageAsRead(msgId int32) MSG { + m := bot.GetMessage(msgId) + if m == nil { + return Failed(100, "MSG_NOT_FOUND", "消息不存在") + } + if _, ok := m["group"]; ok { + bot.Client.MarkGroupMessageReaded(m["group"].(int64), int64(m["message-id"].(int32))) + return OK(nil) + } + if _, ok := m["from-group"]; ok { + return Failed(100, "MSG_TYPE_ERROR", "不支持标记临时会话") + } + bot.Client.MarkPrivateMessageReaded(m["sender"].(*message.Sender).Uin, m["time"].(int64)) + return OK(nil) +} + // OK 生成成功返回值 func OK(data interface{}) MSG { return MSG{"data": data, "retcode": 0, "status": "ok"} diff --git a/coolq/bot.go b/coolq/bot.go index 858ffd6..8ab23fc 100644 --- a/coolq/bot.go +++ b/coolq/bot.go @@ -426,7 +426,7 @@ func (bot *CQBot) InsertTempMessage(target int64, m *message.TempMessage) int32 val := MSG{ "message-id": m.Id, // FIXME(InsertTempMessage) InternalId missing - "group": m.GroupCode, + "from-group": m.GroupCode, "group-name": m.GroupName, "target": target, "sender": m.Sender, diff --git a/server/api.go b/server/api.go index ecc62d9..2f35884 100644 --- a/server/api.go +++ b/server/api.go @@ -350,6 +350,10 @@ func setModelShow(bot *coolq.CQBot, p resultGetter) coolq.MSG { return bot.CQSetModelShow(p.Get("model").String(), p.Get("model_show").String()) } +func markMSGAsRead(bot *coolq.CQBot, p resultGetter) coolq.MSG { + return bot.CQMarkMessageAsRead(int32(p.Get("message_id").Int())) +} + // API 是go-cqhttp当前支持的所有api的映射表 var API = map[string]func(*coolq.CQBot, resultGetter) coolq.MSG{ "get_login_info": getLoginInfo, @@ -413,6 +417,7 @@ var API = map[string]func(*coolq.CQBot, resultGetter) coolq.MSG{ "qidian_get_account_info": getQiDianAccountInfo, "_get_model_show": getModelShow, "_set_model_show": setModelShow, + "mark_msg_as_read": markMSGAsRead, } func (api *apiCaller) callAPI(action string, p resultGetter) coolq.MSG {