Вот код но не получается запустить функцию play, как это починить?
Вот это выдаёт при запуске:
Traceback (most recent call last):
File "C:\python\bot.py", line 64, in
bot.polling(none_stop=True, interval=0)
File "C:\Users\ewanm\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\__init__.py", line 618, in polling
self.__threaded_polling(non_stop, interval, timeout, long_polling_timeout, allowed_updates)
File "C:\Users\ewanm\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\__init__.py", line 680, in __threaded_polling
raise e
File "C:\Users\ewanm\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\__init__.py", line 640, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:\Users\ewanm\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\util.py", line 143, in raise_exceptions
raise self.exception_info
File "C:\Users\ewanm\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\util.py", line 89, in run
task(*args, **kwargs)
File "C:\python\bot.py", line 35, in yrn
bot.register_next_step_handler(message, play)
NameError: name 'message' is not defined
import telebot
import config
import random
from telebot import types
bot = telebot.TeleBot(config.TOKEN)
name = ''
game = False
@bot.message_handler(content_types=['text', 'button'])
def start(message):
if message.text == '/reg':
bot.send_message(message.from_user.id, "Как тебя зовут?")
bot.register_next_step_handler(message, get_name)
else:
bot.send_message(message.from_user.id, "Напиши /reg")
def get_name(message):
global name
name = message.text
bot.send_message(message.from_user.id, "Привет " + name + ", какое у тебя прекрасное имя.")
yrn = types.InlineKeyboardMarkup(row_width = 2)
yes = types.InlineKeyboardButton("Давай", callback_data = "yes")
no = types.InlineKeyboardButton("Не хочу", callback_data = "no")
yrn.add(yes, no)
bot.send_message(message.from_user.id, "Ну что, сыграешь со мной в камень-ножнцы-бумага?", reply_markup=yrn)
@bot.callback_query_handler(func=lambda call:True)
def yrn(call):
if call.message:
if call.data == "yes":
bot.send_message(call.message.chat.id, "Отлично")
game = True
else:
bot.send_message(call.message.chat.id, "Ну и ладно")
if game == True:
def play(message):
markup = types.InlineKeyboardMarkup(row_width = 3)
Kamen = types.InlineKeyboardButton("Камень", callback_data = "1")
Nozhnici = types.InlineKeyboardButton("Ножницы", callback_data = "2")
Bumaga = types.InlineKeyboardButton("Бумага", callback_data = "3")
markup.add(Kamen, Nozhnici, Bumaga)
bot.send_message(message.chat.id, "Отлично, выбирай за кого ты будешь играть:", reply_markup=markup)
else:
bot.send_message(message.from_user.id, "Напиши /reg")
def callback(call):
if call.message:
if call.data == "1":
bot.send_message(call.message.chat.id, "Ты выбрал камень")
elif call.data == "2":
bot.send_message(call.message.chat.id, "Ты выбрал ножницы")
elif call.data == "3":
bot.send_message(call.message.chat.id, "Ты выбрал бумагу")
bot.polling(none_stop=True, interval=0)