Я пишу телеграмм бота и у меня вроде бы все работает, но увы не так как нужно. Вкратце скажу, что это за бот. Я сделал телеграмм бота, который с помощью парсера заходит на сайт, считывает какой курс биткоина в долларах и присылает человеку, через определенное время и сравнивает изменился ли курс биткоина. Если да, то он присылает новое значение курса человеку. Но я видимо не правильно сделал сохранение курс биткоина для того, чтобы бот сравнивал и отправлял, так как он отправляет чередующиеся значения (скрин прикрепил ниже).
import telebot
import requests
import time
from bs4 import BeautifulSoup
token = ""
channel_id = ""
bot = telebot.TeleBot(token)
@bot.message_handler(content_types=['text'])
def commands(message):
#bot.send_message(channel_id, message.text)
if message.text == "Курс":
#bot.send_message(channel_id, "Hello")
back_post_id = None
while True:
post_text = parser(back_post_id)
back_post_id = post_text[1]
if post_text[0] != None:
bot.send_message(channel_id, post_text[0])
time.sleep(1)
else:
bot.send_message(message.from_user.id, "Я тебя не понимаю. Напиши Курс")
def parser(back_post_id):
URL = "https://currency.com/ru/btc-to-usd?utm_course=rbc&utm_campaign=quote"
page = requests.get(URL)
soup = BeautifulSoup(page.content, "lxml")
post = soup.find("b", class_='i-price-buy').text
post_id = post
if post_id != back_post_id:
post = soup.find("b", class_='i-price-buy').text
return f"{post}", post_id
else:
return None, post_id
bot.polling(none_stop=True, interval=0)