Не работает функция с изменением переменной
У меня не работает выведение значения из функции.
from misc import is_processing_command, enter_register #во 2 случае
@bot.callback_query_handler(func=lambda call: True)
def answer(call):
global is_processing_command
chat_id = call.message.chat.id
try:
if (call.data == "TEST"):
if is_processing_command == False:
is_processing_command = True
message = bot.send_message(chat_id, f'*Введите свое имя*', parse_mode="Markdown", reply_markup=back_keyboard())
bot.register_next_step_handler(message, enter_register)
else:
bot.send_message(chat_id, f'*Введите свое имя*', parse_mode="Markdown")
except Exception as e:
print(e)
Функция enter_register
находится в другом файле:
def enter_register(message):
try:
if (message.text == 'Назад'):
bot.send_message(message.chat.id, f'Вы попали в меню', parse_mode="Markdown", reply_markup=keyboard())
is_processing_command = False
else:
bot.send_message(message.chat.id, f'Заявка на регистрацию отправлена', parse_mode='Markdown', reply_markup=keyboard())
is_processing_command = False
except Exception as e:
print(e)
Манипуляции с is_processing_command
сделаны для предотвращения повторного нажатия кнопки несколько раз.
Если я пишу 1 код, а за ним 2 код, то все превосходно работает, а как только переношу 2 код функции в отдельный файл, то функция в конце не придает значение False
. Как исправить данную проблему?
Если что, первоначальное значение is_processing_command
находится в файле с функцией
Источник: Stack Overflow на русском