feat: zombie radio detection — health probe, timeout guards, and alert system

This commit is contained in:
Stacy Olivas
2026-04-14 10:01:51 -07:00
committed by agessaman
parent 13e3e040b2
commit d0ae737066
9 changed files with 1321 additions and 218 deletions
+8
View File
@@ -930,6 +930,10 @@ class CommandManager:
if not self.bot.connected or not self.bot.meshcore:
return False
if self.bot.is_radio_zombie:
self.bot.logger.warning("send_dm suppressed — radio is in zombie state; power cycle required")
return False
# Check all rate limits
can_send, reason = await self._check_rate_limits(
skip_user_rate_limit=skip_user_rate_limit, rate_limit_key=rate_limit_key
@@ -1028,6 +1032,10 @@ class CommandManager:
if not self.bot.connected or not self.bot.meshcore:
return False
if self.bot.is_radio_zombie:
self.bot.logger.warning("send_channel_message suppressed — radio is in zombie state; power cycle required")
return False
# Check all rate limits (including per-channel)
can_send, reason = await self._check_rate_limits(
skip_user_rate_limit=skip_user_rate_limit, rate_limit_key=rate_limit_key,