у меня появляются 2 ошибки при запуске кода. В других строках (очень много было "message") все было окей.
Весь код:
import telebot
import random
from telebot import types
bot = telebot.TeleBot("не скажу")
@bot.message_handler(commands=['start'])
def welcome(message):
# keyboard
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton(" Игры")
item2 = types.KeyboardButton(" Новости")
markup.add(item1, item2)
bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nЯ - <b>{1.first_name}</b>, бот созданный чтобы помогать людям!".format(message.from_user, bot.get_me()),
parse_mode='html', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def send_text(message):
if message.text == ' Новости':
bot.send_message(message.chat.id, "Новостей пока нет.")
elif message.text == ' Игры':
# keyboard
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton( " Кубик")
item2 = types.KeyboardButton( " Двери")
markup.add(item1, item2)
bot.send_message(message.chat.id, "Мои игры:".format(message.from_user, bot.get_me()), parse_mode='html', reply_markup= markup)
if message.text == ' Кубик':
key = telebot.types.InlineKeyboardMarkup()
for el in [1,2,3,4,5,6]:
but = telebot.types.InlineKeyboardButton(text=el, callback_data=f'Число {el}')
key.add(but)
bot.send_message(message.chat.id, "Выберите число", reply_markup=key,parse_mode="Markdown")
@bot.callback_query_handler(func=lambda call:True)
def inlins(call):
#print(call.data)
if call.data.split()[0] == 'Число':
bot.send_message(call.message.chat.id, "Кидаем кубик..." )
my_random = random.randint(1,6)
if my_random != int(call.data.split()[1]):
bot.send_message(call.message.chat.id, "Вы проиграли, выпало число " + str(my_random) + " чтобы вернуться назад напишите /start" )
else:
bot.send_message(call.message.chat.id, "Вы выиграли! чтобы вернуться назад напишите /start")
bot.edit_message_reply_markup(call.message.chat.id, call.message.message_id)
if message.text == ' Двери':
key = telebot.types.InlineKeyboardMarkup()
for el in [1,2,3,4,5,6,7,8,9,10]:
bot.send_message(message.chat.id, "Выберите дверь", reply_markup=key,parse_mode="Markdown")
else:
bot.send_message(message.chat.id, 'Я не знаю что ответить ')
@bot.callback_query_handler(func=lambda call:True)
def inlin(call):
#print(call.data)
if call.data.split()[0] == 'Число':
bot.send_message(call.message.chat.id, "Входим в дверь..." )
my_random = random.randint(1,10)
if my_random != int(call.data.split()[1]):
bot.send_message(call.message.chat.id, "Вы проиграли, правильная дверь была " + str(my_random) + ". чтобы вернуться назад напишите /start" )
else:
bot.send_message(call.message.chat.id, "Вы выиграли! Вы выбрали правильную дверь! чтобы вернуться назад напишите /start")
bot.edit_message_reply_markup(call.message.chat.id, call.message.message_id)
# RUN
bot.polling(none_stop=True)