我在php中有电报机器人,我显示自定义键盘:
$replyMarkup = array(
'keyboard' => array(
array('/help')
)
);
$keyboard = json_encode($replyMarkup)
$this->client->request('POST', 'sendmessage', ['query' => ['chat_id' => $chatId, 'text' => $text, 'reply_markup' => $keyboard]]);
一切正常。
我的问题是:有没有办法将键盘命令映射到不同的消息?
所以在这种情况下,我想显示自定义键盘,显示“帮助”,然后点击发送/帮助。
感谢。
答案 0 :(得分:2)
目前,自定义键盘的按钮只是消息的模板,所以"不,它不可能"。
答案 1 :(得分:0)
使用InlineKeyboardMarkup可以解决此问题。
C#的基本用法
public static InlineKeyboardMarkup TestInlineKeyboard { get; } = new InlineKeyboardMarkup
{
InlineKeyboard = new []{new[] {new InlineKeyboardButton("Text1","Data1"),
new InlineKeyboardButton("text1","data2")} }
};
其中“Text1”和“text1”是内联按钮的标题,“Data1”和“data2”是您的机器人在用户单击内联按钮时将收到的CallbackQuery文本。请注意,当用户单击内联按钮时,bot不会向用户发送任何消息。如果您需要在那一刻发送任何消息 - 您可以通过编程方式执行此操作 警告:内联键盘目前正在测试中,但尚未在频道中使用。现在,您可以在一对一的聊天或群组中使用它们。但很高兴知道。
来自this post。