Как в bot.send_message выдать данные перебора в виде одного сообщения?
Хочу чтобы бот одним сообщением через \n выдал мне каждого автора или каждую цитату в одном сообщении, не знаю как это сделать
import requests
from bs4 import BeautifulSoup as bs
def func(x,message): #функция перебора
l=[]
for x in x:
l.append(x.text)
bot.send_message(message.chat.id,l)
print(l)
response = requests.get('https://quotes.toscrape.com/')
soup = bs(response.text, 'lxml')
quotes = soup.find_all('span',class_='text') #цитаты
autors = soup.find_all('small',class_='author') #авторы цитат
@bot.message_handler(content_types="text")
def get_user_text(message):
if message.text == 'цитаты':
bot.send_message(message.chat.id, 'Цитаты:') #выписываю цитаты
func(quotes,message)
if message.text == 'авторы':
bot.send_message(message.chat.id, 'Авторы:') #выписываю авторов
func(autors,message)
Исходный вариант,который отдельными сообщениями выдает авторов:
def func(x,message): #функция перебора
for x in x:
bot.send_message(message.chat.id,x)
Ответы (1 шт):
Автор решения: Халимов
→ Ссылка
Вот решение, заменил функцию отбора
def func(x): # функция отбора
msg=''
l=[]
for x in x:
l.append(x.text)
for i in range(len(l)):
msg+=l[i]+'\n'
print(msg)