From 4bd53c01169fea417372efa1d4c586641cb1f41d Mon Sep 17 00:00:00 2001 From: Rripped Date: Tue, 29 Mar 2022 12:20:58 +0200 Subject: [PATCH] news working --- telegram_bot/bot.py | 15 ++++++++++----- telegram_bot/news/news_fetcher.py | 4 +--- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/telegram_bot/bot.py b/telegram_bot/bot.py index 43d8845..c1f21f2 100644 --- a/telegram_bot/bot.py +++ b/telegram_bot/bot.py @@ -245,13 +245,18 @@ def send_news(message): user_id = int(message.from_user.id) keywords = api_handler.get_user_keywords(user_id) - keywords_search = ','.join(keywords) - + keywords_search = ' OR '.join(keywords) + print(keywords_search) news_list = news.get_top_news_by_keyword(keywords_search)["articles"] - for article in news_list: - formatted_article = news.format_article(article) - bot.send_message(chat_id=user_id, text=formatted_article, parse_mode="MARKDOWN") + if news_list: + for article in news_list: + formatted_article = news.format_article(article) + bot.send_message(chat_id=user_id, text=formatted_article, parse_mode="MARKDOWN") + else: + bot.send_message(chat_id=user_id, text='No news found for your keywords.') + + @bot.message_handler(commands=['addkeyword']) diff --git a/telegram_bot/news/news_fetcher.py b/telegram_bot/news/news_fetcher.py index e320936..bf2aeb9 100644 --- a/telegram_bot/news/news_fetcher.py +++ b/telegram_bot/news/news_fetcher.py @@ -14,7 +14,6 @@ import requests from newsapi import NewsApiClient from dotenv import load_dotenv -import urllib.parse as urlparse load_dotenv() @@ -34,8 +33,7 @@ def get_top_news_by_keyword(keyword): Returns: JSON/dict: dict containing articles """ - keyword_url = urlparse.quote(keyword) - top_headlines = newsapi.get_top_headlines(q=keyword_url, sources=str_sources, language='en') + top_headlines = newsapi.get_everything(q=keyword, sources=str_sources, language='en') return top_headlines def format_article(article):