Нет события OnCallbackQuery у бота

Всем привет! Пишу бота для Telegram на C#. Мне необходимо, чтобы при нажатии на кнопку писалось сообщение. Загуглив, я нашел, что необходимо подписаться на событие OnCallbackQuery, однако, такого события у бота почему-то нет. Вот весь код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telegram.Bot.Types;
using Telegram.Bot;
using Telegram.Bot.Extensions.Polling;
using Telegram.Bot.Types.ReplyMarkups;
using Telegram.Bot.Requests;
using Telegram.Bot.Args;

namespace TelegramBot
{
    public class BotWorker
    {
        public ITelegramBotClient Bot { get; set; }

        public BotWorker(string token)
        {
            Bot = new TelegramBotClient(token);
        }

        private async Task HandleUpdateAsync(ITelegramBotClient client, Update update, CancellationToken cancellationToken)
        {
            Console.WriteLine(JsonConvert.SerializeObject(update));

            switch (update.Type)
            {
                case Telegram.Bot.Types.Enums.UpdateType.Message:
                    Message message = update.Message;
                    switch (update.Message.Text.ToLower())
                    {
                        case "/start":
                            await client.SendTextMessageAsync(message.Chat, "Добро пожаловать на борт!",
                                                              replyMarkup: GetStartMenuButtons(),
                                                              cancellationToken: cancellationToken);
                            return;
                        default:
                            break;
                    }
                    break;
                case Telegram.Bot.Types.Enums.UpdateType.CallbackQuery:
                    CallbackQuery query = update.CallbackQuery;
                    Bot.OnCallbackQuery += async (object sc, Telegram.Bot.Args.CallbackQueryEventArgs ev) =>
                    {
                        var message = ev.CallbackQuery.Message;
                        if (ev.CallbackQuery.Data == "callback1")
                        {
                            // сюда то что тебе нужно сделать при нажатии на первую кнопку 
                        }
                        else
                        if (ev.CallbackQuery.Data == "callback2")
                        {
                            // сюда то что нужно сделать при нажатии на вторую кнопку
                        }
                    };
                    if (query.Data == "ask_question")
                    {
                        await client.SendTextMessageAsync(update.Message.Chat, "Напишите свой вопрос",
                                                          cancellationToken: cancellationToken);
                    }
                    break;
                default:
                    break;
            }
        }

        private async Task HandleErrorAsync(ITelegramBotClient client, Exception exception, CancellationToken cancellationToken)
        {
            Console.WriteLine(JsonConvert.SerializeObject(exception));
        }

        private InlineKeyboardMarkup GetStartMenuButtons()
        {
            return new InlineKeyboardMarkup(new List<InlineKeyboardButton[]>
            {
                new[] 
                {
                InlineKeyboardButton.WithCallbackData("Задать вопрос", "ask_question"),
                },

                new[]
                {
                InlineKeyboardButton.WithCallbackData("Сообщить о проблеме", "report_problem"),
                },
            });
        }

        public void StartBot(BotWorker botWorker)
        {
            Console.WriteLine("Запущен бот " + botWorker.Bot.GetMeAsync().Result.FirstName);

            var cts = new CancellationTokenSource();
            var cancellationToken = cts.Token;
            var receiverOptions = new ReceiverOptions
            {
                AllowedUpdates = { }
            };
            botWorker.Bot.StartReceiving(
                HandleUpdateAsync,
                HandleErrorAsync,
                receiverOptions,
                cancellationToken
                );
            Console.ReadLine();
        }
    }
}

Ответы (0 шт):