Základní návrh bArcBot
Před začátkem samotného programování si ještě trochu rozvrhneme, co vlastně od takového jednoduchého irc bota budeme požadovat.
Rozvržení
Základním cílem tedy bude dobře oddělit jádro (K) od zbytku bota (M). Komunikace mezi jádrem a moduly by měla probíhat jen pomocí přesně definovaného protokolu a moduly by neměly mít možnost výrazně zasáhnout do funkce jádra. Jednotlivé části modulů pak budou komunikovat s jádrem jen pomocí rozhraní, které jim poskytne modul.
Návrh rozdělení aplikace
- 1.0 Jádro (K - Kernel)
- 1.1 Obsluha IRC eventů (K-IEM - IRC Events Manager)
- 1.1.1 Předávání řízení (K-CS - Control Switcher)
- 1.1.2 Logování (K-L - Logging)
- 2.0 Moduly (M - Moduls)
- 2.1 Správa uživatelů (M-AM - Accounts Manager)
- 2.2.1 Autentifikace uživatele (M-AM-US - User Authentification)
- 2.2.2 Automatická identifikace uživatele (M-AM-UAI - Auto User Ident)
- 2.2.2.1 Ověřování úrovně oprávnění (M-AM-ULC - User’s Level Check)
- 2.2.3 Údržba seznamu uživatelů (M-AM-AS - Accounts Services)
- 2.2 Funkce (M-F - Functions)
- 2.2.1 Správa příkazů (M-F-CM - Commands Manager)
- 2.2.2 Vykonávání příkázů (M-F-CI - Commands Interpreter)
- 2.3 Reakce (M-R - Reactions)
- 2.3.1 Uživatelem definované reakce (M-R-UDR - User Defined Reactions)
Pokud se v jádru vyvolá jakýkoli irc event Control Switcher (K-CS) rozhodne, kdo má danou událost zpracovat a podle toho předá řízení zpátky jádru (K), nebo některému z modulů (M). Pokud např. přijmeme PRIVMSG tak Control Switcher předá řízení zpět jádru, které rozhodne zda se má zpráva zalogovat a pak znovu zavola CS, který předá řízení jednomu z modulů (Funkce, Reakce). Pokud PRIVMSG obsahuje volání funkce předá se zpracování PRIVMSG modulu ‘Funkce’ (M-F).
Umístění: project » barcbot » zakladni_navrh
