为什么电报漫游器回答InlineQuery响应错误请求:S​​TICKER_DOCUMENT_INVALID?

时间:2020-04-19 09:33:00

标签: 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]);

根据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] }
  }
}

在Google或官方文档中没有答案。有类似的经验吗?

该标签先前已成功使用方法uploadStickerFile上传,并提供了用于请求图像文件的网址。

1 个答案:

答案 0 :(得分:0)

上传png并将其添加到贴纸上,只需返回一个file_id的png文件即可。但是您必须使用sendSticker方法或使用getStickerSet方法获取不干胶标签集中的.WEBP并获得file_unique_id。看一下Sticker in Telegram Doc以及file_idfile_unique_id之间的区别。