Как получить state.data определенного юзера aiogram
Кратко: пишу камень ножницы бумага для телеграмм бота.
Есть class RPS в нем 4 стейта
- Начало игры
- Выбор игрока 1
- Выбор игрока 2
- Финал
Как реализовать выгрузку date из игрока 2?
Код не могу пока прикрепить, готового решения не жду, мне нужно хотя бы понимание, как можно реализовать основную механику на aiogram
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
Вот так
user_id = ...
chat_id = user_id # это если данные в ЛС, а не в группе какой-то,
# в целом просто ниже подставьте user_id, а не плодите переменные
# обьект стейта
state_with: FSMContext = dp.current_state(chat=chat_id, user=user_id)
# текущий стейт и дата
current_state = await state_with.get_state()
current_data = await state_with.get_data()
await state_with.set_state(...)
# можно так
await state_with.set_data(...) # <- помещать словарь
# а еще можно открыть дату через прокси
async with state_with.proxy() as data:
data[...] = ...