PEP
This commit is contained in:
@@ -3,3 +3,4 @@ from . import catalog
|
||||
from . import cart
|
||||
from . import checkout
|
||||
from . import ordering
|
||||
from . import support
|
||||
|
@@ -24,4 +24,4 @@ async def catalog(message: types.Message):
|
||||
),
|
||||
parse_mode="Markdown",
|
||||
reply_markup=item_list(items=len(items))
|
||||
)
|
||||
)
|
||||
|
@@ -9,7 +9,7 @@ from state.state import UserState
|
||||
|
||||
|
||||
@dp.message_handler(lambda x: x.text == messages.checkout)
|
||||
async def checkout(message:types.Message):
|
||||
async def checkout(message: types.Message):
|
||||
items = get_user_cart(message.from_user.id)
|
||||
output: str = ""
|
||||
cost = 0
|
||||
@@ -22,14 +22,14 @@ async def checkout(message:types.Message):
|
||||
await UserState.confirm.set()
|
||||
|
||||
|
||||
@dp.message_handler(lambda x: x.text == messages.all_right_message)
|
||||
async def continue_user_form(message: types.Message):
|
||||
@dp.message_handler(lambda x: x.text == messages.all_right_message, state="save_or_continue")
|
||||
async def continue_user_form():
|
||||
pass
|
||||
|
||||
|
||||
@dp.message_handler(lambda x: x.text == messages.save_and_continue, state="*")
|
||||
@dp.message_handler(lambda x: x.text == messages.save_and_continue, state="save_or_continue")
|
||||
async def save_user_info(message: types.Message):
|
||||
state = dp.current_state(chat=message.chat.id, user=message.from_user.id)
|
||||
info = await state.get_data()
|
||||
save_info(user_id=message.from_user.id, **info)
|
||||
await continue_user_form(message)
|
||||
await continue_user_form()
|
||||
|
@@ -16,28 +16,27 @@ async def confirm(message: types.Message, state: FSMContext):
|
||||
info = get_info(message.from_user.id)
|
||||
|
||||
await bot.send_message(
|
||||
message.chat.id,
|
||||
message.chat.id,
|
||||
"Может у вас есть сохраненные данные?",
|
||||
reply_markup=load_info(bool(info))
|
||||
)
|
||||
await Checkout.loaded.set()
|
||||
await state.set_state(state="load_data")
|
||||
|
||||
|
||||
@dp.message_handler(lambda x: x.text == messages.load_data, state=Checkout.loaded)
|
||||
@dp.message_handler(lambda x: x.text == messages.load_data, state="load_data")
|
||||
async def load_form(message: types.message, state: FSMContext):
|
||||
info = get_info(message.from_user.id)
|
||||
await state.update_data(
|
||||
loaded=True,
|
||||
first_name = info["first_name"],
|
||||
last_name = info["last_name"],
|
||||
phone_number = info["phone_number"],
|
||||
address = info["address"]
|
||||
first_name=info["first_name"],
|
||||
last_name=info["last_name"],
|
||||
phone_number=info["phone_number"],
|
||||
address=info["address"]
|
||||
)
|
||||
await bot.send_message(message.chat.id, "Ваши данные загружены!", reply_markup=continue_btn)
|
||||
await Checkout.finish.set()
|
||||
await state.set_state("finish_send_form")
|
||||
|
||||
|
||||
@dp.message_handler(lambda x: x.text == messages.rewrite_data, state=Checkout.loaded)
|
||||
@dp.message_handler(lambda x: x.text == messages.rewrite_data, state="load_data")
|
||||
async def new_form(message: types.Message, state: FSMContext = None):
|
||||
await state.update_data(loaded=False)
|
||||
await bot.send_message(
|
||||
@@ -65,7 +64,7 @@ async def form_first_name(message: types.Message, state: FSMContext):
|
||||
await bot.send_message(
|
||||
message.chat.id,
|
||||
("Номер телефона\n\n"
|
||||
"Можете написать номер телефона вручную"),
|
||||
"Можете написать номер телефона вручную"),
|
||||
reply_markup=get_phone_number
|
||||
)
|
||||
await Checkout.phone_number.set()
|
||||
@@ -73,36 +72,39 @@ async def form_first_name(message: types.Message, state: FSMContext):
|
||||
|
||||
@dp.message_handler(state=Checkout.phone_number, content_types=[types.ContentType.CONTACT, types.ContentType.TEXT])
|
||||
async def form_phone(message: types.Message, state: FSMContext):
|
||||
if message.contact is not None:
|
||||
phone=message.contact.phone_number
|
||||
else: phone=message.text
|
||||
if len(phone) in [10,12,13]:
|
||||
await state.update_data(phone_number=phone)
|
||||
await bot.send_message(message.chat.id, "Отправте адрес доставки", reply_markup=cancel_btn)
|
||||
await Checkout.address.set()
|
||||
else:
|
||||
if message.contact is not None:
|
||||
phone = message.contact.phone_number
|
||||
else:
|
||||
phone = message.text
|
||||
if len(phone) not in [10, 12, 13]:
|
||||
await bot.send_message(message.chat.id, "Номер телефона не правильный!")
|
||||
await Checkout.phone_number.set()
|
||||
return
|
||||
|
||||
await state.update_data(phone_number=phone)
|
||||
await bot.send_message(message.chat.id, "Отправте адрес доставки", reply_markup=cancel_btn)
|
||||
await Checkout.address.set()
|
||||
|
||||
|
||||
@dp.message_handler(state=Checkout.address)
|
||||
async def form_address(message: types.Message, state: FSMContext):
|
||||
await state.update_data(address=message.text)
|
||||
await bot.send_message(message.chat.id, "Отлично заявка заполнена!", reply_markup=continue_btn)
|
||||
await Checkout.finish.set()
|
||||
await bot.send_message(message.chat.id, "Отлично, заявка заполнена!", reply_markup=continue_btn)
|
||||
await state.set_state("finish_send_form")
|
||||
|
||||
|
||||
@dp.message_handler(state=Checkout.finish)
|
||||
@dp.message_handler(state="finish_send_form")
|
||||
async def finish_form(message: types.Message, state: FSMContext):
|
||||
data = await state.get_data()
|
||||
|
||||
text = (f"Имя: {data['first_name']}\n"
|
||||
f"Фамилия: {data['last_name']}\n"
|
||||
f"Номер телефона: {data['phone_number']}\n"
|
||||
f"Адрес: {data['address']}\n"
|
||||
)
|
||||
f"Фамилия: {data['last_name']}\n"
|
||||
f"Номер телефона: {data['phone_number']}\n"
|
||||
f"Адрес: {data['address']}\n"
|
||||
)
|
||||
await bot.send_message(
|
||||
message.chat.id,
|
||||
message.chat.id,
|
||||
text,
|
||||
reply_markup=confirm_all_info()
|
||||
)
|
||||
await state.set_state("save_or_continue")
|
||||
|
@@ -1,7 +1,7 @@
|
||||
from aiogram import types
|
||||
from aiogram.dispatcher.filters import CommandStart
|
||||
|
||||
from load import dp, bot, messages
|
||||
from load import dp, bot, messages
|
||||
from keyboard.default.main_menu import main_menu
|
||||
from utils.database.base import get_admins, get_operator
|
||||
from utils.database.user import Register
|
||||
@@ -18,6 +18,7 @@ async def start(message: types.Message):
|
||||
reply_markup=main_menu(admin=is_bot_admin, operator=is_operator)
|
||||
)
|
||||
|
||||
|
||||
@dp.message_handler(lambda x: x.text == messages.back)
|
||||
async def back_to_menu(message: types.Message):
|
||||
is_bot_admin = message.from_user.id in get_admins()
|
||||
@@ -36,11 +37,11 @@ async def cancel(message: types.Message):
|
||||
await back_to_menu(message)
|
||||
|
||||
|
||||
@dp.message_handler(lambda x:x.text == messages.info)
|
||||
@dp.message_handler(lambda x: x.text == messages.info)
|
||||
async def userinfo(message: types.Message):
|
||||
await bot.send_message(
|
||||
message.chat.id,
|
||||
("User_id: <code>{user_id}</code>").format(user_id=message.from_user.id),
|
||||
message.chat.id,
|
||||
"User_id: <code>{user_id}</code>".format(user_id=message.from_user.id),
|
||||
parse_mode="HTML"
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user