Написал код для телеграмм бота на python. С самого начала при первых двух сообщениях все работало, ныне нет, что делать?

Рейтинг: -5Ответов: 1Опубликовано: 05.08.2023

Если вернуть бот к состоянию когда он ещё работал, то он все равно не работает, я не знаю что делать, можете подсказать?

from telebot import types
APY_Key =  'тут должен быть токен'
bot = telebot.TeleBot(APY_Key)
bot.message_handler(content_types=['text'])
def get_text_messages(message):
    #начало работы с ботом
    if message.text == "Привет":
         markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
         btn1 = types.KeyboardButton("🔙 Главное меню")
         markup.add(btn1)
         bot.send_message(message.from_user.id,"Добро пожаловать в Course Bot, здесь ты сможешь найти различные курсы по разным темам. Чтобы получить список курсов нажми на кнопку ниже:'")
    elif message.text == "/start":
        bot.send_message(message.from_user.id, "Для начала нужно поздароваться). Просто напиши 'Привет'.")
    else:
         markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
         btn1 = types.KeyboardButton("🔙 Главное меню")
         markup.add(btn1)
         bot.send_message(message.from_user.id, "Извини, я тебя не правильно понял, либо у нас еще нет такого курса,\n можешь написать в @bustdota и попросить его добавить,\n  либо увидеть список доступных курсов нажав на кнопку ниже:")
    #Все курсы в главном меню
    if message.text == "🔙 Главное меню":
         markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
         btn1 = types.KeyboardButton("Программирование")
         btn2 = types.KeyboardButton('SMM Продвижение в соц. сетях')
         btn3 = types.KeyboardButton('Изучение иностранных языков')
         btn4 = types.KeyboardButton('Фото и видео обработка')
         btn5 = types.KeyboardButton('Музыка')
         markup.add(btn1, btn2, btn3, btn4, btn5)
         bot.send_message(message.from_user.id, "Вот список доступных курсов:", reply_markup=markup)
      #программирование
    elif message.text == "Программирование":
       markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
       btn01 = types.KeyboardButton('🔙 Главное меню')
       btn1 = types.KeyboardButton('Java')
       btn2 = types.KeyboardButton('Python')
       btn3 = types.KeyboardButton('C++')
       btn4 = types.KeyboardButton('C#')
       btn5 = types.KeyboardButton('Unity')
       btn6 = types.KeyboardButton('JavaScript')
       markup.add(btn01, btn1, btn2, btn3, btn4, btn5, btn6)
       bot.send_message(message.from_user.id, '⬇ Выберите подраздел', reply_markup=markup)
    elif message.text == 'Java':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Java\n 📲 Перейти к разделу можно по' + ' [ссылке](https://javarush.ipnodns.ru/)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'Python':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Python\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/DzcP/9Yzwi6F2e)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'C++':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: C++\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/tksP/FCa4cQk9h)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'C#':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: C#\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/3CeT/29pC4ZnzK)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'Unity':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Unity\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/xUBn/zjR2e5e74)', reply_markup=markup, parse_mode='Markdown')
    elif message.text == 'JavaScript':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: JavaScript\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/Ugya/AKKwRcAnA)', reply_markup=markup, parse_mode='Markdown')
    #SMM Продвижение в соц.сетях
    elif message.text == "SMM Продвижение в соц. сетях":
       markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
       btn01 = types.KeyboardButton('🔙 Главное меню')
       btn1 = types.KeyboardButton('Instagram')
       btn2 = types.KeyboardButton('Telegram')
       btn3 = types.KeyboardButton('VK')
       btn4 = types.KeyboardButton('YouTube')
       btn5 = types.KeyboardButton('Системный SMM')
       markup.add(btn01, btn1, btn2, btn3, btn4, btn5)
       bot.send_message(message.from_user.id, '⬇ Выберите подраздел', reply_markup=markup)
    elif message.text == 'Instagram':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Instagram\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/aPtM/TSRFTzdr2)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'Telegram':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Telegram\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/dCr6/PkGbj7trd)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'VK':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: VK\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/bBWy/UPJj8cELP)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'YouTube':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: YouTube\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/Xaa8/6SgDbtjAD)', reply_markup=markup, parse_mode='Markdown')
    elif message.text == 'Системный SMM':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Системный SMM\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/ihYF/wi6ai1asn)', reply_markup=markup, parse_mode='Markdown')
#Иностранные языки)
    elif message.text == "Изучение иностранных языков":
      markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
      btn01 = types.KeyboardButton('🔙 Главное меню')
      btn1 = types.KeyboardButton('Английский язык')
      btn2 = types.KeyboardButton('Испанский язык')
      btn3 = types.KeyboardButton('Немецкий язык')
      btn4 = types.KeyboardButton('Китайский язык')
      btn5 = types.KeyboardButton('Французский язык')
      btn6 = types.KeyboardButton('Японский язык')
      btn7 = types.KeyboardButton('Итальянский язык')
      markup.add(btn01, btn1, btn2, btn3, btn4, btn5, btn6, btn7)
      bot.send_message(message.from_user.id, '⬇ Выберите подраздел', reply_markup=markup)
    elif message.text == 'Английский язык':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Английский язык\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/hGdE/n2KELho5j)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'Испанский язык':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Испанский язык\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/aEe9/zTigWSTJs)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'Немецкий язык':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Немецкий язык\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/aE43/tUsTbmiEd)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'Китайский язык':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Китайский язык\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/DBBE/TXZZjyLvm)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'Французский язык':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Французский язык\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/vvzi/R5szxc5vE)', reply_markup=markup, parse_mode='Markdown')
    elif message.text == 'Японский язык':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Японский язык\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/yGJu/H6dTqrdBZ) пароль:www.infosklad.org', reply_markup=markup, parse_mode='Markdown')
    elif message.text == 'Итальянский язык':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Итальянский язык\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/LHaJ/BpNewKfVg)', reply_markup=markup, parse_mode='Markdown')
    #Фото и видео обработка
    elif message.text == "Фото и видео обработка":
       markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
       btn01 = types.KeyboardButton('🔙 Главное меню')
       btn1 = types.KeyboardButton('Цветокоррекция')
       btn2 = types.KeyboardButton('Видеомонтаж')
       btn3 = types.KeyboardButton('Мобильная съемка')
       btn4 = types.KeyboardButton('Позирование')
       markup.add(btn01, btn1, btn2, btn3, btn4)
       bot.send_message(message.from_user.id, '⬇ Выберите подраздел', reply_markup=markup)
    elif message.text == "Музыка":
       markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
       btn01 = types.KeyboardButton('🔙 Главное меню')
       btn1 = types.KeyboardButton('Гитара для начинающих')
       btn2 = types.KeyboardButton('Создание музыки в FL studio')
       btn3 = types.KeyboardButton('Фортепиано это просто')
       btn4 = types.KeyboardButton('Вокал')
       markup.add(btn01, btn1, btn2, btn3, btn4)
       bot.send_message(message.from_user.id, '⬇ Выберите подраздел', reply_markup=markup)
    elif message.text == 'Гитара для начинающих':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Гитара для начинающих\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/kTRp/oF17v9eG6)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'Создание музыки в FL studio':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Создание музыки в FL studio\n 📲 Перейти к разделу можно по' + ' [ссылке](XXXXXXXXXXXXXXXXXXXXXXXXXX)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'Фортепиано это просто':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Фортепиано это просто\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/nP3P/zy5MjUX48)', reply_markup=markup, parse_mode='Markdown')

    elif message.text == 'Вокал':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('🔙 Главное меню')
        markup.add(btn1)
        bot.send_message(message.from_user.id, 'Твой раздел: Вокал\n 📲 Перейти к разделу можно по' + ' [ссылке](https://cloud.mail.ru/public/FqHi/XVpyCCdNh)', reply_markup=markup, parse_mode='Markdown')
bot.polling()```
UPD Сам код ошибки не выдает и запускается, однако бот не отвечает даже на /start| Делал для себя чтобы попрактиковаться, пробовал поменять бота, и пересоздавал файл, менял программы для кода, без результатов. Спасибо за помощь!

Ответы

▲ 0

Так твой bot.message_handler(content_types=['text']) по факту ничего там не делает, считай. Вся эта строка должна быть декоратором (начинаться с @), то бишь выглядеть должна вот так - @bot.message_handler(content_types=['text']). Декораторы используются для сокращения написания кода. Ты можешь обойтись и без них, но так и без того громоздкий код выйдет ещё больше. Сами декораторы работают следующим образом:

def myFunction(func): 
    def inner():
        print("бла бла бла")
        func()
    return inner
def anotherFunction():
    print("бла бла")
decorated_function = myFunction(anotherFunction)
decorated_function()

Выход:

бла бла бла
бла бла

Последние строчки, то бишь decorated_function = myFunction(anotherFunction) и decorated_function() можно заменить декоратором, чтобы код выглядел легче и выполнял те же функции:

def myFunction(func): 
        def inner():
            print("бла бла бла")
            func()
        return inner

@myFunction
def anotherFunction():
    print("бла бла")

anotherFunction()

Выход:

бла бла бла
бла бла

Без знака собачки, оно не распознаёт то, что ты там понаписал, поэтому по сути и не выполняет то, что ты от него хочешь, но и не крашится, поскольку критических ошибок синтаксиса там нет. Удачи :)

UPD: Забыл сказать, тебе ещё нужно импортировать сам модуль telebot, а ты импортировал только один метод из библиотеки. Первой строчкой в твоём коде должна быть import telebot. На этом всё)