import os
from config import db, bot
from aiogram import types
def get_faq_admin():
faq_list = db.get_all_faq_adm()
mkp = types.InlineKeyboardMarkup()
for i in faq_list:
mkp.add(types.InlineKeyboardButton(i[1], callback_data=f'changefaq_{i[0]}'))
mkp.add(types.InlineKeyboardButton('Новый раздел', callback_data='newfaq'))
mkp.add(types.InlineKeyboardButton('Вернуться в админ-панель', callback_data='admin'))
return mkp
def get_faq_user():
faq_list = db.get_all_faq()
mkp = types.InlineKeyboardMarkup()
for i in faq_list:
mkp.add(types.InlineKeyboardButton(i[1], callback_data=f'getfaq_{i[0]}'))
mkp.add(types.InlineKeyboardButton('Вернуться в меню', callback_data='tomenu'))
return mkp
def get_categories_admin():
cat_list = db.get_all_cat_adm()
mkp = types.InlineKeyboardMarkup()
for i in cat_list:
mkp.add(types.InlineKeyboardButton(i[1], callback_data=f'admincat_{i[0]}'))
mkp.add(types.InlineKeyboardButton('➕ Добавить категорию', callback_data='addcat'))
mkp.add(types.InlineKeyboardButton('🔙 Вернуться в админ-панель', callback_data='admin'))
return mkp
def get_categories_user():
cat_list = db.get_all_cat()
mkp = types.InlineKeyboardMarkup()
for i in cat_list:
mkp.add(types.InlineKeyboardButton(i[1], callback_data=f'usercat_{i[0]}'))
mkp.add(types.InlineKeyboardButton('Вернуться в меню', callback_data='tomenu'))
return mkp
def get_subcategories_admin(cat_id):
subcat_list = db.get_subcat_adm(cat_id)
mkp = types.InlineKeyboardMarkup()
for i in subcat_list:
mkp.add(types.InlineKeyboardButton(i[1], callback_data=f'adminsubcat_{i[0]}_{cat_id}'))
mkp.add(types.InlineKeyboardButton('➕ Добавить подкатегорию', callback_data=f'addsubcat_{cat_id}'))
mkp.add(types.InlineKeyboardButton('📝 Изменить название', callback_data=f'changenamecat_{cat_id}'))
mkp.add(types.InlineKeyboardButton('🗑 Удалить категорию', callback_data=f'delcat_{cat_id}'))
mkp.add(types.InlineKeyboardButton('🔙 Вернуться', callback_data='shopSettings'))
return mkp
def get_subcategories_user(cat_id):
subcat_list = db.get_subcat(cat_id)
mkp = types.InlineKeyboardMarkup()
for i in subcat_list:
mkp.add(types.InlineKeyboardButton(i[1], callback_data=f'usersubcat_{i[0]}'))
mkp.add(types.InlineKeyboardButton('🔙 Вернуться', callback_data='toshop'))
return mkp
def get_goods_admin(subcat_id, cat_id):
goods_list = db.get_goods(subcat_id)
mkp = types.InlineKeyboardMarkup()
for i in goods_list:
mkp.add(types.InlineKeyboardButton(i[1], callback_data=f'admingood_{i[0]}'))
mkp.add(types.InlineKeyboardButton('➕ Добавить товар', callback_data=f'addgood_{subcat_id}_{cat_id}'))
mkp.add(types.InlineKeyboardButton('📝 Изменить название', callback_data=f'changenamesubcat_{subcat_id}'))
mkp.add(types.InlineKeyboardButton('🗑 Удалить подкатегорию', callback_data=f'delsubcat_{subcat_id}'))
mkp.add(types.InlineKeyboardButton('🔙 Вернуться', callback_data=f'admincat_{cat_id}'))
return mkp
def get_good_instances_admin(goodId):
mkp = types.InlineKeyboardMarkup()
mkp.add(types.InlineKeyboardButton('➕ Добавить экземпляр', callback_data=f'addinstance_{goodId}'))
mkp.add(types.InlineKeyboardButton('🗑 Удалить все экземпляры', callback_data=f'Allinstancesdel_{goodId}'))
mkp.add(types.InlineKeyboardButton('🔙 Вернуться', callback_data=f'admingood_{goodId}'))
return mkp
async def send_admin_good(goodid, user_id):
good_info = db.get_goodinfo(int(goodid))
mkp = types.InlineKeyboardMarkup()
mkp = types.InlineKeyboardMarkup()
btn6 = types.InlineKeyboardButton('Экземпляры товара', callback_data=f'instances_{goodid}')
btn1 = types.InlineKeyboardButton('Название', callback_data=f'changegoodname_{goodid}')
btn2 = types.InlineKeyboardButton('Описание', callback_data=f'changegooddesc_{goodid}')
btn3 = types.InlineKeyboardButton('Цену', callback_data=f'changegoodprice_{goodid}')
btn4 = types.InlineKeyboardButton('Удалить', callback_data=f'delgood_{goodid}')
btn5 = types.InlineKeyboardButton('Отменить', callback_data='admin')
mkp.add(btn6).add(btn1).add(btn2, btn3).add(btn4).add(btn5)
if good_info[3] == 'None':
await bot.send_message(user_id, f'Название товара: {good_info[0]}
\nОписание товара: {good_info[1]}
\nЦена: {good_info[2]}
\n\nВыберите, что вы хотите изменить', reply_markup=mkp)
else:
await bot.send_photo(user_id, open(f'{os.getcwd()}/images/{good_info[3]}', 'rb'), caption=f'Название товара: {good_info[0]}
\nОписание товара: {good_info[1]}
\nЦена: {good_info[2]}
\n\nВыберите, что вы хотите изменить', reply_markup=mkp)
async def send_good(step, subcatid, user_id):
goods = db.get_goods_user(subcatid)
name = goods[step][1]
description = goods[step][2]
price = goods[step][3]
price = float(price)
price = f'{price:.2f}'
photo = goods[step][4]
goodid = goods[step][0]
nowCat = db.get_cat_id_by_subcat_id(subcatid)
mkp = types.InlineKeyboardMarkup()
if step == 0:
btn1 = types.InlineKeyboardButton('❌', callback_data='none')
else:
btn1 = types.InlineKeyboardButton('⬅', callback_data=f'catback_{subcatid}_{step-1}')
btn2 = types.InlineKeyboardButton(f'{step+1}/{len(goods)}', callback_data='none')
if step+1 == len(goods):
btn3 = types.InlineKeyboardButton('❌', callback_data='none')
else:
btn3 = types.InlineKeyboardButton('➡', callback_data=f'catnext_{subcatid}_{step+1}')
btn7 = types.InlineKeyboardButton('Купить', callback_data=f'buyGood_{goodid}_{subcatid}')
btn8 = types.InlineKeyboardButton('Назад', callback_data=f'usercat_{nowCat}')
print(db.get_good_instances(goodid))
if db.get_good_instances(goodid) != []:
mkp.add(btn1, btn2, btn3).add(btn7).add(btn8)
allSold = ''
else:
mkp.add(btn1, btn2, btn3).add(btn8)
allSold = '\n\nНА ДАННЫЙ МОМЕНТ ТОВАРА НЕТ В НАЛИЧИИ ❗️'
if photo == 'None':
await bot.send_message(user_id, f'Название товара: {name}
\nОписание: {description}\nЦена: {price}
${allSold}', reply_markup=mkp)
else:
await bot.send_photo(user_id, open(f'{os.getcwd()}/images/{photo}', 'rb'), caption=f'Название товара: {name}
\nОписание: {description}\nЦена: {price}
${allSold}', reply_markup=mkp)
async def anti_flood(*args, **kwargs):
m = args[0]
await m.answer("Не флуди")