Skip to content

Commit 07214e3

Browse files
尝试实现 Mrs4s#2421 (Mrs4s#2422)
1 parent 1c34643 commit 07214e3

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

coolq/cqcode.go

+26
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,16 @@ func toElements(e []message.IMessageElement, source message.Source) (r []msg.Ele
243243
{K: "type", V: "sticker"},
244244
},
245245
}
246+
case *message.GroupFileElement:
247+
m = msg.Element{
248+
Type: "file",
249+
Data: pairs{
250+
{K: "path", V: o.Path},
251+
{K: "name", V: o.Name},
252+
{K: "size", V: strconv.FormatInt(o.Size, 10)},
253+
{K: "busid", V: strconv.FormatInt(int64(o.Busid), 10)},
254+
},
255+
}
246256
case *msg.LocalImage:
247257
data := pairs{
248258
{K: "file", V: o.File},
@@ -378,6 +388,11 @@ func ToMessageContent(e []message.IMessageElement, source message.Source) (r []g
378388
"type": "face",
379389
"data": global.MSG{"id": o.ID, "type": "sticker"},
380390
}
391+
case *message.GroupFileElement:
392+
m = global.MSG{
393+
"type": "file",
394+
"data": global.MSG{"path": o.Path, "name": o.Name, "size": strconv.FormatInt(o.Size, 10), "busid": strconv.FormatInt(int64(o.Busid), 10)},
395+
}
381396
default:
382397
continue
383398
}
@@ -849,6 +864,17 @@ func (bot *CQBot) ConvertElement(spec *onebot.Spec, elem msg.Element, sourceType
849864
v.File = cacheFile
850865
}
851866
return v, nil
867+
case "file":
868+
path := elem.Get("path")
869+
name := elem.Get("name")
870+
size, _ := strconv.ParseInt(elem.Get("size"), 10, 64)
871+
busid, _ := strconv.ParseInt(elem.Get("busid"), 10, 64)
872+
return &message.GroupFileElement{
873+
Name: name,
874+
Size: size,
875+
Path: path,
876+
Busid: int32(busid),
877+
}, nil
852878
default:
853879
return nil, errors.New("unsupported message type: " + elem.Type)
854880
}

coolq/event.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ func (bot *CQBot) groupMessageEvent(c *client.QQClient, m *message.GroupMessage)
118118
"url": c.GetGroupFileUrl(m.GroupCode, file.Path, file.Busid),
119119
},
120120
})
121-
return
121+
// return
122122
}
123123
}
124124
source := message.Source{

0 commit comments

Comments
 (0)