From 2fc7f995f28c6e9adde4be20af72cc9a4bdf806d Mon Sep 17 00:00:00 2001 From: wdvxdr Date: Sat, 20 Nov 2021 18:45:35 +0800 Subject: [PATCH] coolq: make animated sticker subset of face message --- coolq/cqcode.go | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/coolq/cqcode.go b/coolq/cqcode.go index 494d17b..f9db432 100644 --- a/coolq/cqcode.go +++ b/coolq/cqcode.go @@ -246,8 +246,8 @@ func ToArrayMessage(e []message.IMessageElement, source MessageSource) (r []glob } case *message.AnimatedSticker: m = global.MSG{ - "type": "sticker", - "data": map[string]string{"id": strconv.FormatInt(int64(o.ID), 10)}, + "type": "face", + "data": map[string]string{"id": strconv.FormatInt(int64(o.ID), 10), "type": "sticker"}, } default: continue @@ -367,7 +367,7 @@ func ToStringMessage(e []message.IMessageElement, source MessageSource, isRaw .. case *message.LightAppElement: write(`[CQ:json,data=%s]`, CQCodeEscapeValue(o.Content)) case *message.AnimatedSticker: - write(`[CQ:sticker,id=%d]`, o.ID) + write(`[CQ:face,id=%d,type=sticker]`, o.ID) } } r = sb.String() // 内部已拷贝 @@ -475,8 +475,8 @@ func ToMessageContent(e []message.IMessageElement) (r []global.MSG) { } case *message.AnimatedSticker: m = global.MSG{ - "type": "sticker", - "data": global.MSG{"id": o.ID}, + "type": "face", + "data": global.MSG{"id": o.ID, "type": "sticker"}, } default: continue @@ -934,17 +934,14 @@ func (bot *CQBot) ToElement(t string, d map[string]string, sourceType MessageSou } } return &message.VoiceElement{Data: data}, nil - case "sticker": - id, err := strconv.Atoi(d["id"]) - if err != nil { - return nil, err - } - return &message.AnimatedSticker{ID: int32(id)}, nil case "face": id, err := strconv.Atoi(d["id"]) if err != nil { return nil, err } + if d["type"] == "sticker" { + return &message.AnimatedSticker{ID: int32(id)}, nil + } return message.NewFace(int32(id)), nil case "at": qq := d["qq"]