@TheFailOn

Telebot, как вывести в ответ, список одним сообщением?

Нужно, чтобы бот, в ответ выводил список фильмов, которые парсит функция, но одним сообщением. Если делать циклом то выходит один фильм - одно сообщение. Вот я пробовал вывести созданный перебором список, но выводит только первый элемент.
import telebot
import requests
from bs4 import BeautifulSoup
 
url = "https://www.nbrb.by/statistics/rates/ratesdaily.asp"
 
def cours():
    url = "https://afisha.tut.by/day/2019/10/24"  
    req = requests.get(url)
    page = req.text
    soup = BeautifulSoup(page,"lxml")
    catalog = []
    ivents = soup.findAll('div', attrs= {'class' : 'm-b-border tab-pane active'})
    for films in ivents:
        films = films.findAll('a', attrs= {'class' : 'name'})
        for film in films:
            film = film.text
            catalog.append(film)
    return catalog
r = cours()
 
 
 
keyboard1 = telebot.types.ReplyKeyboardMarkup(True, True)
keyboard1.row('Movies' , 'Courses')
bot = telebot.TeleBot('TOKEN')
@bot.message_handler(commands=['go'])
 
def start_message(message):
    bot.send_message(message.chat.id,'Здарова,братан', reply_markup=keyboard1)
 
@bot.message_handler(content_types=['text'])
def send_message(message):
    if message.text.lower() == 'movies':
        mov = []
        for i in r:
            mov.append(i)
        bot.send_message(message.chat.id, mov)
bot.polling()
  • Вопрос задан
  • 3229 просмотров
Решения вопроса 1
@o5a
Сделай из своего массива фильмов строку с переносами строки

bot.send_message(message.chat.id, '\n'.join(mov))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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