При проверке работоспособности бота, написанногона Python, выдаётся двойной результат. Почему?
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 нажимаю на кнопку меню например "Овен" далее выпадает меню на определённый отрезок времени, нажимаю на кнопку например "На завтра" мне выдаётся результат на "Овен" и на "Телец", хотя должен выдавать результат только на "Овен". Кто знает подскажите почему так происходит, где ошибка в коде?
Источник: Stack Overflow на русском