我想使用自定义键盘来获取所选的选项。
如何获取所选选项?有什么例子吗?
我的问题由" node-telegram-bot-api"回答。
此处:How to get the response of the keyboard selection?
c#有什么解决方案吗?
答案 0 :(得分:0)
当您致电SendTextMessageAsync
时,您会传递IReplyMarkup
对象,该对象指定“自定义回复键盘”。我对Telegram Bot API了解不多,但这看起来与您链接的GitHub问题引用的功能相同。
似乎有several implementations listed in the API documentation。我怀疑InlineKeyboardMarkup
或ReplyKeyboardMarkup
是您正在寻找的。 p>
答案 1 :(得分:0)
要创建自定义键盘,您必须发送短信并传递IReplyMarkup
。所选选项作为消息发送,可以在OnMessage
事件中处理。将ReplyKeyboardHide
设置为回复标记时,可以隐藏自定义键盘。
以下是一个例子:
private const string FirstOptionText = "First option";
private const string SecondOptionText = "Second option";
private async void BotClientOnMessage(object sender, MessageEventArgs e)
{
switch (e.Message.Text)
{
case FirstOptionText:
await BotClient.SendTextMessageAsync(e.Message.Chat.Id, "You chose the first option", replyMarkup:new ReplyKeyboardHide());
break;
case SecondOptionText:
await BotClient.SendTextMessageAsync(e.Message.Chat.Id, "You chose the second option", replyMarkup:new ReplyKeyboardHide());
break;
default:
await BotClient.SendTextMessageAsync(e.Message.Chat.Id, "Hi, select an option!",
replyMarkup: new ReplyKeyboardMarkup(new[]
{
new KeyboardButton(FirstOptionText),
new KeyboardButton(SecondOptionText),
}));
break;
}
}
我希望这有帮助!