bot.send_message выводит только одну строку

Cepblu

Новичок
Пользователь
Май 12, 2023
2
0
1
Здравствуйте! С payton можно сказать что не знаком, с помощью костылей и изоленты слепил код:
Код:
import telebot
import requests
from bs4 import BeautifulSoup



# Создаем экземпляр бота
bot = telebot.TeleBot('токен')
# Функция, обрабатывающая команду /start
@bot.message_handler(commands=["start"])
def start(m, res=False):
    bot.send_message(m.chat.id, 'Я на связи. Напиши мне что-нибудь )')
# Получение сообщений от юзера
@bot.message_handler(content_types=["text"])
def handle_text(message):
    bot.send_message(message.chat.id, "https://www.avito.ru" + link["href"])

product = input()

url = "https://www.avito.ru/novosibirsk/tovary_dlya_kompyutera/komplektuyuschie/videokarty-ASgBAgICAkTGB~pm7gmmZw?cd=1&q=gtx+1660+super&s=104" + product
request = requests.get(url)
bs = BeautifulSoup(request.text, "html.parser")



all_links = bs.find_all("a", class_="link-link-MbQDP")

all_links = bs.find_all("a", class_="link-link-MbQDP")
for link in all_links:
    print("https://www.avito.ru" + link["href"])
    




bot.polling(none_stop=True, interval=0)

Проблема в том что с компьютера запускается и работает, выводит список ссылок, но в телеграмм боте выводит только одну ссылку. Как сделать чтобы он выводил все или заданное количество?
И как сделать, чтобы при запуске, он сразу работал, без необходимости вбивать текст с компьютера?

На авторство не претендую слепил из открытых источников в интернете.
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
372
107
43
наверное так, не проверял на работоспособность

Python:
import telebot
import requests
from bs4 import BeautifulSoup

# Создаем экземпляр бота
bot = telebot.TeleBot('токен')
product = 'gtx 1660 super'


# Функция, обрабатывающая команду /start
@bot.message_handler(commands=['start'])
def send_data(message):
    url = "https://www.avito.ru/novosibirsk/tovary_dlya_kompyutera/komplektuyuschie/videokarty-ASgBAgICAkTGB~pm7gmmZw?cd=1&s=104&q=" + product.replace(' ', '+')
    request = requests.get(url)
    bs = BeautifulSoup(request.text, "html.parser")
    all_links = bs.find_all("a", class_="link-link-MbQDP")

    for link in all_links:
        bot.send_message(message.chat.id, "https://www.avito.ru" + link["href"])


bot.polling(none_stop=True)
 

Cepblu

Новичок
Пользователь
Май 12, 2023
2
0
1
наверное так, не проверял на работоспособность

Python:
import telebot
import requests
from bs4 import BeautifulSoup

# Создаем экземпляр бота
bot = telebot.TeleBot('токен')
product = 'gtx 1660 super'


# Функция, обрабатывающая команду /start
@bot.message_handler(commands=['start'])
def send_data(message):
    url = "https://www.avito.ru/novosibirsk/tovary_dlya_kompyutera/komplektuyuschie/videokarty-ASgBAgICAkTGB~pm7gmmZw?cd=1&s=104&q=" + product.replace(' ', '+')
    request = requests.get(url)
    bs = BeautifulSoup(request.text, "html.parser")
    all_links = bs.find_all("a", class_="link-link-MbQDP")

    for link in all_links:
        bot.send_message(message.chat.id, "https://www.avito.ru" + link["href"])


bot.polling(none_stop=True)
Спасибо большое! работает!
 

Форум IT Специалистов