Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 18, 2019 22:38:07

TheFailOn
Зарегистрирован: 2019-10-26
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

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

Нужно, чтобы бот, в ответ выводил список фильмов, которые парсит функция, но одним сообщением. Если делать циклом то выходит один фильм - одно сообщение. Вот я пробовал вывести созданный перебором список, но выводит только первый элемент.

 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()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version