Я начинающий кодер решил написать своего бота на аиограме и столкнулся с ошибкой во время передачи переменной из функции. В интернете я нашел объяснения что нужно использовать FSM для этой проблемы. Но как в данную память переместить уже готовую переменную со значением, а не ждать ответа от пользователя, ответ не нашел ответ не нашел
def extract_unique_code(text):
# Extracts the unique_code from the sent /start command.
return text.split()[1] if len(text.split()) > 1 else None
@dp.message_handler(commands=["start"], state="*")
async def user_registration(message: types.Message):
#Выделение id рефера
unique_code = extract_unique_code(message.text)
await ProfileStatesGroup.unique_code_true.set()
print (unique_code)
if unique_code:
#если есть id рефера
await bot.send_message(message.from_user.id, "Введите сообщение для отправки:")
await ProfileStatesGroup.anonymessage.set()
else:
#если в ссылке нет id рефера
pass
@dp.message_handler(state=ProfileStatesGroup.anonymessage)
async def answer_anonymessage(message:types.Message, state: FSMContext):
answer = message.text
await bot.send_message(message.from_user.id, "Отправлено!")
print (unique_code)
await bot.send_message(unique_code, "Вам пришло анонимное сообщение")
await bot.send_message(unique_code, answer)
речь идет о переменной unique_code