如何使用 C# 使键盘按钮消息文本与其在 Telegram bot API 中的标题不同
How to make Keyboard Button message text different from its caption in Telegram bot API using C#
我需要我的机器人打印与其标题不同的消息(由电报客户端在键盘按钮元素上显示)。
我的自定义按钮有这样的文本:"Where am I?"
,当我点击它时,它也会打印在屏幕上 "Where am I?"
。
我希望按钮打印 "/location"
。(与它的 text
字段不同的东西)
如何实现?我正在使用 C#
和 Telegram Bot API
编辑:
我想要的:
- 当用户单击此按钮时,电报客户端会发送
/age
[作为他键入的消息] 的消息,但 NOT 发送 show my age
(这是该按钮 text
字段 )
所以:我想要一个带有 text
的按钮。当用户单击按钮时,我希望发送的消息与 text
.
不同
位置有一个布尔字段,你把它设置为真了吗?
https://core.telegram.org/bots/api#keyboardbutton
更新:
当您向用户发送回复时,您也发送了一个 ReplyKeyboardMarkup。
ReplyKeyboardMarkup 有一个名为 keyboard 的字段,它是 KeyboardButton 数组的数组。
在每个 KeyboardButton 上,如果您希望该按钮发送位置,则需要将其设置为 true 的位置布尔值
更新 2
消息不可能与您的文本不同。 text- String-> 按钮的文本。如果使用了 none 个可选字段,它将在按下按钮时作为消息发送给机器人
你看过 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
文本,当用户单击内联按钮。
请注意,当用户单击内联按钮时,机器人不会向用户发送任何消息。如果您当时需要发送任何消息 - 您可以通过编程方式进行。
我需要我的机器人打印与其标题不同的消息(由电报客户端在键盘按钮元素上显示)。
我的自定义按钮有这样的文本:"Where am I?"
,当我点击它时,它也会打印在屏幕上 "Where am I?"
。
我希望按钮打印 "/location"
。(与它的 text
字段不同的东西)
如何实现?我正在使用 C#
和 Telegram Bot API
编辑:
我想要的:
- 当用户单击此按钮时,电报客户端会发送
/age
[作为他键入的消息] 的消息,但 NOT 发送show my age
(这是该按钮text
字段 )
所以:我想要一个带有 text
的按钮。当用户单击按钮时,我希望发送的消息与 text
.
位置有一个布尔字段,你把它设置为真了吗? https://core.telegram.org/bots/api#keyboardbutton
更新: 当您向用户发送回复时,您也发送了一个 ReplyKeyboardMarkup。 ReplyKeyboardMarkup 有一个名为 keyboard 的字段,它是 KeyboardButton 数组的数组。 在每个 KeyboardButton 上,如果您希望该按钮发送位置,则需要将其设置为 true 的位置布尔值
更新 2
消息不可能与您的文本不同。 text- String-> 按钮的文本。如果使用了 none 个可选字段,它将在按下按钮时作为消息发送给机器人
你看过 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
文本,当用户单击内联按钮。
请注意,当用户单击内联按钮时,机器人不会向用户发送任何消息。如果您当时需要发送任何消息 - 您可以通过编程方式进行。