private static void Bot_OnCallbackQuery(object sender, Telegram.Bot.Args.CallbackQueryEventArgs e) { Task.Run(() => { var x = db.GetUserByUID(e.CallbackQuery.From.Id); if (x != null) { switch (e.CallbackQuery.Data) { case "get": x.page = Page.Get; var k = GAuthBotDevBot.Keyboard.Generator.Create(x, backPage: Page.Main); bot.EditMessageTextAsync(x.uid, x.messageid, Translator.get.first_message, replyMarkup: k); break; case "add": x.page = Page.Add; bot.EditMessageTextAsync(x.uid, x.messageid, "Send your Google Auth secret code using this format\n\n<code>[Issuer/Website] [CODE]\n\nEg: gugel.com 131512312SA</code>", parseMode: ParseMode.Html, replyMarkup: Layout.key2); break; case "rem": x.page = Page.Remove; var kk = GAuthBotDevBot.Keyboard.Generator.Create(x, backPage: Page.Main); bot.EditMessageTextAsync(x.uid, x.messageid, Translator.get.first_message, replyMarkup: kk); break; case "cancel": bot.EditMessageTextAsync(x.uid, x.messageid, Translator.get.first_message, replyMarkup: Keyboard.Layout.key1); x.page = Page.Main; break; default: switch (x.page) { case Page.Get: if (e.CallbackQuery.Data == Page.Main.ToString()) { bot.EditMessageTextAsync(x.uid, x.messageid, Translator.get.first_message, replyMarkup: Keyboard.Layout.key1); x.page = Page.Main; } else if (x.accounts.ContainsKey(e.CallbackQuery.Data)) { bot.AnswerCallbackQueryAsync(e.CallbackQuery.Id, new API(API.OTPType.TOTP, x.accounts[e.CallbackQuery.Data].secret_code).Now(), true); } break; case Page.Remove: if (x.accounts.ContainsKey(e.CallbackQuery.Data)) { x.accounts.Remove(e.CallbackQuery.Data); bot.AnswerCallbackQueryAsync(e.CallbackQuery.Id, "Deleted!", true); } bot.EditMessageTextAsync(x.uid, x.messageid, Translator.get.first_message, replyMarkup: Keyboard.Layout.key1); x.page = Page.Main; break; } break; } db.Update(x); } else { bot.SendTextMessageAsync(e.CallbackQuery.Message.From.Id, Translator.get.callback_query_user_not_found); } }); }