X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~matthewv/git?a=blobdiff_plain;ds=sidebyside;f=commands.py;h=114f7b0e65a705832f08c068705c8e65a6ad1368;hb=9e04dda181877ce2f7c591dfa9a2bcc7a75cddf3;hp=0075272c54d7f585291e3619217644f7744baf8c;hpb=5b64cc351cc73ba65fee7fd3be1b7988802babac;p=irc.git diff --git a/commands.py b/commands.py index 0075272..114f7b0 100644 --- a/commands.py +++ b/commands.py @@ -154,9 +154,9 @@ def unitq(bot, cmd, nick, conn, public): conn.notice(nick, "syntax: units arg1 as arg2") return if args[1]=='?': - sin,sout=os.popen2(["units","--verbose",args[0]],"r") + sin,sout=os.popen4(["units","--verbose","--",args[0]],"r") else: - sin,sout=os.popen2(["units","--verbose",args[0],args[1]],"r") + sin,sout=os.popen4(["units","--verbose","--",args[0],args[1]],"r") sin.close() res=sout.readlines() #popen2 doesn't clean up the child properly. Do this by hand @@ -187,24 +187,6 @@ def reloadq(bot, cmd, nick, conn, public): bot.automsg(public,nick, "Configuration can only be reloaded by my owner, by /msg.") -# lose the game and/or install a new trigger word -def gameq(bot, cmd, nick, conn, public, game): - #only install a new trigger if it's not too short. - if len(' '.join(cmd.split()[1:]))>2: - game.trigger=' '.join(cmd.split()[1:]) - if (time.time()> game.grace): - if not public: - if irc_lower(nick) == irc_lower(bot.owner): - conn.action(bot.channel,"loses the game!") - else: - conn.privmsg(bot.channel,nick+" just lost the game!") - else: - if not public: - conn.notice(nick, "It's a grace period!") - game.grace=time.time()+60*20 #20 minutes' grace - game.losetime=time.time()+random.randrange(game.minlose,game.maxlose) - conn.notice(bot.owner, str(game.losetime-time.time())+" "+game.trigger) - # quit irc def quitq(bot, cmd, nick, conn, public): if irc_lower(nick) == irc_lower(bot.owner): @@ -326,8 +308,10 @@ class UrlLog: return urlcomplaints[z] #(?:) is a regexp that doesn't group -urlre = re.compile("((?:(?:http)|(?:nsfw))s?://[^ ]+)( |$)") -hturlre= re.compile("(http)(s?://[^ ]+)( |$)") +urlre = re.compile(r"((?:(?:http)|(?:nsfw))s?://[^ ]+)( |$)") +hturlre= re.compile(r"(http)(s?://[^ ]+)( |$)") +#matches \bre\:?\s+ before a regexp; (?i)==case insensitive match +shibboleth = re.compile(r"(?i)\bre\:?\s+((?:(?:http)|(?:nsfw))s?://[^ ]+)( |$)") urlcomplaints = ["a contemporary","an interesting","a fascinating","an overused","a vastly overused"] ### Deal with /msg bot url or ~url in channel @@ -372,7 +356,8 @@ def dourl(bot,conn,nick,command,urldb): T=urldb[urlstring] message="observes %s URL, first mentioned %s by %s" % \ (T.urltype(),T.firstmen(),T.nick) - conn.action(bot.channel, message) + if shibboleth.search(command)==None: + conn.action(bot.channel, message) T.lastseen=time.time() T.count+=1 else: