Paso 2: Escribir las funciones de red
Contracción utiliza IRC como su Protocolo de chat, que hace la comunicación más trivial. Aún así, el código terminará mucho más limpio si primero definimos algunas funciones de utilidad.
Nosotros usamos sockets como la abstracción de la red para este bot. Tomas proporcionan un interfaz muy claro envío y recepción para comunicaciones de red, por lo que estas funciones no será muy complicadas.
Que he proporcionado docstrings en cumplimiento de PEP 257 que proporcionará una explicación breve de la función.
# 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))