@AlexaAioGram

Как в aiogram передать переменную из одного хэндлера в другой?

@dp.message_handler(commands='start')
async def get_user_id(message: Message):
    get_all_id = execute_query(f'INSERT OR IGNORE INTO Users (User_id) VALUES ({message.from_user.id})') #Вот эта переменная 
    await message.answer(f'Привет добро пожаловать {message.from_user.first_name}')


@dp.message_handler(commands='prof')
async def profil(message: Message):
    await message.answer(f'Вот ваши ID: {get_all_id #Он её тут не видит} ')
  • Вопрос задан
  • 1059 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Поучите основы питона. Вот кроме шуток. Разницу между глобальными и локальными переменными, а также основы работы с классами.
Иначе сколь-нибудь сложного бота написать будет сложно, а что получится - будет тяжело поддерживать и отлаживать.

А конкретно по вопросу: нужно в profil() делать запрос вроде SELECT * FROM Users WHERE User_id == message.from_user.id

И да, не надо формировать SQL-запросы через форматирование строк, это хороший способ выстрелить себе в ногу. Почитайте про работу с placeholders.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы