ReplyKeyboardMarkup包含少量按钮的消息(例如 ["Yes", "No"])Yes")",我想显示带内联键盘的消息并隐藏在步骤1发送的按钮.有可能吗?该消息只有一个reply_markup属性,可以是InlinkeKeyboardMarkup或ReplyKeyboardHide.我看到的唯一方法是发送2条消息(首先隐藏键盘,第二条用内联键盘),但从用户体验的角度来看,这不是最好的解决方案.我可以做几个请求,但希望用户只能看到一条消息.
有什么想法吗?
我猜你希望按钮在按下后消失:
ReplyKeyboardMarkup MyButton = new ReplyKeyboardMarkup();
MyButton.OneTimeKeyboard = true;
Run Code Online (Sandbox Code Playgroud)
您甚至可以通过添加以下内容来使其响应更快:
MyButton.ResizeKeyboard = true;
Run Code Online (Sandbox Code Playgroud)
没有任何合乎逻辑的解决方案。但有一个技巧。您可以发送消息以删除前一个键盘,然后删除此消息,最后使用键盘发送下一条消息。
// send a fake message
Message sentMsg = bot.SendTextMessageAsync(chatID, ".", replyKeyboardMarkup: new ReplyKeyboardRemove()).Result;
// remove the fake message
bot.DeleteMessageAsync(chatID, sentMsg.MessageId);
// send the main message with it's keyboard
bot.SendTextMessageAsync(chatID, "the next message", replyKeyboardMarkup: new ReplyKeyboardMarkup(keyboardData));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17543 次 |
| 最近记录: |