protected bool TryShowPrevious(ISession session, CallbackQuery callbackQuerry) { if (KeyboardActionsManager.CheckNeeding(NeedPreviousButton, message.HaveInlineKeyboard, session, callbackQuerry, DefaultStrings.Previous, () => ButtonIdManager.GetIDFromCallbackData(callbackQuerry.Data) == Id)) { SendPrevious(session, callbackQuerry.Message); return(true); } else { return(false); } }
public GlobalFilter() { messageFuncs = new Dictionary <string, Func <ISession, Message, Task> >() { { "/start", async(session, message) => { await session.BotClient.SendTextMessageAsync( message.Chat.Id, session.Translate(DefaultStrings.Hello)); session.GoToNode(session.MarkupTree.Root); } }, { "/show", async(session, message) => { string command = message.Text.Trim(); if (command.Length <= 6) { await session.BotClient.SendTextMessageAsync(message.Chat.Id, session.Translate(DefaultStrings.UnknownCommand)); return; } string containerName = command.Substring(6); if (session.Vars.TryGetVar(containerName, out MetaValuedContainer <decimal> container)) { await container.SendMessage(session); } else { await session.BotClient.SendTextMessageAsync(message.Chat.Id, session.Translate(DefaultStrings.UnknownCommand)); } } } }; callbackFuncs = new Dictionary <string, Func <ISession, CallbackQuery, Task> >() { //Переход к узлу { DefaultStrings.GoTo, async(session, callbackQuerry) => { int nodeId = ButtonIdManager.GetIDFromCallbackData(callbackQuerry.Data); var node = session.MarkupTree.GetNodeById(nodeId); session.GoToNode(node, out var task); await task; } },