import re, random import feedparser import weechat # Register with weechat weechat.register( "fwp", "heeen@heeen.de", "0.1", "GPL", "prints first world problems", "", "" ) # Set default settings values: if not weechat.config_get_plugin('channels'): weechat.config_set_plugin('channels', "") if not weechat.config_get_plugin('trigger'): weechat.config_set_plugin('trigger', "^:(") if not weechat.config_get_plugin('debug') in ("on", "off"): weechat.config_set_plugin('debug', "off") weechat.hook_signal("*,irc_in2_privmsg", "fwpHandleMessage", "") def fwpHandleMessage( data, signal, signal_data ): (server,sig) = signal.split(",",1) trigger = weechat.config_get_plugin( "trigger" ) activeChans = weechat.config_get_plugin('channels').split(',') (source, type, channel, msg) = signal_data.split(" ", 3) if channel not in activeChans: return weechat.WEECHAT_RC_OK if not channel.startswith("#"): channel = source.split("!", 2)[0][1:] if not re.search(trigger, msg): return weechat.WEECHAT_RC_OK msg = msg[1:] d = feedparser.parse("http://www.reddit.com/r/firstworldproblems/.rss") text = d.entries[random.randint(0, len(d.entries)-1)].title weechat.command( weechat.buffer_search("irc",server + "." + channel), "/msg %s %s :(" % (channel, text) ) return weechat.WEECHAT_RC_OK