;ò < ÄDc@sŸdkZdkiZdkZdkZdkZdkZdkiZdk i Z dk Tdk i Z dkiZdkiZdeifd„ƒYZeZdS(N(s*sSupybotcBs¿tZd„Zd„ZeeeddƒgƒZd„ZeeƒZd„ZeeedƒgƒZd„Z ee d dgƒZ d „Z ee ed d ƒgƒZ d „Z d „Z RS(NcCs/tt|ƒ|_|ii|ƒh|_dS(N(ssupersSupybotsselfs_Supybot__parents__init__sircswhos(sselfsirc((s./Supybot/plugin.pys__init__0sc CsÀtg|}xNtiƒD]@}ti|ƒ|f}||djot i ||ƒqqWg}x"|o|i t i |ƒƒqgW|iƒtidi|ƒ|itd|ƒƒdS(sn[] Returns the objects with the largest refcounts. defaults to 10. is%s: %rs%LN(sNonesmaxsqsgcs get_objectssossyss getrefcountstsheapqs heapreplacesLsappendsheappopsreversesutilssmapintos__mod__sircsreplysformat( sselfsircsmsgsargssmaxsosLsqst((s./Supybot/plugin.pysmaxrefs5s   sinti cCs|idƒdS(sJtakes no arguments Acts as if the bot was given a snack. s:Botsnacks are stupid, donate to my SF.net project instead.N(sircsreply(sselfsircsmsgsargs((s./Supybot/plugin.pysbotsnackHscCs'tii|ƒ}|id|ƒdS(sP Returns a link to on jemfinch's website. s'http://www.cse.ohio-state.edu/~fincher/N(sutilsswebsurlquotesfilenamesircsreply(sselfsircsmsgsargssfilename((s./Supybot/plugin.pysfincherPssfilenamecCstititiƒ}y.|i||fƒ|id||fƒWn2ti j o#}|id|||fƒnXdS(s^ Returns whether the is accepting connections on . sServer at %s:%s is up.sServer at %s:%s is not up (%s)N( ssocketsAF_INETs SOCK_STREAMssocksconnectshostsportsircsreplyserrorse(sselfsircsmsgsargsshostsportsessock((s./Supybot/plugin.pysservtestYss somethingcCs-|gf|i|<|iti|ƒƒdS(s•[] Returns the nicks of all users matching on this network. If is not given, '*supybot*' will be used. N(sircsselfswhossmasksqueueMsgsircmsgsswho(sselfsircsmsgsargssmask((s./Supybot/plugin.pyswhofss *supybot*cCsMxF|iD];}ti|t|ƒƒo|i|di|ƒq q WdS(Ni(sselfswhossmasksircutilsshostmaskPatternEqualsstrsmsgsappend(sselfsircsmsgsmask((s./Supybot/plugin.pysdo352ps cCs¶|id}||ijo•|ii|ƒ\}}g}x"|D]}|i |idƒqBWt i t i |ƒ|o#|itdt|ƒ|ƒƒq²|id|ƒndS(Niis%s matched: %L.sNo users matched %s.(smsgsargssmasksselfswhosspopsreplyIrcsmsgssnickssappendsutilsssortBysircutilsstoLowersreplysformatslen(sselfsircsmsgsreplyIrcsmsgssnickssmask((s./Supybot/plugin.pysdo315us #( s__name__s __module__s__init__smaxrefsswraps additionalsbotsnacksfinchersrestsservtestswhosdo352sdo315(((s./Supybot/plugin.pysSupybot/s        (ssupybotssupybot.pluginsspluginssgcssyssheapqssockets supybot.confsconfs supybot.utilssutilsssupybot.commandsssupybot.ircmsgssircmsgsssupybot.ircutilssircutilsssupybot.callbackss callbackssPrivmsgsSupybotsClass( sheapqsSupybotssocketsutilsssupybotsircmsgsssyss callbackssgcsconfspluginssClasssircutils((s./Supybot/plugin.pys? s           T