Пример #1
0
 def on_pubmsg(self, serv, ev):
     handle = irclib.nm_to_n(ev.source())
     canal = ev.target()
     message = ev.arguments()[0]
     utils.logs(handle, message)
     if message.lower() == "test":
         words = ["abilité", "able", "acelle", "acé", "acée", "acées", "age", "ages", "ai", "aient", "ais", "ait", "ament", "amentaire", "amentaires", "aments", "ant", "as", "asse", "assent", "asses", "assiez", "assions", "ateur", "ateurs", "atrice", "atrices", "âmes", "ât", "âtes", "e", "ent", "er", "era", "erai", "eraient", "erais", "erait", "eras", "erez", "eriez", "erions", "erons", "eront", "eur", "eurs", "èrent", "iculaire", "icule", "icules", "iez", "imonial", "imoniale", "imoniales", "imoniaux", "ions", "ologie", "on", "ons", "ostérone"]
         wnb = len(words)
         add = words[randint(0,wnb-1)]
         serv.privmsg(canal, add)
     if re.match(r'^wtf_*', handle.lower()) is None:
         self.mods[ModStat]['instance'].update_counts(handle)
     if handle in self.admin:
         if '!reload' in message:
             custom_message = utils.extract_message(message, '!reload')
             self.check_reload(serv, canal, handle, custom_message)
         if '!enable' in message:
             custom_message = utils.extract_message(message, '!enable')
             self.enable(serv, canal, handle, custom_message, True)
         if '!disable' in message:
             custom_message = utils.extract_message(message, '!disable')
             self.enable(serv, canal, handle, custom_message, False)
     for mod, value in self.mods.items():
         if value['cmd'] == message or re.match(r'^' + value['cmd'] + " ",
                                                message) is not None:
             if not self.check_flood(serv, canal, handle):
                 if self.mods[mod]['enabled']:
                     custom_message = utils.extract_message(message,
                                                            value['cmd'])
                     self.mods[mod]['instance'].execute(serv, canal, handle,
                                                        custom_message)
                 else:
                     serv.privmsg(canal, "Disabled")
Пример #2
0
 def on_pubmsg(self, serv, ev):
     handle = irclib.nm_to_n(ev.source())
     canal = ev.target()
     message = ev.arguments()[0]
     utils.logs(message)
     if handle in self.admin:
         if '!reload' in message:
             custom_message = utils.extract_message(message, '!reload')
             self.check_reload(serv, canal, handle, custom_message)
         if '!enable' in message:
             custom_message = utils.extract_message(message, '!enable')
             self.enable(serv, canal, handle, custom_message, True)
         if '!disable' in message:
             custom_message = utils.extract_message(message, '!disable')
             self.enable(serv, canal, handle, custom_message, False)
     for mod, value in self.mods.items():
         if value['cmd'] == message or re.match(r'^' + value['cmd'] + " ",
                                                message) is not None:
             if not self.check_flood(serv, canal, handle):
                 if self.mods[mod]['enabled']:
                     custom_message = utils.extract_message(message,
                                                            value['cmd'])
                     self.mods[mod]['instance'].execute(serv, canal, handle,
                                                        custom_message)
                 else:
                     serv.privmsg(canal, "Disabled")
Пример #3
0
 def check_reload(self, serv, canal, handle, message):
     mod_loaded = ""
     for key, value in self.mods.items():
         parts = value['module'].split(".")
         module = parts[2]
         mod_loaded = mod_loaded + " " + module
         key = reload(key)
     utils.logs("Reloading modules")
     serv.privmsg(canal, "* Reload des modules" + mod_loaded + " *")
     self.init_mods()
     utils.logs("Modules reloaded")
Пример #4
0
 def check_flood(self, serv, canal, handle):
     self.current_time = time.time()
     if self.current_time - self.last_time < self.flood_time and handle not in self.admin:
         utils.logs("Flood : " + str(self.current_time) + " - " + str(self.last_time))
         self.last_time = time.time()
         if self.first_flood:
             serv.privmsg(canal, "Hey doucement " + handle +
                          ", je ne suis pas un robot !")
             self.first_flood = False
         return True
     else:
         self.first_flood = True
         self.last_time = time.time()
         return False
Пример #5
0
 def __init__(self):
     utils.logs("Bot start " + self.name)
     ircbot.SingleServerIRCBot.__init__(self, [(self.server, self.port)],
                                        self.name, "Bot de Pixis", 10)
     utils.logs("Bot started")
     self.init_mods()
     utils.logs("Mods loaded")
Пример #6
0
 def on_kick(self, serv, ev):
     canal = ev.target()
     utils.logs("Kicked from canal '" + canal + "'. Joining in 2 seconds.")
     time.sleep(2)
     serv.join(canal)
Пример #7
0
 def on_welcome(self, serv, ev):
     serv.join(self.canal)
     utils.logs(self.canal + "joined")