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)
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
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)
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)
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)