Implemented public DNS resolution checks

This commit is contained in:
2026-08-16 19:15:26 -05:00
parent 9788c5d9b3
commit 27d89b1254
2 changed files with 59 additions and 5 deletions
+16 -5
View File
@@ -72,14 +72,25 @@ class HealthBot(discord.Client):
emoji = '🟢' if r['up'] else '🔴'
code = r['status_code'] if r['status_code'] is not None else '—'
latency = f"{r['latency_ms']} ms" if r['latency_ms'] is not None else '—'
value = f'{emoji} `HTTP {code}` · {latency}'
hc = f'{emoji} `HTTP {code}` · {latency}'
if r.get('db') is not None:
value += f' · db {r["db"]}'
hc += f' · db {r["db"]}'
if r.get('version'):
value += f' · v{r["version"]}'
hc += f' · v{r["version"]}'
if r.get('detail'):
value += f'\n*{r["detail"]}*'
embed.add_field(name=r['name'], value=value, inline=False)
hc += f' · *{r["detail"]}*'
lines = [f'**healthcheck** {hc}']
for label in ('Cloudflare', 'Google'):
d = r.get('dns', {}).get(label)
if d and d.get('ok'):
val = '✓ ' + ', '.join(d['ips'])
else:
err = d.get('error') if d else 'unknown'
val = f'✗ {err}'
lines.append(f'**DNS resolution ({label})** {val}')
embed.add_field(name=r['name'], value='\n'.join(lines), inline=False)
embed.set_footer(text=f'Updates every {config.CHECK_INTERVAL}s')
return embed