예제 #1
0
def send_message_to_choose_category(telegram_user_id, amount_money):
    with session_scope() as session:
        user = session.query(User).filter(User.telegram_user_id == telegram_user_id).first()
        buttons = make_buttons_for_choose_category(count_buttons_per_row=config['buttons_per_row'],
                                                   categories=CategoryEarning.get_all_categories(session, user.id))
    buttons = add_buttons_exit_and_back(buttons)
    keyboard = ReplyKeyboardMarkup(buttons, resize_keyboard=True)
    bot.send_message(chat_id=telegram_user_id,
                     text=text_to_choose_category(amount_money),
                     parse_mode=telegram.ParseMode.HTML,
                     reply_markup=keyboard)
예제 #2
0
def to_edit_category(update: Update, context: CallbackContext):
    context.user_data['back_func'] = to_menu_manage_categories
    with session_scope() as session:
        categories = context.user_data['category_manager'].get_all_categories(
            session, update.message.from_user.id)
        buttons = make_buttons_for_choose_category(config['buttons_per_row'],
                                                   categories)
    bot.send_message(chat_id=update.message.from_user.id,
                     text=text_edit_category(),
                     reply_markup=ReplyKeyboardMarkup(
                         add_buttons_exit_and_back(buttons),
                         resize_keyboard=True),
                     parse_mode=telegram.ParseMode.HTML)
    return States.TO_EDIT_CATEGORY
예제 #3
0
 def test_nine_categories(self):
     categories = self.init_categories(9)
     expected = [[
         self.category.category, self.category.category,
         self.category.category
     ],
                 [
                     self.category.category, self.category.category,
                     self.category.category
                 ],
                 [
                     self.category.category, self.category.category,
                     self.category.category
                 ]]
     answer = make_buttons_for_choose_category(3, categories)
     self.assertListEqual(answer, expected)
예제 #4
0
 def get_keyboard_choose_categories(self, session):
     categories = CategoryEarning.get_all_categories(session, self.user.id)
     buttons = make_buttons_for_choose_category(config['buttons_per_row'],
                                                categories)
     return ReplyKeyboardMarkup(add_buttons_exit_and_back(buttons),
                                resize_keyboard=True)
예제 #5
0
def get_keyboard_category_limit(categories):
    keyboard_categories = make_buttons_for_choose_category(
        config['buttons_per_row'], categories)
    keyboard_categories.insert(0, [text_button_general_category])
    return ReplyKeyboardMarkup(add_buttons_exit_and_back(keyboard_categories),
                               resize_keyboard=True)