Судя по коду, Ваша проблема решается через FSM:
Создаете какой нибудь такой StatesGroup
form_router = Router()
class Form(StatesGroup):
items = State()
В первой функции активируете состояние через
state.set_state
@form_router.message(Text('Begin'))
async def new_client_services(message: types.Message, state: FSMContext):
builder = ReplyKeyboardBuilder()
builder.row(
types.KeyboardButton(text="End"),
)
await state.set_state(Form.items)
await message.answer("Please write down all your items lying on the table one by one", reply_markup=builder.as_markup(resize_keyboard=True))
А потом делаете такие декораторы, один который просто ловит все сообщения во время состояния "items", второй реагирует только в состоянии "items" с текстом "End". Там где состояние нужно завершить, вызывается "state.clear()"
@form_router.message(Form.items, Text('End'))
async def end_save_services(message: types.Message, state: FSMContext):
await state.clear()
await message.reply("Excellent", reply_markup=types.ReplyKeyboardRemove())
@form_router.message(Form.items)
async def with_puree(message: types.Message, state: FSMContext):
await message.answer(f"Items {message.text} add✅\n")
https://docs.aiogram.dev/en/dev-3.x/dispatcher/fin...