def recursion(products, parent_name):
for product in products:
name = product['name']
yield f'Текущий - {name}', f'Родитель - {parent_name}'
sub_products = product.get('products', [])
if sub_products:
yield from recursion(sub_products, name)
for x,y in recursion(products, 'root'):
print(x,y)
используется объект message у которого text='Привет'
И вы как-то не особо разобрались с register_next_step handler. У вас лишние декораторы прописаны, которые не работают, их можно просто удалить.
Вы что хотите сделать? Поправьте, если в чем-то ошибаюсь:
- Поприветствовать пользователя и начать спрашивать у него его данные
- Спросить сколько было получено бриллиантов, дождаться введенного количества, проверить на то, что это число, записать.
- То же самое проделать с рубинами и жителями
- Пройтись по жителям и по каждому записать свои данные
Так?