This commit is contained in:
Florian Kellermann
2022-04-26 16:32:55 +02:00
13 changed files with 2341 additions and 497 deletions

View File

@@ -2,21 +2,16 @@
script for regularly sending updates on shares and news based on user interval
"""
__author__ = "Florian Kellermann, Linus Eickhoff"
__date__ = "05.04.2022"
__version__ = "1.0.1"
__date__ = "26.04.2022"
__version__ = "1.0.2"
__license__ = "None"
from calendar import month
from symtable import Symbol
from dotenv import load_dotenv
from shares.share_fetcher import get_share_price
import news.news_fetcher as news_fetcher
import time
import datetime
import os
from bot import bot
import sys
from multiprocessing import Process
from apscheduler.schedulers.background import BackgroundScheduler
from api_handling.api_handler import API_Handler
@@ -153,9 +148,16 @@ def update_for_user(p_user_id, p_my_handler):
if(keywords): # if keywords exist and array is not empty
send_to_user("If you haven't read yet: \nHere are some interesting news according to your keywords:", pUser_id=p_user_id)
for keyword in keywords:
news = news_fetcher.get_top_news_by_keyword(keyword)["articles"][0] # only use the most popular news
news_formatted = news_fetcher.format_article(news) # format for message
send_to_user(f"_keyword: {keyword}_\n\n{news_formatted}", pUser_id=p_user_id, md_mode=True) # send news with related keyword in Markdown
news = news_fetcher.get_top_news_by_keyword(keyword)["articles"]
if not news: # if empty news array
send_to_user(f"No news found for keyword _{keyword}_.", pUser_id=p_user_id, md_mode=True)
if news == None: # if news is none
send_to_user(f"Server error for keyword _{keyword}_.", pUser_id=p_user_id, md_mode=True)
else:
news_formatted = news_fetcher.format_article(news[0]) # format for message, only use the most popular article
send_to_user(f"_keyword: {keyword}_\n\n{news_formatted}", pUser_id=p_user_id, md_mode=True) # send news with related keyword in Markdown