예제 #1
0
async def process_callback_button1(callback_query: types.CallbackQuery):
    global product
    # Известные категории из БД.
    markup = InlineKeyboardMarkup(row_width=1)
    for items in DBMS.all_categories():
        item = InlineKeyboardButton(items, callback_data=items)
        markup.add(item)
    # Выбор новой.
    item = InlineKeyboardButton('Новая категория', callback_data="new")
    markup.add(item)

    await bot.send_message(callback_query.message.chat.id,
                           'Выбери категорию:',
                           reply_markup=markup)
예제 #2
0
    # Известные категории из БД.
    markup = InlineKeyboardMarkup(row_width=1)
    for items in DBMS.all_categories():
        item = InlineKeyboardButton(items, callback_data=items)
        markup.add(item)
    # Выбор новой.
    item = InlineKeyboardButton('Новая категория', callback_data="new")
    markup.add(item)

    await bot.send_message(callback_query.message.chat.id,
                           'Выбери категорию:',
                           reply_markup=markup)


# Если была выбрана уже известная категория.
@dp.callback_query_handler(lambda c: c.data in DBMS.all_categories())
async def process_callback_button1(callback_query: types.CallbackQuery):
    global product
    product.category = callback_query.data
    DBMS.add_product(product)
    await bot.send_message(
        callback_query.message.chat.id,
        f"Товар {product.codename} на сумму {product.price} "
        f"добавлен в категорию {product.category}.")


# Если была выбрана новая категория.
@dp.callback_query_handler(lambda c: c.data == 'new')
async def process_callback_button1(callback_query: types.CallbackQuery):
    await Statement.answer.set()
    await bot.send_message(callback_query.message.chat.id,
product = DBMS.product_exist(raw_message)

print(product)


#%% Если категория уже в БД, но продукт - нет.
raw_message = 'Клубника - 200'
product = DBMS.product_exist(raw_message)
if not product.category:
    product.category = 'Продукты'
DBMS.add_product(product)


#%% Вывод всех категорий при помощи метода all_categories.
print('Все категории:')
[print(category) for category in DBMS.all_categories()]


#%% Вывод всех расходов по категориям.
print(DBMS.db.all_categories_costs())


##############
### Доходы ###
##############

#%% Создаем сообщение.
raw_message = 'Валера - 18000'


#%% Добавляем доход в БД.