Почему после цикла if не работает код?

После выбора 'Гороскоп на год' код не работает. Можете пожалуйста помочь с этим. Windows10,python 3.8

# -*- coding: utf8 -*-
import telebot
import requests
from bs4 import BeautifulSoup
from telebot import types
bot = telebot.TeleBot(token='my token')
URL = 'url'
HEADERS = {
        'user_agent': 'bla bla bla'
    }
response = requests.get(URL, headers=HEADERS)
soup = BeautifulSoup(response.text, 'html.parser')
horoscopes = soup.findAll('div', class_='horoscope_item floats_wrapper')
word=''
for i in horoscopes:
    word += i.find('div', class_ = 'text_box').text
@bot.message_handler(commands=['start', 'help'])
def main(message):
    bot.send_message(message.from_user.id,'Привет! Что ты хочешь узнать? Гороскоп на год или Гороскоп на сегодня?')
    if message.text.lower() == 'Гороскоп на год':
        bot.send_message(message.from_user.id, 'Какой у тебя гороскоп?Выбери:овен,телец,близнецы,рак,лев,дева,весы,скорпион,стрелец,козерог,водолей,рыбы')
        if message.text.lower() == "овен":
            bot.send_message(message.from_user.id,
                             "Его союз с Белой Металлической Крысой даст")
        elif message.text.lower() == 'телец':
            bot.send_message(message.from_user.id,
                             'Покровительница 2020 года – Белая Крыса –  ')
        elif message.text.lower() == 'близнецы':
            bot.send_message(message.from_user.id,
                             'Все их душевные порывы, спонтанные ')
        elif message.text.lower() == 'рак':
            bot.send_message(message.from_user.id,
                             'Хозяйка года – Белая Крыса, несмотря на всю ')
        elif message.text.lower() == 'лев':
            bot.send_message(message.from_user.id,
                             'Будет и период высокого подъема, когда ')
        elif message.text.lower() == 'скорпион':
            bot.send_message(message.from_user.id,
                             'Скорпионы – люди с яркой харизмой и высокой ')
        elif message.text.lower() == 'стрелец':
            bot.send_message(message.from_user.id,
                             'Представителям этого знака зодиака, как ')
        elif message.text.lower() == 'козерог':
            bot.send_message(message.from_user.id,'Повелительница года не')
        elif message.text.lower() == 'водолей':
            bot.send_message(message.from_user.id,'Перед представителями ')
        elif message.text.lower() == 'рыбы':
            bot.send_message(message.from_user.id, 'В новый 2020 год Рыбы ')
        else:
            bot.send_message(message.from_user.id, 'Я тебя не понимаю! Напиши повторно.')
        bot.polling(none_stop=True)
    elif message.text.lower() == 'Гороскоп на сегодня':
        bot.send_message(message.chat.id, 'Ваш гороскоп на сегодня:' + word)
if __name__ == '__main__':
    bot.polling(none_stop=True)

вот так выходит


Ответы (1 шт):

Автор решения: kesha1225

Для приема ответа на вопрос бота надо сделать отдельный хендлер

@bot.message_handler(commands=['start', 'help'])
def main(message):
    bot.send_message(message.from_user.id,'Привет! Что ты хочешь узнать? Гороскоп на год или Гороскоп на сегодня?')


@bot.message_handler(content_types=['text'])
def send_answer(message):
    if message.text.lower() == 'Гороскоп на год':
        bot.send_message(message.from_user.id, 'Какой у тебя гороскоп?Выбери:овен,телец,близнецы,рак,лев,дева,весы,скорпион,стрелец,козерог,водолей,рыбы')
    elif message.text.lower() == "овен":
        bot.send_message(message.from_user.id,
                             "Его союз с Белой Металлической Крысой даст")
    elif message.text.lower() == 'телец':
        bot.send_message(message.from_user.id,
                             'Покровительница 2020 года – Белая Крыса –  ')
        ...

По хорошему надо на каждый вопрос делать свой хендлер.

@bot.message_handler(func=lambda message: message.text == 'Гороскоп на год')
...
@bot.message_handler(func=lambda message: message.text == 'овен')
...
→ Ссылка