Python + irclib for IRC Status Updates

Andrew Bolster

Senior R&D Manager (Data Science) at Black Duck Software and Treasurer @ Bsides Belfast and NI OpenGovernment Network

IRC, Python, Ubuntu linux. Simples!

Same as by Twitter post, but for IRC.

Biggest problem with this one was working out that the IRC server needs to be kept alive with the irclib.IRC.process_once() command. This is wrapped in the while loop that assumes that there is other stuff going on for which you are waiting on a condition to be satisfied, but could easily be ignored if one is just sending out one message. Also, the PRIVMSG command can be used to broadcast to a channel, as is used here, or, as the name suggests, to communicate with a specific user.

All $VARIABLES should be replaces with your own stuff

import irclib
import time

username="$USERNAME"
irc_net="$NETWORK"
irc_chan="$CHANNEL"
irc_port=6667

try:
    irc=irclib.IRC()
    irc_serv=irc.server()
    irc_serv.connect(irc_net,irc_port,username)
    irc_serv.join(irc_chan)
except irclib.IRCError as err:
    print("Cannot Connect to IRC Service, Aborting:"+err)
    exit

def post_irc(status):
    irc_serv.privmsg(irc_chan,status)

while True:
    time.sleep(1)
    irc.process_once()
    if $CONDITION:
        post_irc($MESSAGE)
blog comments powered by Disqus