public async override Task ExecuteAsync(CommandContext context) { if (context.IsCallback && context.Message != null) { await BotClient.EditMessageReplyMarkupAsync(context.Message.Chat, context.Message.MessageId, InlineKeyboardMarkup.Empty()); } CommandState newState = CommandState.MainMenu; string message = Localizer["BackMainMenu"]; var keyboard = CommandKeyboards.GetMainMenu(Localizer); if (context.State == CommandState.EditBookMenu) { context.SelectedBook = null; newState = CommandState.BookMenu; message = Localizer["BackBookMenu"]; keyboard = CommandKeyboards.GetBookMenu(Localizer); } else { context.SelectedBook = null; context.SelectedBookshelf = null; } context.ChangeState(newState); await BotClient.SendTextMessageAsync(context.Message.Chat, message, replyMarkup : keyboard); context.RedirectToCommand("/help"); }
public async override Task ExecuteAsync(CommandContext context) { if (InputData(context, out string input)) { if (context.IsCallback) { await BotClient.EditMessageReplyMarkupAsync(context.Message.Chat, context.Message.MessageId, InlineKeyboardMarkup.Empty()); } string message = Localizer["LanguageError"]; if (availableLanguages.Any(a => a == input)) { context.User.Language = input; message = Localizer["LanguageSuccess"]; } await BotClient.SendTextMessageAsync(context.Message.Chat, message); } else { List <List <InlineKeyboardButton> > buttons = new List <List <InlineKeyboardButton> >(); foreach (var language in availableLanguages) { var row = new List <InlineKeyboardButton>(); row.Add(language); buttons.Add(row); } InlineKeyboardMarkup markup = new InlineKeyboardMarkup(buttons); await BotClient.SendTextMessageAsync(context.Message.Chat, Localizer["LanguageEnter"], replyMarkup : markup); } }
public Task OnCallbackQueryAsync(CallbackQueryEventArgs e) { _user = e.CallbackQuery.Message.From; return(BotClient.EditMessageReplyMarkupAsync( e.CallbackQuery.Message.Chat.Id, e.CallbackQuery.Message.MessageId, null) .ContinueWith(_ => ProcessMessageAsync(e.CallbackQuery.Data, e.CallbackQuery.Message))); }
private async Task EditCallbackMessage(CommandContext context) { if (context.Message != null && context.Message.ReplyMarkup != InlineKeyboardMarkup.Empty()) { await BotClient.EditMessageReplyMarkupAsync(context.Message.Chat, context.Message.MessageId, InlineKeyboardMarkup.Empty()); } context.RedirectToCommand($"/select{context.Parameters}"); }
private async Task ProcessCallback(CommandContext context) { if (context.Message != null) { await BotClient.EditMessageReplyMarkupAsync(context.Message.Chat, context.Message.MessageId, InlineKeyboardMarkup.Empty()); if (context.Parameters == "r") { context.RedirectToCommand("/remove", context.SelectedBook.Title); } else { context.RedirectToCommand($"/edit{context.Parameters}"); } } }
private async Task ProcessCallback(CommandContext context) { if (context.Message != null && context.Message.ReplyMarkup != InlineKeyboardMarkup.Empty()) { await BotClient.EditMessageReplyMarkupAsync(context.Message.Chat, context.Message.MessageId, InlineKeyboardMarkup.Empty()); string command; if (string.IsNullOrEmpty(context.Parameters)) { command = "/remove"; } else { command = $"/edit{context.Parameters}"; } context.RedirectToCommand(command); } }
private Task ClearInlineResponseOptions(int messageId) { return(BotClient.EditMessageReplyMarkupAsync(ChatId, messageId, null)); }