From 56bb9908d19bea600a8ce8e5b8d0ad0cf13cd85e Mon Sep 17 00:00:00 2001 From: Florian Kellermann Date: Fri, 13 May 2022 11:59:11 +0200 Subject: [PATCH 1/3] Quick fix NoneType --- telegram_bot/bot.py | 2 +- telegram_bot/bot_updates.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/telegram_bot/bot.py b/telegram_bot/bot.py index 65a164d..48b7b72 100644 --- a/telegram_bot/bot.py +++ b/telegram_bot/bot.py @@ -208,7 +208,7 @@ def send_status(message): bot.reply_to(message, "bot is running") -@bot.message_handler(commands=['portfolio', 'Portfolio']) # /update -> update shares +@bot.message_handler(commands=['portfolio', 'Portfolio']) # /portfolio -> print all owned shares def update_for_user(message): p_user_id = int(message.from_user.id) p_my_handler = api_handler diff --git a/telegram_bot/bot_updates.py b/telegram_bot/bot_updates.py index 2a47694..7698b56 100644 --- a/telegram_bot/bot_updates.py +++ b/telegram_bot/bot_updates.py @@ -66,6 +66,11 @@ def update_crontab(p_my_handler): all_users = p_my_handler.get_all_users() # get all users so crontabs can update for everybody + if all_users == None: + print("No users found, trying again.") + update_crontab(p_my_handler) + return + user_ids = [] user_crontab = [] -- 2.45.2 From 6586ac2bfe425786eebc9d97da3217f17d897150 Mon Sep 17 00:00:00 2001 From: Kellermann Date: Fri, 13 May 2022 12:25:56 +0200 Subject: [PATCH 2/3] Fixed --- telegram_bot/bot_updates.py | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/telegram_bot/bot_updates.py b/telegram_bot/bot_updates.py index 7698b56..6868feb 100644 --- a/telegram_bot/bot_updates.py +++ b/telegram_bot/bot_updates.py @@ -74,15 +74,19 @@ def update_crontab(p_my_handler): user_ids = [] user_crontab = [] - for element in all_users: - if element["cron"] != '' and element["telegram_user_id"] != '': # check if both values are existing so I have consistent data - try: - user_ids.append(int(element["telegram_user_id"])) + if all_users != None: + for element in all_users: + if element["cron"] != '' and element["telegram_user_id"] != '': # check if both values are existing so I have consistent data try: - user_crontab.append(str(element["cron"])) - except: - user_ids.pop() # if something goes wrong with cron I have to delete matching user id - except: continue + user_ids.append(int(element["telegram_user_id"])) + try: + user_crontab.append(str(element["cron"])) + except: + user_ids.pop() # if something goes wrong with cron I have to delete matching user id + except: continue + else: + print("Error with all users from db. Retrying in update_crontab()") + update_crontab(p_my_handler) print(user_ids) @@ -136,15 +140,17 @@ def update_for_user(p_user_id, p_my_handler): share_amounts = [] my_portfolio = p_my_handler.get_user_portfolio(p_user_id) # get all existing shares for user - - for element in my_portfolio: - if element["count"] != '' and element["isin"] != '': - print(element["count"], element["isin"]) - share_symbols.append(element["isin"]) - share_amounts.append(element["count"]) + my_portfolio = None + + if my_portfolio!=None: + for element in my_portfolio: + if element["count"] != '' and element["isin"] != '': + print(element["count"], element["isin"]) + share_symbols.append(element["isin"]) + share_amounts.append(element["count"]) my_user = p_my_handler.get_user(p_user_id) - send_to_user("Hello %s this is your share update for today:"%str(my_user["username"]), pUser_id=p_user_id) + send_to_user("Hello %s this is your update for today:"%str(my_user["username"]), pUser_id=p_user_id) shares = p_my_handler.get_user_shares(p_user_id) # all interest shares -- 2.45.2 From e06c43b7624134d81a25c188cd5d50df33bd8e52 Mon Sep 17 00:00:00 2001 From: Kellermann Date: Fri, 13 May 2022 12:28:22 +0200 Subject: [PATCH 3/3] Working --- telegram_bot/bot_updates.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/telegram_bot/bot_updates.py b/telegram_bot/bot_updates.py index 6868feb..704a976 100644 --- a/telegram_bot/bot_updates.py +++ b/telegram_bot/bot_updates.py @@ -74,19 +74,16 @@ def update_crontab(p_my_handler): user_ids = [] user_crontab = [] - if all_users != None: - for element in all_users: - if element["cron"] != '' and element["telegram_user_id"] != '': # check if both values are existing so I have consistent data + for element in all_users: + if element["cron"] != '' and element["telegram_user_id"] != '': # check if both values are existing so I have consistent data + try: + user_ids.append(int(element["telegram_user_id"])) try: - user_ids.append(int(element["telegram_user_id"])) - try: - user_crontab.append(str(element["cron"])) - except: - user_ids.pop() # if something goes wrong with cron I have to delete matching user id - except: continue - else: - print("Error with all users from db. Retrying in update_crontab()") - update_crontab(p_my_handler) + user_crontab.append(str(element["cron"])) + except: + user_ids.pop() # if something goes wrong with cron I have to delete matching user id + except: continue + print(user_ids) -- 2.45.2