• Выдаёт ошибку в боте для тг, не получается вызвать функцию, как это починить?

    Vindicar
    @Vindicar
    RTFM!
    Уф. Тут очень много проблем. В первую очередь с пониманием того, как выполняется скрипт на питоне, и областей видимости.
    Для начала:
    if call.data == "yes":
          bot.send_message(call.message.chat.id, "Отлично")
          game = True

    Ты присваиваешь значение локальной переменной game, а не глобальной, которую ты описал выше.
    Далее:
    if game == True:
      def play(message):
        ...
    else:
      bot.send_message(message.from_user.id, "Напиши /reg")

    Ты понимаешь, что этот код объявлен вне функции? Как следствие, он выполнится один раз, при старте скрипта. У тебя game в этот момент не будет равно True, и функция play() не будет определена.

    Боты - это не простая тема, а боты с автоматами состояний - тем более. Поучи Питон сначала, кроме шуток.
    Ответ написан
    Комментировать