【问题标题】:How to check reply status in C# - Telegram Bot如何在 C# 中检查回复状态 - Telegram Bot
【发布时间】:2019-09-10 08:44:19
【问题描述】:

如何使用 Telegram 查看键盘的回复。在我的电报机器人中使用 C# 的机器人框架?

我有下面的代码来得到用户的答案

if (e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Text && e.Message.Text == "/start")
{

    var rmu = new ReplyKeyboardMarkup();

    rmu.Keyboard = new KeyboardButton[][]
    {
         new KeyboardButton[]
             {
                  new KeyboardButton("\U0001F525 Yes,I Do!"),
                    new KeyboardButton("\U0001F61E No,I want to Register!")
                    },


    };
    rmu.ResizeKeyboard = true;
    rmu.OneTimeKeyboard = true;
    var message = string.Format("\U0001F44B Hello {0} , welcome to our system. Are you registered before?", e.Message.From.FirstName);
    Bot.SendTextMessageAsync(e.Message.Chat.Id, message, Telegram.Bot.Types.Enums.ParseMode.Default, false, false, 0, rmu, System.Threading.CancellationToken.None);

}

if (e.Message.Type == Telegram.Bot.Types.Enums.MessageType.Text)
{
    Console.WriteLine(e.Message.From.Username);
    Console.WriteLine(e.Message.Text);

    if(e.Message.Text.Contains("Yes,I Do!"))
    {
        var rmu = new ReplyKeyboardMarkup();

        rmu.Keyboard = new KeyboardButton[][]
        {
         new KeyboardButton[]
             {
                  new KeyboardButton("\U0001F512 Forgot username or password"),
                    },


        };
        rmu.ResizeKeyboard = true;

        Bot.SendTextMessageAsync(e.Message.Chat.Id, "Please enter your username in our system.", Telegram.Bot.Types.Enums.ParseMode.Default, false, false, 0, rmu, System.Threading.CancellationToken.None);
    }
}

我怎样才能得到答案的结果,这个框架中有没有什么功能或smthng?

【问题讨论】:

    标签: c# bots telegram


    【解决方案1】:

    您会以 CallbackQuery 的形式收到答案。 一、订阅接收回调查询:

    Bot.OnCallbackQuery += Bot_OnCallbackQuery;
    

    然后像处理常规消息一样处理它们:

    private static void Bot_OnCallbackQuery(object sender, CallbackQueryEventArgs e){
    // some code
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      • 2018-02-10
      • 2018-03-27
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      相关资源
      最近更新 更多