11import re
22import time
33from cloudbot import hook
4- from plugins import grab
54
65import random
76
@@ -62,7 +61,7 @@ def deleteherald(text, chan, db, conn):
6261 return "{} does not have a herald" .format (text .lower ())
6362
6463@hook .irc_raw ("JOIN" , singlethread = True )
65- def welcome (nick , action , message , chan , event , db , conn ):
64+ def welcome (nick , message , event , db , bot ):
6665 # For some reason chan isn't passed correctly. The below hack is sloppy and may need to be adjusted for different networks.
6766 # If someone knows how to get the channel a better way please fix this.
6867 # freenode uncomment then next line
@@ -73,6 +72,8 @@ def welcome(nick, action, message, chan, event, db, conn):
7372 bino_re = re .compile ('b+i+n+o+' , re .IGNORECASE )
7473 offensive_re = re .compile ('卐' )
7574
75+ grab = bot .plugin_manager .find_plugin ("grab" )
76+
7677 try :
7778 chan = event .irc_raw .split (':' )[2 ].lower ()
7879 except :
@@ -97,7 +98,11 @@ def welcome(nick, action, message, chan, event, db, conn):
9798 if len (greet .split (' ' )) >= 2 :
9899 candidates = greet .lower ().split (' ' )[1 :]
99100 text = random .choice (candidates )
100- out = grab .grabrandom (text , chan , message )
101+ if grab is not None :
102+ out = grab .grabrandom (text , chan , message )
103+ else :
104+ out = "grab.py not loaded, original herald: {}" .format (greet )
105+
101106 message (out , chan )
102107 elif decoy .search (colors_re .sub ("" , greet .replace ('\u200b ' , '' ).replace (' ' , '' ).replace ('\u202f ' ,'' ).replace ('\x02 ' , '' ))):
103108 message ("DECOY DUCK --> {}" .format (greet ), chan )
0 commit comments