@@ -97,7 +97,15 @@ def calculate_change(self, current, previous, key):
9797 if not previous or key not in previous :
9898 return 0 , "🆕"
9999
100- change = current - previous [key ]
100+ # Handle None values
101+ if current is None :
102+ return 0 , "❓"
103+
104+ prev_value = previous .get (key , 0 )
105+ if prev_value is None :
106+ prev_value = 0
107+
108+ change = current - prev_value
101109 if change > 0 :
102110 return change , "📈"
103111 elif change < 0 :
@@ -273,11 +281,13 @@ def create_discord_embed(self, current_metrics, previous_metrics):
273281 prev_reddit = previous_metrics .get ('reddit' , {})
274282 prev_youtube = previous_metrics .get ('youtube' , {})
275283
276- # Handle Discord display
284+ # Handle Discord display - make it graceful if API fails
277285 if discord_data .get ('members' ) is None :
278- discord_display = "Bot needs permissions"
286+ discord_display = "API issue"
287+ discord_change_display = ""
279288 else :
280289 discord_display = f"{ discord_data .get ('members' )} members"
290+ discord_change_display = self .format_change (discord_change , discord_dir )
281291 star_change , star_dir = self .calculate_change (github_data .get ('stars' , 0 ), prev_github , 'stars' )
282292 discord_change , discord_dir = self .calculate_change (discord_data .get ('members' , 0 ), prev_discord , 'members' )
283293 reddit_change , reddit_dir = self .calculate_change (reddit_data .get ('subreddit_members' , 0 ), prev_reddit , 'subreddit_members' )
@@ -307,7 +317,7 @@ def create_discord_embed(self, current_metrics, previous_metrics):
307317 },
308318 {
309319 "name" : "💬 Community" ,
310- "value" : f"**Discord:** { discord_display } { self . format_change ( discord_change , discord_dir ) } \n **r/BasicMemory:** { reddit_data .get ('subreddit_members' , 'N/A' )} { self .format_change (reddit_change , reddit_dir )} " ,
320+ "value" : f"**Discord:** { discord_display } { discord_change_display } \n **r/BasicMemory:** { reddit_data .get ('subreddit_members' , 'N/A' )} { self .format_change (reddit_change , reddit_dir )} " ,
311321 "inline" : True
312322 },
313323 {
0 commit comments