mirror of
https://github.com/agessaman/meshcore-bot.git
synced 2026-10-03 12:57:53 +00:00
A channel message with no "Name: " prefix falls back to a stand-in name. That is not a node: every such message shares the identity, so they would accumulate a run together and then get a DM addressed to a contact that does not exist. The hook now passes no sender for those, so they are still counted but can never earn a warning. The literal is a named constant and a test pins the hook's guard to it. Also folds the channel body-budget formula into models.channel_body_limit rather than letting the web viewer keep a fourth copy of "max(130, 160 - len(name) - 2)"; BaseCommand and CommandManager now call it too, and 158 becomes models.DM_BODY_LIMIT.