public static LibActionResult SendUserName(string userInput, Chat chat, TelegramBotClient botClient)
        {
            DomainDataContext chatDomainDataContext = (DomainDataContext)chat.DataContext;
            string            userName = chatDomainDataContext.UserName;

            TelegramActions.sendMessage(chat.СhatId, userName, null, Program.config.BotClient);

            return(new LibActionResult()
            {
                Status = true
            });
        }
예제 #2
0
        public static LibActionResult PrintExpense(string userInput, Chat chat, TelegramBotClient botClient)
        {
            string messageText = String.Format("{0} - {1}",
                                               ((DomainDataContext)chat.DataContext).CurrentExpense.Category.Name,
                                               ((DomainDataContext)chat.DataContext).CurrentExpense.ExpenseValue
                                               );
            var status = TelegramActions.sendMessage(chat.СhatId, messageText, null, botClient);

            return(new LibActionResult()
            {
                Status = status
            });
        }
        public static LibActionResult SendSheetsListForSelect(string userInput, Chat chat, TelegramBotClient botClient)
        {
            var connector   = ((DomainDataContext)chat.DataContext).GoogleSheetsConnector;
            var status      = false;
            var messageText = "Выбери лист, на котором будут учитываться расходы";

            var r = AuthorizeAndGetSheetsService(userInput, chat, botClient);

            if (r.Status == false)
            {
                return(new LibActionResult()
                {
                    Status = false,
                    ErrorMessage = "Не удалось авторизовать твой аккаунт у Гугла:("
                });
            }

            var sheetsList = connector.SheetsService.Spreadsheets.Get(connector.SpreadsheetId)
                             .Execute().Sheets;

            var buttonsList = new List <InlineKeyboardButton>();

            foreach (var sheet in sheetsList)
            {
                buttonsList.Add(
                    InlineKeyboardButton.WithCallbackData(
                        sheet.Properties.Title,
                        sheet.Properties.SheetId.ToString()
                        )
                    );
            }

            var inlineKeyboard = new InlineKeyboardMarkup(buttonsList);

            status = TelegramActions.sendMessage(chat.СhatId, messageText, inlineKeyboard, botClient);

            return(new LibActionResult()
            {
                Status = status
            });
        }
예제 #4
0
        public static LibActionResult SendExpenseCategoriesList(string userInput, Chat chat, TelegramBotClient botClient)
        {
            var    status      = false;
            string messageText = "Выбери категорию расходов:";
            var    categories  = ((DomainDataContext)chat.DataContext).ExpenseCategories;

            var buttonsList = new List <InlineKeyboardButton>();

            foreach (var category in categories)
            {
                buttonsList.Add(InlineKeyboardButton.WithCallbackData(category.Name));
            }

            var inlineKeyboard = new InlineKeyboardMarkup(buttonsList);

            status = TelegramActions.sendMessage(chat.СhatId, messageText, inlineKeyboard, botClient);

            return(new LibActionResult()
            {
                Status = status
            });
        }