#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. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.