Bots now prefix every response with a 4-hex request token derived from
the request fingerprint. Peers parsing the prefix can suppress their own
pending response for the same request, fixing duplicate replies on #bot
even for commands whose response text varies per bot (ack/test/hello/
status/roll/dice/path/trace/stats/time/lora/id/neighbors).
Patches 0001-0006 re-exported (cosmetic series-count bump 1/6 -> 1/7).
- All self-advert paths (CMD_SEND_SELF_ADVERT, CMD_EXPORT_CONTACT,
MyMesh::advert()) now use bot advert name with [MCBOT] suffix when
bot_prefs.enabled, via new getAdvertNodeName() helper
- Initial flood advert at 120s after boot instead of 24h, so other
nodes see [MCBOT] in the contact name shortly after the bot boots
- AUTO_ADD_OVERWRITE_OLDEST set by default on CMESH_BOT builds, so
bots don't silently stop accepting contacts when the table fills
Patches 0001-0005 re-exported (cosmetic series-count bump 1/5 -> 1/6).
Bundles in-progress utility commands (TIME, LORA, ID, NEIGHBORS), neighbor
tracking, received_at_timestamp / personalized acks, and per-hop response
delay coordination. Tunes the coordinator so multi-hop senders actually get
responses: hop step 5s→1.5s, hop bias capped at 8s, pending TTL 15s→45s.
Verified on Heltec V3 bench bot: responds to #bot at 2, 4, and 6 hops.
BOT_PREFS_VERSION bumped 2→3, so existing bots will reset bot prefs (channel
names, known bots) to defaults on first boot of this firmware.