Skip to content

Commit 0afad6d

Browse files
committed
fix local image
1 parent cecb63c commit 0afad6d

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

service/bot/api_handler.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ func splitText(content string, limit int) []string {
4141
func preProcessPrivateSendingMessage(cli *client.QQClient, target int64, m *message.SendingMessage) {
4242
newElements := make([]message.IMessageElement, 0, len(m.Elements))
4343
for _, element := range m.Elements {
44-
if i, ok := element.(*message.ImageElement); ok {
45-
gm, err := cli.UploadPrivateImage(target, bytes.NewReader(i.Data))
44+
if i, ok := element.(*clz.LocalImageElement); ok {
45+
gm, err := cli.UploadPrivateImage(target, i.Stream)
4646
if err != nil {
4747
log.Errorf("failed to upload private image, %+v", err)
4848
continue
@@ -76,8 +76,8 @@ func preProcessGroupSendingMessage(cli *client.QQClient, groupCode int64, m *mes
7676
}
7777
continue
7878
}
79-
if i, ok := element.(*message.ImageElement); ok {
80-
gm, err := cli.UploadGroupImage(groupCode, bytes.NewReader(i.Data))
79+
if i, ok := element.(*clz.LocalImageElement); ok {
80+
gm, err := cli.UploadGroupImage(groupCode, i.Stream)
8181
if err != nil {
8282
log.Errorf("failed to upload group image, %+v", err)
8383
continue

service/bot/proto2mirai.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ func ProtoTextToMiraiText(data map[string]string) message.IMessageElement {
8282
}
8383

8484
func ProtoImageToMiraiImage(data map[string]string) message.IMessageElement {
85+
elem := &clz.LocalImageElement{}
8586
url, ok := data["url"]
8687
if !ok {
8788
url, ok = data["src"] // TODO 为了兼容我的旧代码偷偷加的
@@ -93,20 +94,23 @@ func ProtoImageToMiraiImage(data map[string]string) message.IMessageElement {
9394
log.Warnf("imageUrl不存在")
9495
return EmptyText()
9596
}
97+
elem.Url = url
9698
if strings.Contains(url, "http://") || strings.Contains(url, "https://") {
9799
b, err := util.GetBytes(url)
98100
if err != nil {
99101
log.Errorf("failed to download image")
100102
return EmptyText()
101103
}
102-
return &clz.LocalImageElement{Stream: bytes.NewReader(b)}
104+
elem.Stream = bytes.NewReader(b)
105+
return elem
103106
} else {
104107
imageFile, err := os.Open(url)
105108
if err != nil {
106109
log.Errorf("failed to open local image")
107110
return EmptyText()
108111
}
109-
return &clz.LocalImageElement{Stream: imageFile}
112+
elem.Stream = imageFile
113+
return elem
110114
}
111115
}
112116

0 commit comments

Comments
 (0)