@greeded01

Telebot. Как сделать так чтобы страница обновлялась?

Бот по цене Битка только раз берет инфу со страницы и потом просто отправляет ее постоянно в чат.

612d22ed8ca84689772763.png

Пытался через return, успехов это не дало, был рад помощи с этим
def hhtp_refresh():
    full_page = requests.get(BTCUSDT, headers=headers)
    return full_page


Или же сделать так чтобы бот включался, например, каждые 30 секунд, Что сделать здесь чтобы это сделать тоже ответ не нашел
if __name__ == '__main__':
    start_process()
    try:
        bot.polling(none_stop=True)
    except:
        pass


Исходный код:
import requests
from bs4 import BeautifulSoup
import telebot
import time
from multiprocessing import *
import schedule
from time import sleep

BTCUSDT = 'https://ru.investing.com/crypto/bitcoin/btc-usd?cid=1035793'
headers = {'User-Agent'}

def hhtp_refresh():
    full_page = requests.get(BTCUSDT, headers=headers)
    return full_page

def get_currency_price():
    soup = BeautifulSoup(hhtp_refresh().content, 'html.parser')
    convert = soup.findAll("span", {"id": "last_last"})
    return (convert[0].text)

def f1():
    var = str(get_currency_price())
    return var

def f2():
    con = float(f1().replace(".", "").replace(",", "."))
    return con

now = ("BTCUSDT= " + str(f2()))

API_TOKEN = 'API'
bot = telebot.TeleBot(API_TOKEN)

def start_process():  p1 = Process(target=P_schedule.start_schedule, args=()).start()

class P_schedule():
    def start_schedule():
        schedule.every().day.at("03:00").do(P_schedule.send_message1)
        schedule.every(5).seconds.do(P_schedule.send_message2)
        schedule.every(2).seconds.do(hhtp_refresh)
        while True:
            schedule.run_pending()
            time.sleep(1)

    def send_message1():
        bot.send_message(ChatID, f'{now}')
    def send_message2():
        bot.send_message(ChatID, f'{now}')

@bot.message_handler(commands=['start'])
def start(message):
    bot.send_message(message.chat.id, 'Нажали start')


if __name__ == '__main__':
    start_process()
    try:
        bot.polling(none_stop=True)
    except:
        pass
  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ответы на вопрос 1
@mashincode
1) Научитесь запускать таски используя селери
2) Инициализируйте бота и сообщений и отправляете его, не включайте метод bot.polling

просто

bot = telebot.Telebot(token)
bot.send.....
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы