0
どのように私はInlineKeyboardCallbackButtonは電報ボットでクリック入手できますか?ここでがどのように現在でCallbackDataを得ることができます
が私のコードです:私はコード
public async System.Threading.Tasks.Task<ActionResult> GetMsgAsync()
{
var req = Request.InputStream;
var responsString = new StreamReader(req).ReadToEnd();
var update = JsonConvert.DeserializeObject<Update>(responsString);
var message = update.Message;
var chat = message.Chat;
InlineKeyboardMarkup categoryInlineMarkup = new
InlineKeyboardMarkup(
new InlineKeyboardButton[][]
{
new InlineKeyboardButton[]
{
new InlineKeyboardCallbackButton("button1","callbackData")
}
}
);
await api.SendTextMessageAsync(update.Message.Chat.Id, "Please click the button", replyMarkup: categoryInlineMarkup);
if (update.Type == Telegram.Bot.Types.Enums.UpdateType.MessageUpdate)
{
// all codes just run in this block
}
if (update.Type == Telegram.Bot.Types.Enums.UpdateType.CallbackQueryUpdate)
{
// I can't get clicked button here
if (update.CallbackQuery.Data.Contains("callbackData"))
{
await api.AnswerCallbackQueryAsync(update.CallbackQuery.Id, update.CallbackQuery.Data);
}
}
}
を編集どのように私は、このボタンは、ウェブフックメソッドではなく、コンソールプログラムでもクリックされ得ることができますか?
あなたは「クリックされたボタンを取得する」とはどういう意味ですか? 誰かがボタンをクリックしたときの反応をどのように得ることができるか質問していますか? –
もちろん、もちろん!しかし、Webhookモデルの電報では、APIを使用してサーバー、何か解決策がありますか? –
あなたはテレグラムサーバーからjsonを受け取ることができましたか?そうでない場合は、クイック検索で回答を得ることができます。 はその後あなただけの 'callback_query'フィールドは、受信したJSONに存在しているかどうかを確認する必要があります。 –