【问题标题】:Bad Request: QUERY_ID_INVALID telegram bot api错误请求:QUERY_ID_INVALID 电报机器人 api
【发布时间】:2016-12-28 04:03:05
【问题描述】:

我想使用电报 api bot 。一切都很好(在我的想法中),但我有一个愚蠢的错误,即无论在哪里搜索我都找不到任何东西。

我正在使用内联模式。

  var awnser = new AnswerInlineQuery()
  {
     inline_query_id =model.inline_query.id,
     results = new List<InlineQueryResultArticle>()
  };
  awnser.results.Add(new InlineQueryResultArticle() { id = Guid.NewGuid().ToString("N"), type = "article", url = "fidilio", input_message_content = new InputTextMessageContent() { message_text = "salam" }, title = "test" });

  var send = SendInlineAwnser(awnser);

发送方法是使用restsharp

 var ser = JsonConvert.SerializeObject(data);
 var url = "https://api.telegram.org/bot" + telegramToken + "/answerInlineQuery";
 var req = SimplePost<AnswerInlineQuery>(ser, url);

我的serlization输出是这样的

{"inline_query_id":"302418856930797437","results":[{"type":"article","id":"fae56651b23244f8a3be94b1e6ebf6e7","title":"test","input_message_content":{"message_text":"salam"},"url":"fidilio"}]}

【问题讨论】:

  • 如果您确定 model.inline_query.id 是正确的,那么考虑您应该在按下内联键盘后最多 15 秒发送通知,否则您将收到:Bad Request: QUERY_ID_INVALID
  • @ehsan.sardar 你能解释一下吗?
  • 用户向 Telegram 发送内联查询后,将收到唯一的内联查询 ID,该 ID 在接下来的 15 秒内有效。如果您在此期限之后发送查询结果,您将获得无效的查询 Id
  • @Ehsan.Saradar 你可以给我做遮阳篷吗?

标签: c# telegram-bot


【解决方案1】:

确保 model.inline_query.id 正确,如果正确,请记住,您可以在按下内联键盘后最多 15 秒发送通知。此外,我建议使用异步方法发送内联查询结果。

【讨论】:

猜你喜欢
  • 2016-09-11
  • 1970-01-01
  • 2020-12-12
  • 2015-12-12
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 2020-08-01
  • 1970-01-01
相关资源
最近更新 更多