コード例 #1
0
 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);
     }
 }
コード例 #2
0
        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;
                  } },