Handle messages in a Discord sleep-tracking channel by grounding all sleep logging and summaries on the real sleep tracker and source Discord metadata. Use w...
Deterministic sleep tracker for Discord channel-based sleep logging.
Set the following environment variables before use:
VariableRequiredDescriptionSLEEP_TIMEZONEYesIANA timezone string (e.g. America/Los_Angeles, Europe/Berlin)WORKSPACENoWorkspace root path. Defaults to $HOME/.openclaw/workspace
scripts/tracker.py for all log mutations and rendering.now as a logged time.SLEEP_TIMEZONE).For messages like: going to bed, still awake, fell asleep, awake now, resting, nap, back to sleep.
bash
python3 scripts/tracker.py add \
"$MESSAGE_TEXT" \
"$CHANNEL_ID" \
"$MESSAGE_ID" \
"$AUTHOR_ID" \
"$TIMESTAMP_UTC"
When the user is clearly correcting the previous sleep event.
bash
python3 scripts/tracker.py correct-latest \
"$MESSAGE_TEXT" \
"$CHANNEL_ID" \
"$MESSAGE_ID" \
"$AUTHOR_ID" \
"$TIMESTAMP_UTC"
When the user explicitly wants the latest sleep entry removed.
bash
python3 scripts/tracker.py delete-latest
Display the current sleep log/summary.
bash
python3 scripts/tracker.py render
The tracker handles common phrases: fell asleep, awake now, got up, still awake, laying in bed, going to bed, trying to sleep, going back to sleep. Pass raw text to the tracker instead of re-parsing.
Ask a short clarifying question only when intent is ambiguous:
FilePurposescripts/tracker.pyCanonical sleep tracker (self-contained, stdlib only)references/CHANNEL_RULES.mdChannel setup guide (optional)references/README.mdSystem documentation (optional)