Skip to content

Commit bd8022b

Browse files
authored
Update daily_report.py
Signed-off-by: nellins <drewnellins@gmail.com>
1 parent 328ebe0 commit bd8022b

1 file changed

Lines changed: 25 additions & 8 deletions

File tree

scripts/daily_report.py

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -141,21 +141,37 @@ def get_github_metrics(self):
141141
return {'error': str(e)}
142142

143143
def get_discord_metrics(self):
144-
"""Get Discord server metrics"""
144+
"""Get Discord server metrics using multiple approaches"""
145145
try:
146146
headers = {'Authorization': f'Bot {self.discord_bot_token}'}
147-
guild_url = f'https://discord.com/api/v10/guilds/{self.discord_server_id}'
148147

148+
# Try method 1: Get guild info with approximate member count
149+
guild_url = f'https://discord.com/api/v10/guilds/{self.discord_server_id}?with_counts=true'
149150
response = requests.get(guild_url, headers=headers)
150151

151152
if response.status_code == 200:
152153
guild_data = response.json()
153-
return {
154-
'members': guild_data.get('approximate_member_count', 0)
155-
}
156-
else:
157-
print(f"Discord API error: {response.status_code}")
158-
return {'members': 0}
154+
# Try multiple fields that might contain member count
155+
member_count = (
156+
guild_data.get('approximate_member_count') or
157+
guild_data.get('member_count') or
158+
guild_data.get('members')
159+
)
160+
161+
if member_count:
162+
return {'members': member_count}
163+
164+
# Method 2: Try to get members list (if bot has permission)
165+
members_url = f'https://discord.com/api/v10/guilds/{self.discord_server_id}/members?limit=1000'
166+
members_response = requests.get(members_url, headers=headers)
167+
168+
if members_response.status_code == 200:
169+
members_data = members_response.json()
170+
return {'members': len(members_data)}
171+
172+
# Method 3: Fallback - return 0 but note the issue
173+
print(f"⚠️ Discord API responses: Guild: {response.status_code}, Members: {members_response.status_code}")
174+
return {'members': 0}
159175

160176
except Exception as e:
161177
print(f"Discord API error: {e}")
@@ -278,6 +294,7 @@ def create_discord_embed(self, current_metrics, previous_metrics):
278294
"value": f"""
279295
**Discord:** {discord_data.get('members', 'N/A')} members {self.format_change(discord_change, discord_dir)}
280296
**r/BasicMemory:** {reddit_data.get('subreddit_members', 'N/A')} {self.format_change(reddit_change, reddit_dir)}
297+
281298
""".strip(),
282299
"inline": True
283300
},

0 commit comments

Comments
 (0)