Browse Source

Fixed errors when contributing to a goal with no milestones set

deadtom 3 weeks ago
parent
commit
e266bf4efd
1 changed files with 8 additions and 3 deletions
  1. 8 3
      ownchatbot/reward_handlers.py

+ 8 - 3
ownchatbot/reward_handlers.py

@@ -137,13 +137,18 @@ def was_milestone_reached(db, reward_name):  # Check if a milestone was reached
         all_rewards = current_app.config['REWARDS']  # Get milestone numbers from REWARDS
         milestones_info = all_rewards[reward_name]['milestones']
         
-        if milestones_info['milestone1'][1]:
+        ms1_goal = ms2_goal = ms3_goal = float('inf')  # To avoid referencing unassigned variables, in case there aren't any milestones set
+        ms1_reward = ms2_reward = ms3_reward = None  # Initialize to None
+        
+        if len(milestones_info['milestone1']) > 1 and milestones_info['milestone1'][1]:  # Check that there is a value for the milestone
             ms1_goal = milestones_info['milestone1'][1]
             ms1_reward = f'🚩 \"{milestones_info["milestone1"][0]}\"'
-        if milestones_info['milestone2'][1]:
+
+        if len(milestones_info['milestone2']) > 1 and milestones_info['milestone2'][1]:
             ms2_goal = milestones_info['milestone2'][1]
             ms2_reward = f'🚩🚩 \"{milestones_info["milestone2"][0]}\"'
-        if milestones_info['milestone3'][1]:
+        
+        if len(milestones_info['milestone3']) > 1 and milestones_info['milestone3'][1]:
             ms3_goal = milestones_info['milestone3'][1]
             ms3_reward = f'🚩🚩🚩 \"{milestones_info["milestone3"][0]}\"'