【发布时间】:2020-08-01 18:13:48
【问题描述】:
尝试使用贴纸回答内联查询导致错误 400 Bad Request: STICKER_DOCUMENT_INVALID。
我的回复如下所示
const sticker = {
type: 'sticker',
id: '0',
sticker_file_id: 'file_id_obtained_from_upload_sticker_method'
};
ctx.telegram.answerInlineQuery(query.id, [sticker]);
根据 Telegram 文档 here 和 Telegraf 文档 here,一切似乎都是正确的。实际上:
{
code: 400,
response: {
ok: false,
error_code: 400,
description: 'Bad Request: STICKER_DOCUMENT_INVALID'
},
description: 'Bad Request: STICKER_DOCUMENT_INVALID',
parameters: {},
on: {
method: 'answerInlineQuery',
payload: { inline_query_id: '3997901566750938248', results: [Array] }
}
}
谷歌或官方文档中没有答案。有人有类似经历吗?
之前使用uploadStickerFile方法提供了请求图片文件的url成功上传了贴纸。
【问题讨论】:
-
您是否尝试使用存储在电报贴纸集中的
sticker_id,也许它只是用电报贴纸集中的贴纸回答。 As uploadstickerfile in Telegram official doc "使用此方法上传带有贴纸的 .PNG 文件,以供以后在 createNewStickerSet 和 addStickerToSet 方法中使用" -
好点,似乎合乎逻辑。我尝试了两种情况: A: 1. 上传 png -> 接收 file_id。 2.直接回答,不加set(不成功)。 3.添加到由id设置(成功)。 B:1 上传 png -> 接收 file_id。 2.添加贴纸设置(成功)。 3 回答带有贴纸文件 ID(未成功)...