From 42a5ad4a12399f16a47c3b6e7f3a163c8794a31d Mon Sep 17 00:00:00 2001 From: Linus E <75929322+Rripped@users.noreply.github.com> Date: Tue, 26 Apr 2022 12:07:56 +0200 Subject: [PATCH] more commenting and error correction in updater --- telegram_bot/bot.py | 3 ++- telegram_bot/bot_updates.py | 24 ++++++++++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/telegram_bot/bot.py b/telegram_bot/bot.py index f5c3bef..67baf98 100644 --- a/telegram_bot/bot.py +++ b/telegram_bot/bot.py @@ -118,7 +118,7 @@ def send_all_users(message): bot.send_message(chat_id=user_id, text=f'Username: {username}\nEmail: {email}\nID: {id}\nCron: {cron}\nAdmin: {admin}') # format user data into readable message text -@bot.message_handler(commands=['setAdmin', 'SetAdmin']) # set admin rights to user TBD: not working!! +@bot.message_handler(commands=['setAdmin', 'SetAdmin', 'setadmin', 'Setadmin']) # set admin rights to user TBD: not working!! def set_admin(message): """ Set admin rights to user @@ -150,6 +150,7 @@ def set_admin_step(message): email = args_message[0] is_admin = args_message[1] + status = api_handler.set_admin(email, is_admin) # set admin in db if(status == 200): diff --git a/telegram_bot/bot_updates.py b/telegram_bot/bot_updates.py index 46df917..4853df0 100644 --- a/telegram_bot/bot_updates.py +++ b/telegram_bot/bot_updates.py @@ -6,17 +6,18 @@ __date__ = "05.04.2022" __version__ = "1.0.1" __license__ = "None" -from calendar import month -from symtable import Symbol +from asyncio.windows_events import NULL +from calendar import month # unused, remove? +from symtable import Symbol # unused, remove? from dotenv import load_dotenv -from shares.share_fetcher import get_share_price +from shares.share_fetcher import get_share_price # unused, remove? import news.news_fetcher as news_fetcher import time -import datetime +import datetime # unused, remove? import os from bot import bot import sys -from multiprocessing import Process +from multiprocessing import Process # unused, remove? from apscheduler.schedulers.background import BackgroundScheduler from api_handling.api_handler import API_Handler @@ -153,9 +154,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