tencent-connect / botgo

QQ频道机器人 GOSDK
https://bot.q.qq.com/wiki/
Apache License 2.0
286 stars 48 forks source link

PythonSDK支持直接返回一张本地图片的二进制而不是URL给机器人,GolangSDK支持吗 #36

Open 37Vision opened 1 year ago

37Vision commented 1 year ago

找了很久没找到FileImage字段

thesixonenine commented 1 year ago

@37Vision 找了一圈没看到, 就写了个直接发HTTP请求的

func SendPicToDirectMsg(guildId string, qrContent []byte, data map[string]string) ([]byte, error) {
    resp, err := resty.New().R().SetContext(ctx).SetAuthScheme("Bot").
    SetAuthToken(strconv.FormatUint(botToken.AppID, 10)+"."+botToken.AccessToken).
    SetFormData(data).
    SetFileReader("file_image", "qrcode.png", bytes.NewReader(qrContent)).
    SetContentLength(true).
    SetResult(dto.Message{}).
    SetPathParam("guild_id", guildId).
    Post(fmt.Sprintf("%s://%s%s", "https", "api.sgroup.qq.com", "/dms/{guild_id}/messages"))
    if err != nil {
        return nil, err
    }
    return resp.Body(), nil
}