Stap 2: Schrijf de netwerkfuncties
Kramp maakt gebruik van IRC als het chat-protocol, waardoor de meeste mededeling triviaal. Nog, de code zal eindigen veel schoner als eerst we enkele hulpfuncties definiëren.
Als het netwerk abstractie gebruiken we sockets voor deze bot. Sockets bieden een zeer duidelijke send-en-receive-interface voor netwerkcommunicatie, zodat deze functies niet erg ingewikkeld.
Ik heb docstrings met inachtneming van de PEP 257 waarmee korte uitleg van de functies wordt verstrekt.
# bot.py def chat(sock, msg): """ Send a chat message to the server. Keyword arguments: sock -- the socket over which to send the message msg -- the message to be sent """ sock.send("PRIVMSG #{} :{}".format(cfg.CHAN, msg)) def ban(sock, user): """ Ban a user from the current channel. Keyword arguments: sock -- the socket over which to send the ban command user -- the user to be banned """ chat(sock, ".ban {}".format(user)) def timeout(sock, user, secs=600): """ Time out a user for a set period of time. Keyword arguments: sock -- the socket over which to send the timeout command user -- the user to be timed out secs -- the length of the timeout in seconds (default 600) """ chat(sock, ".timeout {}".format(user, secs))