При проверке работоспособности бота, написанногона Python, выдаётся двойной результат. Почему?

Рейтинг: 0Ответов: 0Опубликовано: 26.03.2023
import requests
from telebot import *
from bs4 import BeautifulSoup

TOKEN = '#'

bot = telebot.TeleBot(TOKEN)


@bot.message_handler(commands=["start"])
def start(m):
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
    keyboard.add(
        *[types.KeyboardButton(name) for name in
          ['Овен', 'Телец', 'Близнецы', 'Рак', 'Лев', 'Дева', 'Весы', 'Скорпион', 'Стрелец', 'Козерог', 'Водолей',
           'Рыбы']])
    bot.reply_to(m, "Выберите знак зодиака", reply_markup=keyboard)


@bot.message_handler(content_types=['text'])
def message(message):
    if message.text == 'Овен':
        zeem = types.ReplyKeyboardMarkup(resize_keyboard=True)
        zeem.add(
            *[types.KeyboardButton(name) for name in
              ['На сегодня', 'На завтра', 'На неделю', 'В начало']])
        bot.reply_to(message, 'Выберите действие', reply_markup=zeem)

    if message.text == 'На завтра':
        url = f'https://astrohelper.ru/horoscope/aries/tomorrow'
        data = requests.get(url).text
        block = BeautifulSoup(data, 'lxml')
        head = block.find('h1', class_='mt-3 mb-3')
        noom = (head.text.strip())
        get_text = block.find('div', class_='mt-3').find_all('p')
        noom_2 = (get_text[0].text.strip())
        gender = block.find('div', class_='mt-3').find_all('h2')
        noom_3 = (gender[0].text.strip())
        noom_4 = (get_text[1].text.strip())
        noom_5 = (gender[1].text.strip())
        noom_6 = (get_text[2].text.strip())
        zeel = noom + noom_2 + noom_3 + noom_4 + noom_5 + noom_6
        bot.reply_to(message, zeel)
    elif message.text == 'На сегодня':
        url = f'https://astrohelper.ru/horoscope/aries/'
        data = requests.get(url).text
        block = BeautifulSoup(data, 'lxml')
        head = block.find('h1', class_='mt-3 mb-3')
        noom = (head.text.strip())
        get_text = block.find('div', class_='mt-3').find_all('p')
        noom_2 = (get_text[0].text.strip())
        gender = block.find('div', class_='mt-3').find_all('h2')
        noom_3 = (gender[0].text.strip())
        noom_4 = (get_text[1].text.strip())
        noom_5 = (gender[1].text.strip())
        noom_6 = (get_text[2].text.strip())
        zeel = noom + noom_2 + noom_3 + noom_4 + noom_5 + noom_6
        bot.reply_to(message, zeel)
    elif message.text == 'На неделю':
        url = f'https://astrohelper.ru/horoscope/aries/week'
        data = requests.get(url).text
        block = BeautifulSoup(data, 'lxml')
        head = block.find('h1', class_='mt-3 mb-3')
        noom = (head.text.strip())
        get_text = block.find('div', class_='mt-3').find_all('p')
        noom_2 = (get_text[0].text.strip())
        gender = block.find('div', class_='mt-3').find_all('h2')
        noom_3 = (gender[0].text.strip())
        noom_4 = (get_text[1].text.strip())
        noom_5 = (gender[1].text.strip())
        noom_6 = (get_text[2].text.strip())
        zeel = noom + noom_2 + noom_3 + noom_4 + noom_5 + noom_6
        bot.reply_to(message, zeel)

    if message.text == 'Телец':
        zeem = types.ReplyKeyboardMarkup(resize_keyboard=True)
        zeem.add(
            *[types.KeyboardButton(name) for name in
              ['На сегодня', 'На завтра', 'На неделю', 'В начало']])
        bot.reply_to(message, 'Выберите действие', reply_markup=zeem)

    if message.text == 'На завтра':
        url = f'https://astrohelper.ru/horoscope/taurus/tomorrow'
        data = requests.get(url).text
        block = BeautifulSoup(data, 'lxml')
        head = block.find('h1', class_='mt-3 mb-3')
        noom = (head.text.strip())
        get_text = block.find('div', class_='mt-3').find_all('p')
        noom_2 = (get_text[0].text.strip())
        gender = block.find('div', class_='mt-3').find_all('h2')
        noom_3 = (gender[0].text.strip())
        noom_4 = (get_text[1].text.strip())
        noom_5 = (gender[1].text.strip())
        noom_6 = (get_text[2].text.strip())
        zeel = noom + noom_2 + noom_3 + noom_4 + noom_5 + noom_6
        bot.reply_to(message, zeel)
    elif message.text == 'На сегодня':
        url = f'https://astrohelper.ru/horoscope/taurus/'
        data = requests.get(url).text
        block = BeautifulSoup(data, 'lxml')
        head = block.find('h1', class_='mt-3 mb-3')
        noom = (head.text.strip())
        get_text = block.find('div', class_='mt-3').find_all('p')
        noom_2 = (get_text[0].text.strip())
        gender = block.find('div', class_='mt-3').find_all('h2')
        noom_3 = (gender[0].text.strip())
        noom_4 = (get_text[1].text.strip())
        noom_5 = (gender[1].text.strip())
        noom_6 = (get_text[2].text.strip())
        zeel = noom + noom_2 + noom_3 + noom_4 + noom_5 + noom_6
        bot.reply_to(message, zeel)
    elif message.text == 'На неделю':
        url = f'https://astrohelper.ru/horoscope/taurus/week'
        data = requests.get(url).text
        block = BeautifulSoup(data, 'lxml')
        head = block.find('h1', class_='mt-3 mb-3')
        noom = (head.text.strip())
        get_text = block.find('div', class_='mt-3').find_all('p')
        noom_2 = (get_text[0].text.strip())
        gender = block.find('div', class_='mt-3').find_all('h2')
        noom_3 = (gender[0].text.strip())
        noom_4 = (get_text[1].text.strip())
        noom_5 = (gender[1].text.strip())
        noom_6 = (get_text[2].text.strip())
        zeel = noom + noom_2 + noom_3 + noom_4 + noom_5 + noom_6
        bot.reply_to(message, zeel)


while True:
    bot.polling()

Здравствуйте. При проверке работоспособности бота написанного на Python нажимаю на кнопку меню например "Овен" далее выпадает меню на определённый отрезок времени, нажимаю на кнопку например "На завтра" мне выдаётся результат на "Овен" и на "Телец", хотя должен выдавать результат только на "Овен". Кто знает подскажите почему так происходит, где ошибка в коде?

Ответы

Ответов пока нет.