如何在 telegram .net api 中创建自定义键盘?
how to create custom keyboard in telegram .net api?
if (update.Message.Text == "/hi" || update.Message.Text == "hi")
{
bot.MakeRequestAsync(new SendMessage(update.Message.Chat.Id, "TEST!")).Wait();
}
telegram api for .net 具有 keyboardmuckup 类型,但在我看到的任何示例中都没有用户。我可以在电报机器人 api 中实现自定义键盘以从按钮而不是命令文本获取用户的命令吗?
绝对是的。你永远不会在代码中看到 ReplyKeyboardMarkup
,而是在电报机器人中看到 documnetation。如果您查看此文档,您会看到许多部分(例如 ReplyKeyboardMarkup
,每个部分都有一些 Field
。您必须发送这些字段(特别是那些 Required
字段)及其值,Telegram会认识到那些没有提及标题的字段(例如标题是 ReplyKeyboardMarkup
),您不得在代码中提及这些标题。
你可以在 php here 中看到一个可用的键盘。
一切都像发送消息一样简单,keybords 的要点是使用相互嵌套的三重数组
pseudo code:
keyboard = [[ [key element 1 data] , [key element 2 data] ,[key element 3 data] ]]
在 C# 中你可以这样做:
using NetTelegramBotApi.Types;
enter code here
ReplyKeyboardMarkup myKeyboard = new ReplyKeyboardMarkup()
{
Keyboard = new string[][]
{
new string[] { "raw1 key1", "raw1 key2","raw1 key3 " },
new string[] { "raw2 key1", "raw2 key2","raw2 key3 " }
}
};
第一个字符串数组显示在第一个原始数组中,第二个数组显示在第二个原始数组中...
您可以通过 sendMessage:
将此键盘发送给用户
var req =new SendMessage(chatId,"Text if you want") { ReplyMarkup = myKeyboard };
await bot.MakeRequestAsync(req);
if (update.Message.Text == "/hi" || update.Message.Text == "hi")
{
bot.MakeRequestAsync(new SendMessage(update.Message.Chat.Id, "TEST!")).Wait();
}
telegram api for .net 具有 keyboardmuckup 类型,但在我看到的任何示例中都没有用户。我可以在电报机器人 api 中实现自定义键盘以从按钮而不是命令文本获取用户的命令吗?
绝对是的。你永远不会在代码中看到 ReplyKeyboardMarkup
,而是在电报机器人中看到 documnetation。如果您查看此文档,您会看到许多部分(例如 ReplyKeyboardMarkup
,每个部分都有一些 Field
。您必须发送这些字段(特别是那些 Required
字段)及其值,Telegram会认识到那些没有提及标题的字段(例如标题是 ReplyKeyboardMarkup
),您不得在代码中提及这些标题。
你可以在 php here 中看到一个可用的键盘。
一切都像发送消息一样简单,keybords 的要点是使用相互嵌套的三重数组
pseudo code:
keyboard = [[ [key element 1 data] , [key element 2 data] ,[key element 3 data] ]]
在 C# 中你可以这样做:
using NetTelegramBotApi.Types;
enter code here
ReplyKeyboardMarkup myKeyboard = new ReplyKeyboardMarkup()
{
Keyboard = new string[][]
{
new string[] { "raw1 key1", "raw1 key2","raw1 key3 " },
new string[] { "raw2 key1", "raw2 key2","raw2 key3 " }
}
};
第一个字符串数组显示在第一个原始数组中,第二个数组显示在第二个原始数组中... 您可以通过 sendMessage:
将此键盘发送给用户var req =new SendMessage(chatId,"Text if you want") { ReplyMarkup = myKeyboard };
await bot.MakeRequestAsync(req);