@Sverepay

Как можно перенести переменную из message_handler в другой message_handler?

@dp.message_handler(commands=['sendidd'])
async def sendidd(message: types.Message):
    if message.from_user.id == айди админа:
        textidd = message.text[9:]#ЭТО НАДО ПЕРЕНЕСТИ

@dp.message_handler(commands=['sendone'])
async def sendone(message: types.Message):
    if message.from_user.id == айди админа:
        textone = message.text[9:]

        await bot.send_message(chat_id=textidd, text=textone)#ВОТ СЮДА НАДО ПЕРЕНЕСТИ
  • Вопрос задан
  • 241 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Edge226
Вы можете попробовать записать эти данные в отдельную переменную, которую позже объявить глобальной или вынести за пределы функции. Код должен выглядеть примерно так:
textidd = None

@dp.message_handler(commands=['sendidd'])
async def sendidd(message: types.Message):
    if message.from_user.id == айди админа:
        textidd = message.text[9:] # Присвойте новое значение для переменной textidd

@dp.message_handler(commands=['sendone'])
async def sendone(message: types.Message):
    if message.from_user.id == айди админа:
        textone = message.text[9:]

        await bot.send_message(chat_id=textidd, text=textidd) # Введите сюда то же название переменной, что вы присвоили в прошлой функции

Либо же более разумный и удобный способ - сделать переменную глобальной.
@dp.message_handler(commands=['sendidd'])
async def sendidd(message: types.Message):
    if message.from_user.id == айди админа:
        global textidd # Объявление переменной textidd глобальной
        textidd = message.text[9:] 

@dp.message_handler(commands=['sendone'])
async def sendone(message: types.Message):
    if message.from_user.id == айди админа:
        textone = message.text[9:]

        await bot.send_message(chat_id=textidd, text=textidd) # Введите сюда то же название переменной, что вы присвоили в прошлой функции
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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