MJ
AuDHD Tracker
Operator Manual · v1.1
Bot Online
Worker Live
NocoDB Ready
Webhook Set
SYS://liveOS · daily-tracking-protocol

Telegram bot pro tracking AuDHD.
Tři minuty denně. Žádný overhead.

Tenhle dokument je tvůj operator manual pro práci s @mj_audhd_bot. Žádný app store, žádný setup, žádné notifikace navíc — Telegram, který už máš otevřený, se stává tvůj data input layer.

Bot Handle
@mj_audhd_bot id: 8738943431
Daily Friction
~3 min max 5 min
Commands
13 quick + episode + status
Personal Layer Pass
~2026-05-28 po 4 týdnech baseline

[01]Quick Start

3 steps · ~60 sec
01
► OPEN BOT

Najdi bota v Telegramu

Search nahoře → napiš mj_audhd_bot → klikni na výsledek.

→ t.me/mj_audhd_bot
02
► START SESSION

Pošli /start

Telegram automaticky pošle /start klikem na tlačítko „Start" dole. Bot vrátí seznam příkazů.

→ čekej na ◂ AuDHD Tracker — Commands
03
► PIN CHAT

Připni si chat na top

V Telegramu pravý klik na chat → Pin to top. Tím garantuješ, že bota uvidíš pokaždé, když otevřeš app.

→ habit anchor: každé otevření TG = ping

[02]Data Pipeline

end-to-end · ~200 ms latence
► INPUT LAYER

Telegram

@mj_audhd_bot
  • iPhone / Mac / web
  • tap nebo type
  • HTTPS webhook out
webhook HTTPS POST
► COMPUTE LAYER

Cloudflare Worker

audhd-tracker.workers.dev
  • parse command
  • verify user_id whitelist
  • route to NocoDB API
  • reply ✓ to Telegram
REST v2 API · xc-token
► STORAGE LAYER

NocoDB · EmJay

3× audhd_*
  • audhd_state
  • audhd_episodes
  • audhd_medication

Pipeline je stateless a serverless — žádná vlastní DB, žádné údržba serveru. CF Worker free tier: 100k requestů/den (overkill ~1000×). Latence end-to-end pod 200 ms i v offline-on-mobile situacích.

[03]First Test · 5 příkazů

end-to-end validace · ~90 sec

Tento sequence pokrývá všechny 3 typy zápisu + 1 typ čtení. Pokud projdou všechny kroky, celá architektura je validovaná a můžeš jet ostře.

01

Energy log

/e 7

Ohodnoť svou aktuální energii na škále 0–10. 0 = na nule, 5 = průměr, 10 = nabitý.

Bot ti vrátí potvrzovací zprávu během <1 sec.

WHY · Energy je primární prediktor toho, co dnes zvládneš. Sleduje se každé 2–4h.
POST /webhook · text="/e 7"
parse: cmd=e, val=7
NocoDB INSERT audhd_state
{ Type: "energy", Value_num: 7, Timestamp: now() }
← reply ✓ energy 7 · 17:55
02

Focus log

/f 5

Schopnost soustředit se na jeden task, ne přepínat. 0–10 stejně jako energy.

Pozor: focus ≠ energy. Můžeš mít energy 8 + focus 2 (klasický ADHD scattered stav).

WHY · Focus je nezávislá osa od energy. Spolu tvoří 80 % info hodnoty.
POST /webhook · text="/f 5"
parse: cmd=f, val=5
NocoDB INSERT audhd_state
{ Type: "focus", Value_num: 5, Timestamp: now() }
← reply ✓ focus 5 · 17:56
03

Ritalin dose

/r 10

Zaznamenej dávku Ritalinu v mg. Použij číslo bez jednotky.

Píšeš v okamžiku, kdy si bereš tabletu — ne plánovaně dopředu, ne retroaktivně.

WHY · Timing dávky vs. energy/focus křivka = nejvíc actionable signál pro titraci. Po 2–3 týdnech uvidíš, kdy přesně účinek peaká a kdy padá.
POST /webhook · text="/r 10"
parse: cmd=r, dose=10
NocoDB INSERT audhd_medication
{ Substance: "ritalin", Dose_mg: 10, Timestamp: now() }
← reply ✓ ritalin 10mg · 17:57
04

Episode picker · multi-step

/episode

Tohle je nejsložitější interakce — multi-step inline klávesnice. Bot ti pošle:

① grid 10 typů epizod → klikni např. rsd
② grid intensity 0–10 → klikni např. 5
③ optional: napiš krátký kontext jako další zprávu (např. „klient B feedback")

WHY · Episodes = tagované události s intenzitou + kontextem. Hlavní zdroj pro pattern detection (RSD triggers, paralysis subtypes, sensory overload zdroje).
/episode · render TYPE picker
← inline keyboard [10 buttons]
callback: ep:type:rsd
← inline keyboard [0..10]
callback: ep:int:rsd:5
NocoDB INSERT audhd_episodes
{ Type: "rsd", Intensity: 5, Timestamp: now() }
← reply ✓ rsd 5/10 · prompt context?
05

Today summary · read test

/today

Bot se zeptá NocoDB na všechny dnešní záznamy a vrátí ti přehled jako jednu zprávu.

Tohle je první příkaz, který něco čte z DB (předchozí jen zapisovaly). Pokud projde, READ pipeline funguje.

WHY · Evening review návyk. Můžeš si to dát kdykoli během dne pro check „kde jsem dneska byl".
POST /webhook · text="/today"
NocoDB QUERY × 3 tables
WHERE Timestamp ≥ today 00:00
aggregate + format
← reply Dnes 2026-05-01:
energy 7 (17:55) · focus 5 (17:56)
ritalin 10mg (17:57)
episode: rsd 5/10 (17:58)
expected I/O · telegram chat
[17:55:02] /e 7
[17:55:03] ✓ energy 7 · 17:55
[17:55:18] /f 5
[17:55:19] ✓ focus 5 · 17:55
[17:56:04] /r 10
[17:56:05] ✓ ritalin 10mg · 17:56
[17:57:11] /episode
[17:57:11] Vyber typ: [paralyza-inertia][paralyza-decision][freeze]…
[17:57:18] tap → rsd
[17:57:19] Intenzita? [0][1][2][3][4][5][6][7][8][9][10]
[17:57:24] tap → 5
[17:57:25] ✓ rsd 5/10 · můžeš přidat kontext (volitelné)
[17:58:02] /today
[17:58:03] Dnes 2026-05-01: energy 7 · focus 5 · ritalin 10mg · rsd 5/10

[04]Command Reference

13 commands · 3 categories
[ QUICK LOGS · instant write ]
/e <0-10>
Energy

Aktuální energetická hladina.

np. /e 7
/f <0-10>
Focus

Schopnost se soustředit.

np. /f 4
/m <0-10>
Mood

Nálada na škále. 0 = hluboko, 5 = neutral, 10 = skvěle.

np. /m 6
/r <mg>
Ritalin dose

Dávka v miligramech.

np. /r 10
/c <h>
Capacity hours

Kolik produktivních hodin dnes odhaduješ.

np. /c 4
/anx <0-10>
Anxiety

Aktuální úzkost.

np. /anx 6
/sleep <q> <lat>
Sleep

Quality 0–10 + sleep latency v minutách.

np. /sleep 7 25
/note <text>
Note

Volný textový zápis.

np. /note divný den, sensory overload v MHD
/must <task>
Must today

Top priorita dne (jen jedna).

np. /must dokončit Wave 4 outline
[ EPISODES · multi-step picker ]
/episode
Tagovaná epizoda

10 typů: paralyza-inertia · paralyza-decision · freeze · rsd · freeze-response · burnout-warning · hyperfocus-good · trap · sensory-overload · masking-debt. Po výběru typu ti bot nabídne intensity 0–10 a optional kontext.

np. /episode → rsd → 5 → "klient feedback"
[ STATUS · read-only queries ]
/today
Dnešní souhrn

Všechny dnešní záznamy v jedné zprávě.

/week
Týdenní pattern

Posledních 7 dní agregovaně (avg energy, počet epizod, doses).

/help
Tento command list

Bot vrátí cheat sheet všech commandů.

/id
Tvé Telegram ID

Debug — kontrola whitelist.

[ TIME OFFSET · retroaktivní zápis · max 24h zpět ]

Když si vezmeš Ritalin a zapíšeš ho až o hodinu později, exact timing dávky se ztrácí. Trailing offset to řeší — přidej jako poslední argument ke kterémukoli logu. Funguje pro všechny commandy kromě /episode.

SYNTAX 1 · MINUTES
-60
Před N minutami (jen číslo s minus).
/r 10 -60
SYNTAX 2 · HOURS
-2h
Před N hodinami. Podporuje desetinné — -1.5h.
/r 10 -2h
SYNTAX 3 · TIME
14:30
Konkrétní čas v Prague TZ. Auto-wrap na včera, pokud čas v budoucnu.
/r 10 14:30
LIMIT · 24H
> 24h → ❌
Cokoli starší = error. Edituj přímo v NocoDB UI.
paměť po 24h ≠ reliable
retroaktivní zápis · scenario
[18:30] vzpomínáš si že jsi vzal Ritalin v 17:00 ale zapomněl jsi to zapsat
[18:30:14] /r 10 -90 // nebo /r 10 17:00
[18:30:15] ✓ Ritalin 10mg @ 17:00 (před 1.5h)
🔔 2h check (anxiety): ~19:00

[18:31] další příklad — RSD epizoda kterou jsi měl ráno v 09:15
[18:31:02] /episode // /episode retroaktivitu nepodporuje, použij /note místo toho
[18:31:18] /note rsd ráno feedback klient B 09:15
[18:31:19] ✓ note saved @ 18:31

[18:32] test 24h limit — 26h zpět = reject
[18:32:00] /e 5 -26h
[18:32:01] ❌ Max 24h zpět.

[05]Suggested Daily Routine

total ~3 min · forgive-mode 50–70 % fillrate = success
► 07:00 – 09:00

Morning Check

~60 sec
  • /sleep 7 25 quality + latency
  • /e 5 baseline energy
  • /must … top 1 task pro dnešek
  • /r 10 první dávka
Anchor: po probuzení, před otevřením emailu. Pin chat = první věc co vidíš.
► 12:00 – 14:00

Midday Pulse

~30 sec
  • /e 7 jak je teď
  • /f 4 focus check
  • /r 10 druhá dávka (jestli je)
  • /episode jen pokud něco bylo
Anchor: před nebo po obědě. Pokud Ritalin bere 2× denně, druhá dávka má vlastní timestamp.
► 21:00 – 22:30

Evening Review

~90 sec
  • /today přehled dne
  • /anx 4 jak ses uklidnil
  • /c 5 finální capacity hodnocení
  • /note … cokoli co stojí za zápis
Anchor: před spaním. /today ti dá feeling kontroly + closure dne.
[ FORGIVE MODE · AuDHD-friendly principles ]

50 % fillrate = success. Pokud nezvládneš celý den, log alespoň jeden datapoint.
Žádné notifikace — bot tě nikdy proaktivně neotravuje. Push je tvůj, ne bota.
Skip bez guilt. Když zapomeneš 3 dny, prostě se vrať. Žádný streak ke ztrátě.
Better something than nothing — i když si zapíšeš jen /e 4, je to víc dat než nic.

[06]Under the Hood

technical detail · skip if irrelevant

Bezpečnost

Whitelist by Telegram user_id. Worker přijme jen zprávy od ID 1900124943 (tvoje). Kdokoli jiný dostane ⛔ Unauthorized a nic se neuloží.

Tokeny v Cloudflare Secrets. Bot token + NocoDB API token nejsou v žádném souboru na disku — jen v encrypted CF Worker Secrets. Source code můžeš commitnout do public Gitu bez rizika.

HTTPS end-to-end. Telegram → CF Worker → NocoDB jsou všechny TLS. Žádný plaintext nikde mezi.

Co dělá Personal Layer Pass

Po ~4 týdnech baseline trackingu (cca 2026-05-28+) ti spustím tzv. Personal Layer Pass — Claude přečte všechna NocoDB data a transformuje 18 placeholderů v AuDHD wiki na data-grounded sekce.

Příklad: stránka audhd-psychika-rsd.md má sekci „Personal layer (Martin)" zatím prázdnou. Po PLP tam bude: „Tvůj top RSD trigger je vague feedback od klientů (5/12 epizod, intensity avg 6.2). Spike obvykle 14–17h, koreluje s low energy (avg 4.1) a hladem."

Tj. generic AuDHD knowledge → tvoje specifická knowledge. Bez tracking dat by byly placeholdery jen TODO navždy.

[07]Troubleshooting

common issues · fail-safes
?
Bot nereaguje na /command
Nejčastěji typo v command (např. /e7 místo /e 7) — vždy mezera mezi commandem a hodnotou. Pokud správné: pošli mi screenshot, mrknu na Worker logs přes wrangler tail.
?
Dostal jsem ⛔ Unauthorized
Píšeš z jiného Telegram účtu, než je whitelistovaný. Pošli si /id ze svého aktuálního účtu — pokud nesedí 1900124943, updatnu whitelist.
?
Vzal jsem Ritalin před hodinou
Použij trailing offset: /r 10 -60 nebo /r 10 17:00. Funguje pro všechny logy kromě /episode. Hard limit 24h zpět.
?
Chybí mi command (např. /water)
Easy fix — řekni mi, jaký command + jaká data ukládat (které pole/typ). Přidání trvá ~5 minut: edit Worker code → wrangler deploy → 10 sec rollover.
?
Chci vidět raw data v NocoDB
Otevři nocodb.growlead.cz → base EmJay → tabulky audhd_state, audhd_episodes, audhd_medication. Klasické grid view, můžeš filtrovat/sortovat.
?
Bot byl rotovaný / nový token
Kdykoli můžeš v BotFather vygenerovat nový token (/token → vyber bot → /revoke). Pak mi řekni, pošlu update přes wrangler secret put TELEGRAM_BOT_TOKEN.