You've already forked Travel-Agent
chore: Code refactoring
This commit is contained in:
@@ -213,7 +213,7 @@ async def profile_change_entered(message: Message, state: FSMContext) -> None:
|
|||||||
city=user.city,
|
city=user.city,
|
||||||
),
|
),
|
||||||
message.chat.id,
|
message.chat.id,
|
||||||
state_data["message_id"],
|
state_data["profile_message_id"],
|
||||||
reply_markup=get(),
|
reply_markup=get(),
|
||||||
)
|
)
|
||||||
except TelegramBadRequest:
|
except TelegramBadRequest:
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from aiogram.types import Message, ReplyKeyboardRemove
|
|||||||
from app import messages, session
|
from app import messages, session
|
||||||
from app.keyboards.builders import sex_keyboard
|
from app.keyboards.builders import sex_keyboard
|
||||||
from app.models.user import User
|
from app.models.user import User
|
||||||
from app.states.user import RegistrationForm
|
from app.states.user import UserRegistration
|
||||||
from app.utils.states import (
|
from app.utils.states import (
|
||||||
delete_message_from_state,
|
delete_message_from_state,
|
||||||
handle_validation_error,
|
handle_validation_error,
|
||||||
@@ -38,11 +38,11 @@ async def command_start_handler(message: Message, state: FSMContext) -> None:
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
await state.set_state(RegistrationForm.username)
|
await state.set_state(UserRegistration.username)
|
||||||
await message.answer(messages.INPUT_USERNAME)
|
await message.answer(messages.INPUT_USERNAME)
|
||||||
|
|
||||||
|
|
||||||
@router.message(RegistrationForm.username, F.text)
|
@router.message(UserRegistration.username, F.text)
|
||||||
async def username_handler(message: Message, state: FSMContext) -> None:
|
async def username_handler(message: Message, state: FSMContext) -> None:
|
||||||
if message.text is None:
|
if message.text is None:
|
||||||
return
|
return
|
||||||
@@ -62,7 +62,7 @@ async def username_handler(message: Message, state: FSMContext) -> None:
|
|||||||
await delete_message_from_state(state, message.chat.id, message.bot)
|
await delete_message_from_state(state, message.chat.id, message.bot)
|
||||||
|
|
||||||
await state.update_data(username=validated_username)
|
await state.update_data(username=validated_username)
|
||||||
await state.set_state(RegistrationForm.age)
|
await state.set_state(UserRegistration.age)
|
||||||
|
|
||||||
await message.answer(
|
await message.answer(
|
||||||
messages.INPUT_CALLBACK.format(
|
messages.INPUT_CALLBACK.format(
|
||||||
@@ -73,7 +73,7 @@ async def username_handler(message: Message, state: FSMContext) -> None:
|
|||||||
await message.answer(messages.INPUT_AGE)
|
await message.answer(messages.INPUT_AGE)
|
||||||
|
|
||||||
|
|
||||||
@router.message(RegistrationForm.age, F.text)
|
@router.message(UserRegistration.age, F.text)
|
||||||
async def age_handler(message: Message, state: FSMContext) -> None:
|
async def age_handler(message: Message, state: FSMContext) -> None:
|
||||||
if message.text is None:
|
if message.text is None:
|
||||||
return
|
return
|
||||||
@@ -90,7 +90,7 @@ async def age_handler(message: Message, state: FSMContext) -> None:
|
|||||||
await delete_message_from_state(state, message.chat.id, message.bot)
|
await delete_message_from_state(state, message.chat.id, message.bot)
|
||||||
|
|
||||||
await state.update_data(age=validated_age)
|
await state.update_data(age=validated_age)
|
||||||
await state.set_state(RegistrationForm.sex)
|
await state.set_state(UserRegistration.sex)
|
||||||
|
|
||||||
await message.answer(
|
await message.answer(
|
||||||
messages.INPUT_CALLBACK.format(key="age", value=validated_age),
|
messages.INPUT_CALLBACK.format(key="age", value=validated_age),
|
||||||
@@ -101,7 +101,7 @@ async def age_handler(message: Message, state: FSMContext) -> None:
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@router.message(RegistrationForm.sex, F.text)
|
@router.message(UserRegistration.sex, F.text)
|
||||||
async def sex_handler(message: Message, state: FSMContext) -> None:
|
async def sex_handler(message: Message, state: FSMContext) -> None:
|
||||||
if message.text is None:
|
if message.text is None:
|
||||||
return
|
return
|
||||||
@@ -118,7 +118,7 @@ async def sex_handler(message: Message, state: FSMContext) -> None:
|
|||||||
await delete_message_from_state(state, message.chat.id, message.bot)
|
await delete_message_from_state(state, message.chat.id, message.bot)
|
||||||
|
|
||||||
await state.update_data(sex=validated_sex)
|
await state.update_data(sex=validated_sex)
|
||||||
await state.set_state(RegistrationForm.bio)
|
await state.set_state(UserRegistration.bio)
|
||||||
|
|
||||||
await message.answer(
|
await message.answer(
|
||||||
messages.INPUT_CALLBACK.format(key="sex", value=sex),
|
messages.INPUT_CALLBACK.format(key="sex", value=sex),
|
||||||
@@ -127,7 +127,7 @@ async def sex_handler(message: Message, state: FSMContext) -> None:
|
|||||||
await message.answer(messages.INPUT_BIO)
|
await message.answer(messages.INPUT_BIO)
|
||||||
|
|
||||||
|
|
||||||
@router.message(RegistrationForm.bio, F.text)
|
@router.message(UserRegistration.bio, F.text)
|
||||||
async def bio_handler(message: Message, state: FSMContext) -> None:
|
async def bio_handler(message: Message, state: FSMContext) -> None:
|
||||||
if message.text is None:
|
if message.text is None:
|
||||||
return
|
return
|
||||||
@@ -136,7 +136,7 @@ async def bio_handler(message: Message, state: FSMContext) -> None:
|
|||||||
|
|
||||||
if bio == "/skip":
|
if bio == "/skip":
|
||||||
await state.update_data(bio=None)
|
await state.update_data(bio=None)
|
||||||
await state.set_state(RegistrationForm.location)
|
await state.set_state(UserRegistration.location)
|
||||||
|
|
||||||
await delete_message_from_state(state, message.chat.id, message.bot)
|
await delete_message_from_state(state, message.chat.id, message.bot)
|
||||||
|
|
||||||
@@ -153,7 +153,7 @@ async def bio_handler(message: Message, state: FSMContext) -> None:
|
|||||||
await delete_message_from_state(state, message.chat.id, message.bot)
|
await delete_message_from_state(state, message.chat.id, message.bot)
|
||||||
|
|
||||||
await state.update_data(bio=validated_bio)
|
await state.update_data(bio=validated_bio)
|
||||||
await state.set_state(RegistrationForm.location)
|
await state.set_state(UserRegistration.location)
|
||||||
|
|
||||||
await message.answer(
|
await message.answer(
|
||||||
messages.INPUT_CALLBACK.format(key="bio", value=validated_bio),
|
messages.INPUT_CALLBACK.format(key="bio", value=validated_bio),
|
||||||
@@ -161,7 +161,7 @@ async def bio_handler(message: Message, state: FSMContext) -> None:
|
|||||||
await message.answer(messages.INPUT_LOCATION)
|
await message.answer(messages.INPUT_LOCATION)
|
||||||
|
|
||||||
|
|
||||||
@router.message(RegistrationForm.location, F.text)
|
@router.message(UserRegistration.location, F.text)
|
||||||
async def location_handler(message: Message, state: FSMContext) -> None:
|
async def location_handler(message: Message, state: FSMContext) -> None:
|
||||||
if message.text is None or message.from_user is None:
|
if message.text is None or message.from_user is None:
|
||||||
return
|
return
|
||||||
@@ -217,8 +217,8 @@ async def location_handler(message: Message, state: FSMContext) -> None:
|
|||||||
data["city"] = data["location"][1]
|
data["city"] = data["location"][1]
|
||||||
del data["location"]
|
del data["location"]
|
||||||
|
|
||||||
if "previous_message_id" in data:
|
if "error_message_id" in data:
|
||||||
del data["previous_message_id"]
|
del data["error_message_id"]
|
||||||
|
|
||||||
session.add(User(**data))
|
session.add(User(**data))
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|||||||
+5
-5
@@ -1,10 +1,10 @@
|
|||||||
__all__ = ("RegistrationForm", "UserAltering")
|
__all__ = ("UserRegistration", "UserAltering")
|
||||||
|
|
||||||
from aiogram.fsm.state import State, StatesGroup
|
from aiogram.fsm.state import State, StatesGroup
|
||||||
|
|
||||||
|
|
||||||
class RegistrationForm(StatesGroup):
|
class UserRegistration(StatesGroup):
|
||||||
previous_message_id = State()
|
error_message_id = State()
|
||||||
username = State()
|
username = State()
|
||||||
age = State()
|
age = State()
|
||||||
bio = State()
|
bio = State()
|
||||||
@@ -15,7 +15,7 @@ class RegistrationForm(StatesGroup):
|
|||||||
class UserAltering(StatesGroup):
|
class UserAltering(StatesGroup):
|
||||||
column = State()
|
column = State()
|
||||||
value = State()
|
value = State()
|
||||||
message_id = State()
|
profile_message_id = State()
|
||||||
input_message_id = State()
|
input_message_id = State()
|
||||||
previous_message_id = State()
|
error_message_id = State()
|
||||||
successfully = State()
|
successfully = State()
|
||||||
|
|||||||
+5
-5
@@ -17,18 +17,18 @@ async def delete_message_from_state(
|
|||||||
data = await state.get_data()
|
data = await state.get_data()
|
||||||
|
|
||||||
if (
|
if (
|
||||||
"previous_message_id" in data
|
"error_message_id" in data
|
||||||
and data["previous_message_id"] is not None
|
and data["error_message_id"] is not None
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
await bot.delete_message(
|
await bot.delete_message(
|
||||||
message_id=data["previous_message_id"],
|
message_id=data["error_message_id"],
|
||||||
chat_id=chat_id,
|
chat_id=chat_id,
|
||||||
)
|
)
|
||||||
except TelegramBadRequest:
|
except TelegramBadRequest:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
await state.update_data(previous_message_id=None)
|
await state.update_data(error_message_id=None)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
"input_message_id" in data
|
"input_message_id" in data
|
||||||
@@ -61,5 +61,5 @@ async def handle_validation_error(
|
|||||||
|
|
||||||
error_message = await message.answer(str(e))
|
error_message = await message.answer(str(e))
|
||||||
await state.update_data(
|
await state.update_data(
|
||||||
previous_message_id=error_message.message_id,
|
error_message_id=error_message.message_id,
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user