Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
KAPITOLA 11 Úvod do jazyka Python<br />
ale v takové podobě by byl mnohem hůře čitelný. Proměnná dict začíná otevírací složenou<br />
závorkou a končí ukončovací složenou závorkou na posledním řádku.<br />
Proměnnou hostitel nastavte podle plně kvalifikovaného doménového názvu (FQDN) serveru<br />
IRC, ke kterému se program bude připojovat. V této ukázce se používá server chat.freenode.<br />
net, ale chcete-li program přizpůsobit a zvolit jiný server, nastavte jeho doménový název na<br />
tomto místě. Proměnná port informuje program, na kterém síťovém portu je služba IRC spuštěna.<br />
Obvykle se jedná o port 6667. Z proměnné kanal jazyk Python pozná, ke kterému kanálu<br />
se má při sledování uživatelů připojit, zatímco proměnná intervaljmen určuje, jak dlouho bude<br />
program čekat do další aktualizace seznamu uživatelů. Tato hodnota se udává v sekundách.<br />
Nastavte druhou proměnnou typu dict, která bude uchovávat uživatelsky specifické proměnné.<br />
Přitom zadejte tyto řádky:<br />
uzivatel = {<br />
‚prezdivka‘ : ‚botnick‘,<br />
‚uzivatelskejmeno‘ : ‚botuser‘,<br />
‚nazevhostitele‘ : ‚localhost‘,<br />
‚nazevserveru‘ : ‚localhost‘,<br />
‚skutecnejmeno‘ : ‚<strong>Raspberry</strong> <strong>Pi</strong> Names Bot‘<br />
}<br />
Stejně jako u proměnné irc jsou všechny tyto proměnné uloženy v proměnné datového typu<br />
dict s názvem uzivatel, aby bylo zřejmé, do které části jednotlivé hodnoty patří. Proměnná<br />
prezdivka by měla být nastavena podle přezdívky IRC, kterou bude program používat. Pokud<br />
se k serveru IRC chcete zároveň připojit sami, nepoužívejte svou obvyklou přezdívku. Místo<br />
toho je vhodné připojit na konec jména řetězec -bot, aby bylo jasné, že se jedná o program,<br />
a nikoli o živou osobu. Stejně postupujte s proměnnou uzivatelskejmeno a do proměnné<br />
skutecnejmeno zadejte popisný text, aby bylo zřejmé, komu robot patří. U proměnných nazevhostitele<br />
a nazevserveru můžete ponechat výchozí hodnotu localhost nebo je můžete<br />
upravit tak, aby odpovídaly vaší internetové adrese.<br />
Modul socket vyžaduje, aby uživatel vytvořil objekt soketu. Tento objekt poskytuje zbývající<br />
části programu síťovou konektivitu. Objekt soketu vytvoříte pomocí tohoto řádku:<br />
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)<br />
Dále musíte program požádat, aby se pokusil připojit k serveru IRC, který je uveden v proměnných<br />
na začátku programu. Zadejte následující řádky:<br />
print ‚Probiha pripojeni k serveru %(hostitel)s:%(port)s...‘ % irc<br />
try:<br />
s.connect((irc[‚hostitel‘], irc[‚port‘]))<br />
except socket.error:<br />
print ‚Doslo k chybe pripojeni k serveru IRC ↩<br />
%(hostitel)s:%(port)s‘ % irc<br />
sys.exit(1)<br />
Příkazy try a except doplněné do tohoto kódu slouží ke zpracování chyb. Jestliže se systém<br />
nemůže připojit k serveru (například proto, že počítač <strong>Pi</strong> nemá internetovou konektivitu nebo<br />
167