我无法在电报 api 中使用强制回复

Posted

技术标签:

【中文标题】我无法在电报 api 中使用强制回复【英文标题】:I can't use force reply in telegram api 【发布时间】:2017-05-12 20:21:21 【问题描述】:

我在使用带有 php 的电报 bot api 时遇到问题。当我将“reply_markup”设置为ReplyKeyboardMarkup 时,我很容易向用户发送消息,但每当我想使用它时,ForceReply 机器人都会一遍又一遍地向用户发送一条消息。 你知道它为什么会这样吗?我该怎么做才能解决它?

【问题讨论】:

【参考方案1】:

您需要像这样指定您的标记:

$replyMarkup = array(
  'force_reply' => true,
  'selective' => true
);

如果您需要自定义键盘,您可以按照以下步骤操作:

$keyboradsValue = array(
   array("button 1","button 2"),
   array("button 3","button 4"),
);
$replyMarkup = array(
  'keyboard' => $keyboradsValue,
  'force_reply' => true,
  'selective' => true
);

之后,您需要使用 json_encode 对对象进行编码

$encodedMarkup = json_encode($replyMarkup, true);

最后,您只需在 sendMessage 的其余部分将上述代码放在查询字符串中。

【讨论】:

以上是关于我无法在电报 api 中使用强制回复的主要内容,如果未能解决你的问题,请参考以下文章

在使用机器人的频道中发现或禁止电报用户?

获取电报组的所有用户

使用电报机器人 api、python 3 和 JobQueue 将消息发送到通道的方法

使用 ReactPHP 异步的长轮询电报

ios电报无法登陆

如何强制电报更新链接预览?