Синтаксическая ошибка: имя «пицца» присваивается перед глобальным объявлением

#telegram

Вопрос:

Банальный telegram-бот, который просто должен отвечать на сообщения, но при объявлении глобального имени код впоследствии выдает ошибку. Я пробовал объявлять переменные везде в коде, я тоже старался их не объявлять, но тогда бот просто перестает работать правильно.

 import telebot from configure import NameToken  client = telebot.TeleBot(NameToken()['token'])   @client.message_handler(commands=['start']) def start_message(message):  client.send_message(message.chat.id, 'Какую пиццу будете заказывать, большую или маленькую ?') pizza = '' payments = '' @client.message_handler(content_types=['text']) def get_Payment(message):  if message.text.lower() == 'большую':  global pizza  pizza = message.text  client.send_message(message.chat.id, 'Как вы будете платить ?')  client.load_next_step_handlers(message ,bot_results)  elif message.text.lower() == 'маленькую':  global pizza  pizza = message.text  client.send_message(message.chat.id, 'Как вы будете платить ?')  client.load_next_step_handlers(message, bot_results)  def bot_results(message):  if message.text.lower() == ['наличными', 'наличкой']:  global payments  payments = message.text  txt = "Вы хотите, ",str(pizza)," пиццу, оплата - ",str(payments),', все верно ?'  client.send_message(message.chat.id, txt)  client.load_next_step_handlers(message, bot_Or)  elif message.text.lower() == 'картой':  global payments  payments = message.text  txt = "Вы хотите, ",str(pizza)," пиццу, оплата - ",str(payments),', все верно ?'  client.send_message(message.chat.id, txt)  client.load_next_step_handlers(message, bot_Or)  def bot_Or(message):  if message.text.lower() == "Да":  client.send_message(message.chat.id, 'Спасибо за заказ !')  elif message.text.lower() == "Нет":  client.send_message(message.chat.id, 'Хорошо, давайте начнем с начала')  client.load_next_step_handlers(message, New_Start)  def New_Start(message):  client.send_message(message.chat.id, 'Какую пиццу будете заказывать ?')  client.load_next_step_handlers(message, get_Payment)    client.polling(non_stop = True, interval = 0)  

Комментарии:

1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.