2017-09-10 8 views
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); 
        } 
       } 


    } 

を編集どのように私は、このボタンは、ウェブフックメソッドではなく、コンソールプログラムでもクリックされ得ることができますか?

+0

あなたは「クリックされたボタンを取得する」とはどういう意味ですか? 誰かがボタンをクリックしたときの反応をどのように得ることができるか質問していますか? –

+0

もちろん、もちろん!しかし、Webhookモデルの電報では、APIを使用してサーバー、何か解決策がありますか? –

+0

あなたはテレグラムサーバーからjsonを受け取ることができましたか?そうでない場合は、クイック検索で回答を得ることができます。 はその後あなただけの 'callback_query'フィールドは、受信したJSONに存在しているかどうかを確認する必要があります。 –

答えて

0

は最終的に私は答えを見つける、問題のコード行です:

var message = update.Message; 

この行は試し catchブロックと私ではないため、このコード行が主な問題ですどのラインが問題であるのか理解できません。

この問題が発生した後、私はあなた
のための提案を持っているあなたは、この目的のためにあなたが手順の下に3を実行することができ、任意のホスト上の任意のコードをアップロードしなくても、あなたのパソコンであなたの電報ボットをデバッグすることができます::

あなたに電報ウェブフック要求を転送することができますngrokダウンロード後

1- Accessing an IIS Express site from a remote computer

2- Download NGROK

、3-パソコン 。

関連する問題