import webbrowser
import telebot
from telebot import types
bot = telebot.TeleBot('6081188721:AAGEmi6QWYJJ1mQhgj-eAMCG8Dnid3flCQw')
# Keyboard for the main menu
main_menu_keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn_dakota = types.KeyboardButton("Dakota Warriors")
btn_history = types.KeyboardButton("История создания")
btn_feedback = types.KeyboardButton("Обратная связь с клубом")
btn_website = types.KeyboardButton("Клубный сайт")
main_menu_keyboard.add(btn_dakota, btn_history, btn_feedback, btn_website)
# Keyboard for returning to the main menu
back_keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn_back = types.KeyboardButton("Вернуться в главное меню")
back_keyboard.add(btn_back)
# Handler for the /start command
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, text="Привет, {0.first_name}! Я чат-бот ЛФК Dakota Warriors! "
"Воспользуйся главным меню".format(message.from_user),
reply_markup=main_menu_keyboard)
# Handler for the main menu buttons
@bot.message_handler(func=lambda message: message.text in ["Dakota Warriors", "История создания",
"Обратная связь с клубом", "Клубный сайт"])
def handle_main_menu(message,):
if message.text == "Dakota Warriors":
dakota_menu_keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn_team = types.KeyboardButton("Состав команды")
btn_matches = types.KeyboardButton("Ближайшие игры")
btn_tickets = types.KeyboardButton("Покупка билетов")
dakota_menu_keyboard.add(btn_team, btn_matches, btn_tickets, btn_back)
bot.send_message(message.chat.id, text="Выбери то, что тебя интересует", reply_markup=dakota_menu_keyboard)
elif message.text == "История создания":
bot.send_photo(message.chat.id, photo=open(r"C:\Users\roma-\Desktop\dakota.jpg", 'rb'),
caption="ИСТОРИЯ: Любительский футбольный клуб Dakota Warriors был создан 12 ноября 2022 года, "
"за несколько месяцев до начала великого шествия наших гладиаторов на территории "
"футбольного поля. Родоначальниками клуба являются: Ахвердян Гурген (капитан и президент) Название и эмблема клуба были выбраны "
"под стиль и характер игры команды.")
elif message.text == "Обратная связь с клубом":
bot.send_message(message.chat.id, text="Для обратной связи с клубом мы можете: "
"\nНаписать на почту клуба - warriorsdakotakk@gmail.com"
"\nНаписать в личные сообщения группы Вконтакте - vk.com/dakota_warriors")
elif message.text == "Клубный сайт":
webbrowser.open("http://lfkdakotawarriors.tilda.ws")
# Обработчик кнопок меню команды Dakota Warriors
@bot.message_handler(func=lambda message: message.text in ["Состав команды", "Ближайшие игры",
"Покупка билетов", "Вернуться в главное меню"])
def handle_dakota_menu(message):
if message.text == "Состав команды":
players_keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn_goalkeepers = types.KeyboardButton("Вратари")
btn_defenders = types.KeyboardButton("Защитники")
btn_midfielders = types.KeyboardButton("Полузащитники")
btn_forwards = types.KeyboardButton("Нападающие")
players_keyboard.add(btn_goalkeepers, btn_midfielders, btn_defenders, btn_forwards, btn_back)
bot.send_message(message.chat.id, text="Выбери интересующую позицию", reply_markup=players_keyboard)
elif message.text == "Ближайшие игры":
# Обработка ближайших игр
pass
elif message.text == "Покупка билетов":
# Обработка покупки билетов
pass
elif message.text == "Вернуться в главное меню":
bot.send_message(message.chat.id, text="Вы вернулись в главное меню", reply_markup=main_menu_keyboard)
# Обработчик кнопок позиций в команде
@bot.message_handler(func=lambda message: message.text in ["Вратари", "Защитники", "Полузащитники", "Нападающие"])
def handle_positions(message, players_keyboard):
players = {
"Вратари": ["Крикунов Никита", "Ярцев Владислав", ],
"Защитники": ["Юшков Владислав", "Задорожный Ярослав", "Жуков Никита", "Ефентьев Богдан"],
"Полузащитники": ["Ахвердян Гурген", "Шевцов Александр", "Чудаков Виталий", "Евтушенко Артем"],
"Нападающие": ["Хуршудян Ерванд", "Миронов Денис", ]
}
if message.text in players:
position_keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
position_keyboard.add(*players[message.text], btn_back)
bot.send_message(message.chat.id, text="Выберите игрока", reply_markup=position_keyboard)
elif message.text == "Назад":
bot.send_message(message.chat.id, text="Выберите интересующую позицию", reply_markup=players_keyboard)
# Обработчик кнопок игроков
@bot.message_handler(func=lambda message: message.text in ["Крикунов Никита", "Ярцев Владислав",
"Ахвердян Гурген", "Шевцов Александр", "Чудаков Виталий",
"Евтушенко Артем", "Юшков Владислав",
"Задорожный Ярослав",
"Жуков Никита", "Хуршудян Ерванд", "Миронов Денис",
"Ефентьев Богдан"])
@bot.message_handler(func=lambda message: True)
def handle_message(message):
player_data = {
"Крикунов Никита": {
"caption": "Крикунов Никита Федорович",
"details": "Дата рождения: 10 марта 2006 года\nИгровой номер: 99\nВедущая нога: Правая\nРост: 174 см\nВес: 63 кг",
"stats_link": "https://afl.ru/players/krikunov-nikita-637762",
"photo_path": r"C:\Users\roma-\Desktop\637762.jpg"
},
"Ярцев Владислав": {
"caption": "Ярцев Владислав Юрьевич",
"details": "Дата рождения: 10 июня 2006 г.\nИгровой номер № 16\nВедущая нога: Правая\nРост: 198 см\nВес: 88 кг",
"stats_link": "https://afl.ru/players/yartsev-vladislav-645634",
"photo_path": r"C:\Users\roma-\Desktop\645634.jpg"
},
# Add other player data entries here
}
@bot.message_handler(func=lambda message: True)
def handle_message(message):
player_name = message.text
if player_name in player_data:
player = player_data[player_name]
caption = player['caption']
details = player['details']
stats_link = player['stats_link']
photo_path = player['photo_path']
photo = open(photo_path, 'rb')
bot.send_photo(message.chat.id, photo, caption=caption)
bot.send_message(message.chat.id, details)
bot.send_message(message.chat.id, stats_link)
bot.polling(none_stop=True)
Пишу чат-бота и не могу понять почему не может запуститься бот. Экстренное завершение без ошибки. Какая может быть причина? (не судите строго код, т.к программирую всего 2 дня)