如何使用C#使Telegram bot API中的Keyboard Button消息文本与其标题不同

我需要我的机器人打印与其标题不同的消息(通过键盘按钮元素上的电报客户端显示)。

我的自定义按钮有这样的文字: "Where am I?" 当我点击它时,它会在屏幕上打印出"Where am I?" 也。 我希望按钮打印"/location" 。(与text字段不同)

我怎样才能实现它? 我正在使用C#Telegram Bot API

编辑:

我想要的是:

  • 当用户单击此按钮时,电报客户端发送带有/age [作为其输入消息]的消息,但发送show my age (即该按钮text字段)

所以:我想要一个带text的按钮。 当用户点击按钮时,我希望发送的消息与该text不同。

有一个布局字段用于位置,您是否将其设置为true? https://core.telegram.org/bots/api#keyboardbutton

更新:如果你正在向用户发送回复,那么你也在发送一个ReplyKeyboardMarkup。 ReplyKeyboardMarkup有一个名为keyboard的字段,它是KeyboardButton数组的数组。 在每个KeyboardButton上,如果您希望该按钮发送位置,则需要设置为true的位置布尔值

更新2

消息不可能与您的文本不同。 text- String->按钮的文本。 如果没有使用任何可选字段,则在按下按钮时它将作为消息发送到机器人

你看过InlineKeyboardMarkup而不是ReplyKeyboardMarkup吗? 它可以解决您的问题。
UPD
基本用法

  public static InlineKeyboardMarkup TestInlineKeyboard { get; } = new InlineKeyboardMarkup { InlineKeyboard = new []{new[] {new InlineKeyboardButton("Text1","Data1"), new InlineKeyboardButton("text1","data2")} } }; 

其中“Text1”和“text1”是内联按钮的标题,“Data1”和“data2”是您的机器人在用户单击内联按钮时将收到的CallbackQuery文本。 请注意,当用户单击内联按钮时,bot不会向用户发送任何消息。 如果您需要在那一刻发送任何消息 – 您可以通过编程方式执行此操作。