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í

Obr1: Základní rozvržení bArcBot

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).


Personal Tools