Merge pull request #210 from overplumbum/develop

fix add sticker to stickerset uploads by url and fileId
bot-api-6.1
Syfaro 2020-07-21 01:48:35 -05:00 committed by GitHub
commit da98517cd2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 14 deletions

23
bot.go
View File

@ -218,30 +218,33 @@ func (bot *BotAPI) UploadFile(endpoint string, params Params, fieldname string,
ms.SetupRequest(req) ms.SetupRequest(req)
res, err := bot.Client.Do(req) resp, err := bot.Client.Do(req)
if err != nil { if err != nil {
return APIResponse{}, err return APIResponse{}, err
} }
defer res.Body.Close() defer resp.Body.Close()
bytes, err := ioutil.ReadAll(res.Body) var apiResp APIResponse
bytes, err := bot.decodeAPIResponse(resp.Body, &apiResp)
if err != nil { if err != nil {
return APIResponse{}, err return apiResp, err
} }
if bot.Debug { if bot.Debug {
log.Printf("Endpoint: %s, response: %s\n", endpoint, string(bytes)) log.Printf("Endpoint: %s, response: %s\n", endpoint, string(bytes))
} }
var apiResp APIResponse if !apiResp.Ok {
var parameters ResponseParameters
err = json.Unmarshal(bytes, &apiResp) if apiResp.Parameters != nil {
if err != nil { parameters = *apiResp.Parameters
return APIResponse{}, err
} }
if !apiResp.Ok { return apiResp, Error{
return APIResponse{}, errors.New(apiResp.Description) Message: apiResp.Description,
ResponseParameters: parameters,
}
} }
return apiResp, nil return apiResp, nil

View File

@ -1421,7 +1421,9 @@ func (config UploadStickerConfig) getFile() interface{} {
} }
func (config UploadStickerConfig) useExistingFile() bool { func (config UploadStickerConfig) useExistingFile() bool {
return false _, ok := config.PNGSticker.(string)
return ok
} }
// NewStickerSetConfig allows creating a new sticker set. // NewStickerSetConfig allows creating a new sticker set.
@ -1527,7 +1529,9 @@ func (config AddStickerConfig) getFile() interface{} {
} }
func (config AddStickerConfig) useExistingFile() bool { func (config AddStickerConfig) useExistingFile() bool {
return false _, ok := config.PNGSticker.(string)
return ok
} }
// SetStickerPositionConfig allows you to change the position of a sticker in a set. // SetStickerPositionConfig allows you to change the position of a sticker in a set.