【发布时间】:2022-05-21 20:14:25
【问题描述】:
我有一个方法可以接收回调查询回调查询基于按下的内置按钮。 根据收到的数据,我想调用几个方法 我怎样才能做到正确?我目前的解决方案很难看,因为如果有 10 个或更多按钮,这等于 10 个条件。我的解决方案之一是字典,但由于调用了多个方法,我无法实现它。 请原谅我的英语,我的方法将在底部:
private static async Task BotOnCallbackQueryReceived(ITelegramBotClient botClient, CallbackQuery callbackQuery)
{
string url = $\"https://api.telegram.org/bot{Configuration.BotToken}/sendMessage?chat_id={Configuration.idPrivateChannelProgrammers}&text={$\"{Configuration.textMessageToSend} @{callbackQuery.From.Username}.\"}\";
if (callbackQuery.Data == \"testString1\")
{
SendsAMessageToUrlApiTelegramBot(url);
_ = SendsAMessageToTheUserAsync(botClient, callbackQuery);
}
if (callbackQuery.Data == \"testString2\")
{
//string url = $\"https://api.telegram.org/bot{Configuration.BotToken}/sendMessage?chat_id={Configuration.idPrivateChannelItManager}&text={$\"{Configuration.textMessageToSend} @{callbackQuery.From.Username}.\"}\";
SendsAMessageToUrlApiTelegramBot(url);
_ = SendsAMessageToTheUserAsync(botClient, callbackQuery);
}
if (callbackQuery.Data == \"HelpUser\")
{
const string messageCallb = \"testString3\";
await botClient.SendTextMessageAsync(
chatId: callbackQuery.Message.Chat.Id,
text: $\"{messageCallb}\");
}
}
标签: c# .net telegram-bot clean-architecture