Кнопка в телеграм боте не работает python
В моем коде отлично работают все кнопки, кроме одной. Вот часть моего кода:
elif message.text == "Добыча еды":
if forest_bool == False:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Рыбалка")
btn2 = types.KeyboardButton("Охота")
btn3 = types.KeyboardButton("Лес")
back = types.KeyboardButton("? Вернуться в главное меню")
markup.add(btn1, btn2, btn3, back)
bot.send_message(message.chat.id, text="Выберите способ добычи еды: ", reply_markup=markup)
elif message.text == f"Рыбалка":
if forest_bool == False:
global fish_spawned
fishing_bool = True
print("Рыбалка вызвана")
fish_spawned = False
map_cell = get_map_cell(cols, rows)
user_data = {
'map': map_cell,
'x': 0,
'y': 0
}
maps[message.chat.id] = user_data
markup = types.ReplyKeyboardRemove()
bot.send_message(message.chat.id, "Начинаем рыбалку!", reply_markup=markup)
bot.send_message(message.from_user.id, get_map_str(map_cell, (0, 0)), reply_markup=keyboard)
elif message.text == f"Охота":
if forest_bool == False:
map_cell = get_map_cell(cols, rows)
user_data = {
'map': map_cell,
'x': 0,
'y': 0
}
maps[message.chat.id] = user_data
bot.send_message(message.from_user.id, get_map_str(map_cell, (0, 0)), reply_markup=keyboard)
elif message.text == f"Лес":
if forest_bool == False:
forest_bool = True
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Налево")
btn2 = types.KeyboardButton("Прямо")
btn3 = types.KeyboardButton("Направо")
markup.add(btn1, btn2, btn3)
bot.send_message(message.chat.id, "Перед вами две тропы. Куда вы пойдете?", reply_markup=markup)
image_path = 'road.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
elif message.text == f"Налево":
if forest_bool == True:
rand = random.randint(1, 3)
if rand == 1:
if berries > 0:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
load_data()
btn1 = types.KeyboardButton(f"Кинуть им ягоды. В наличии - {berries}")
btn2 = types.KeyboardButton(f"Попытаться убежать")
markup.add(btn1, btn2)
bot.send_message(message.chat.id, "Вы пошли налево и наткнулись на волков", reply_markup=markup)
image_path = 'wolfes.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
elif berries == 0:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton(f"Кинуть им ягоды (Нет в наличии⛔️)")
btn2 = types.KeyboardButton(f"Попытаться убежать")
markup.add(btn1, btn2)
bot.send_message(message.chat.id, "Вы пошли налево и наткнулись на волков", reply_markup=markup)
image_path = 'wolfes.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
elif rand == 2:
bot.send_message(message.chat.id, "Вы пошли налево и попали в капкан. Энергия уменьшена на 1.")
image_path = 'road.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
energy -= 1
if energy == 0:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Рыбалка")
btn2 = types.KeyboardButton("Охота")
btn3 = types.KeyboardButton("Лес")
back = types.KeyboardButton("? Вернуться в главное меню")
markup.add(btn1, btn2, btn3, back)
bot.send_message(message.chat.id, "Энергия закончилась. Возвращайтесь домой!", reply_markup=markup)
forest_bool = False
else:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Налево")
btn2 = types.KeyboardButton("Прямо")
btn3 = types.KeyboardButton("Направо")
markup.add(btn1, btn2, btn3)
bot.send_message(message.chat.id, "Куда пойдете дальше?", reply_markup=markup)
elif rand == 3:
image_path = 'berries.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
bot.send_message(message.chat.id, "Вы пошли налево и нашли ягоду!")
berries += 1
save_data()
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Налево")
btn2 = types.KeyboardButton("Прямо")
btn3 = types.KeyboardButton("Направо")
markup.add(btn1, btn2, btn3)
bot.send_message(message.chat.id, "Куда пойдете дальше?", reply_markup=markup)
elif message.text == f"Направо":
if forest_bool == True:
rand = random.randint(1, 3)
if rand == 1:
if berries > 0:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
load_data()
btn1 = types.KeyboardButton(f"Кинуть им ягоды. В наличии - {berries}")
btn2 = types.KeyboardButton(f"Попытаться убежать")
markup.add(btn1, btn2)
bot.send_message(message.chat.id, "Вы пошли направо и наткнулись на волков", reply_markup=markup)
image_path = 'wolfes.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
elif berries == 0:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton(f"Кинуть им ягоды (Нет в наличии⛔️)")
btn2 = types.KeyboardButton(f"Попытаться убежать")
markup.add(btn1, btn2)
bot.send_message(message.chat.id, "Вы пошли направо и наткнулись на волков", reply_markup=markup)
image_path = 'wolfes.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
elif rand == 2:
bot.send_message(message.chat.id, "Вы пошли направо и попали в капкан. Энергия уменьшена на 1.")
energy -= 1
image_path = 'road.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
if energy == 0:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Рыбалка")
btn2 = types.KeyboardButton("Охота")
btn3 = types.KeyboardButton("Лес")
back = types.KeyboardButton("? Вернуться в главное меню")
markup.add(btn1, btn2, btn3, back)
bot.send_message(message.chat.id, "Энергия закончилась. Возвращайтесь домой!", reply_markup=markup)
forest_bool = False
else:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Налево")
btn2 = types.KeyboardButton("Прямо")
btn3 = types.KeyboardButton("Направо")
markup.add(btn1, btn2, btn3)
bot.send_message(message.chat.id, "Куда пойдете дальше?", reply_markup=markup)
elif rand == 3:
image_path = 'berries.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
bot.send_message(message.chat.id, "Вы пошли направо и нашли ягоду!")
berries += 1
save_data()
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Налево")
btn2 = types.KeyboardButton("Прямо")
btn3 = types.KeyboardButton("Направо")
markup.add(btn1, btn2, btn3)
bot.send_message(message.chat.id, "Куда пойдете дальше?", reply_markup=markup)
elif message.text == f"Прямо":
if forest_bool == True:
rand = random.randint(1, 3)
if rand == 1:
if berries > 0:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
load_data()
btn1 = types.KeyboardButton(f"Кинуть им ягоды. В наличии - {berries}")
btn2 = types.KeyboardButton(f"Попытаться убежать")
markup.add(btn1, btn2)
bot.send_message(message.chat.id, "Вы пошли прямо и наткнулись на волков", reply_markup=markup)
image_path = 'wolfes.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
elif berries == 0:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton(f"Кинуть им ягоды (Нет в наличии⛔️)")
btn2 = types.KeyboardButton(f"Попытаться убежать")
markup.add(btn1, btn2)
bot.send_message(message.chat.id, "Вы пошли прямо и наткнулись на волков", reply_markup=markup)
image_path = 'wolfes.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
elif rand == 2:
bot.send_message(message.chat.id, "Вы пошли прямо и попали в капкан. Энергия уменьшена на 1.")
energy -= 1
image_path = 'road.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
if energy == 0:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Рыбалка")
btn2 = types.KeyboardButton("Охота")
btn3 = types.KeyboardButton("Лес")
back = types.KeyboardButton("? Вернуться в главное меню")
markup.add(btn1, btn2, btn3, back)
bot.send_message(message.chat.id, "Энергия закончилась. Возвращайтесь домой!", reply_markup=markup)
forest_bool = False
else:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Налево")
btn2 = types.KeyboardButton("Прямо")
btn3 = types.KeyboardButton("Направо")
markup.add(btn1, btn2, btn3)
bot.send_message(message.chat.id, "Куда пойдете дальше?", reply_markup=markup)
elif rand == 3:
bot.send_message(message.chat.id, "Вы пошли прямо и нашли ягоду!")
image_path = 'berries.jpg' # Replace with the actual path to your image
photo = open(image_path, 'rb')
bot.send_photo(message.chat.id, photo)
berries += 1
save_data()
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Налево")
btn2 = types.KeyboardButton("Прямо")
btn3 = types.KeyboardButton("Направо")
markup.add(btn1, btn2, btn3)
bot.send_message(message.chat.id, "Куда пойдете дальше?", reply_markup=markup)
elif message.text.startswith("Кинуть им ягоды"):
if forest_bool:
bot.send_message(message.chat.id, "Волки от вас отстали! Количество ягод уменьшено на 1")
berries -= 1
save_data()
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Налево")
btn2 = types.KeyboardButton("Прямо")
btn3 = types.KeyboardButton("Направо")
markup.add(btn1, btn2, btn3)
bot.send_message(message.chat.id, "Куда пойдете дальше?", reply_markup=markup)
elif message.text.startswith("Попытаться убежать"):
if forest_bool == True:
bot.send_message(message.chat.id, "Вы смогли убежать! Количество энергии уменьшено на 1")
energy -= 1
if energy == 0:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Рыбалка")
btn2 = types.KeyboardButton("Охота")
btn3 = types.KeyboardButton("Лес")
back = types.KeyboardButton("? Вернуться в главное меню")
markup.add(btn1, btn2, btn3, back)
bot.send_message(message.chat.id, "Энергия закончилась. Возвращайтесь домой!", reply_markup=markup)
forest_bool = False
else:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Налево")
btn2 = types.KeyboardButton("Прямо")
btn3 = types.KeyboardButton("Направо")
markup.add(btn1, btn2, btn3)
bot.send_message(message.chat.id, "Куда пойдете дальше?", reply_markup=markup)
Единственная кнопка, при нажатии на которую ничего не происходит, это "Кинуть им ягоды". Я уже проверял, что проблема не в условии if(т. к. Когда я поставил перед условием print, сообщение это принта не вывелось тоже)