为什么 Telegram bot answerInlineQuery 响应错误请求:S​​TICKER_DOCUMENT_INVALID?

Tom*_*rek 6 node.js telegram

尝试使用贴纸回答内联查询会导致错误 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]);
Run Code Online (Sandbox Code Playgroud)

根据此处的Telegram 文档和此处的Telegraf 文档一切似乎都是正确的。事实上:

{
  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] }
  }
}
Run Code Online (Sandbox Code Playgroud)

谷歌或官方文档中没有答案。有人有类似的经历吗?

贴纸先前已使用方法uploadStickerFile提供的 url成功上传以请求图像文件。

Siy*_*new 0

上传 png 并将其添加到贴纸,只需返回您一个file_idpng 文件。但你必须使用sendSticker方法或使用方法获取贴纸集中的.WEBPgetStickerSet并获取file_unique_id。看看Telegram Doc 中的 Sticker以及file_id和之间的区别file_unique_id