Esempio n. 1
0
    def __init__(self, bot):
        desc = {"": "Controle du mpd",
                "current": "mpd current : chanson actuelle",
                "next": "mpd next : chanson suivante",
                "prev": "mpd prev : chanson précédente",
                "shuffle": "mpd shuffle : fait un shuffle sur la playlist",
                "list": "mpd list [n] : liste les [n] chansons suivantes",
                "clear": "mpd clear : vide la playlist (ou pas)",
                "search": "mpd search (Artist|Title) requete : cherche toutes les pistes d'Artiste/Titre correspondant à la requête",
                "setnext": "mpd setnext [i] : place la chanson à la position [i] dans la playlist après la chanson courante (enfin elle court pas vraiment)",
                "nightmare": "mpd nightmare [i] : les [i] prochaines chansons vont vous faire souffrir (plus que le reste)",
                "clean": "mpd clean : pour retarder l'inévitable...",
                "connected": "mpd connected : pour voir qui écoute le mpd",
                "settag": "mpd settag [artist|title]=Nouvelle valeur",
                }
        NotifyModule.__init__(self,
                              bot,
                              desc=desc,
                              pm_allowed=False,
                              name="mpd",
                              delay=0)

        # To limit flood in logs : if the bot can't connect to the server, it will only be notified
        # once in the logfile
        self.error_notified = False
Esempio n. 2
0
    def __init__(self, bot):
        desc = {"" : "Controle du mpd",
                "current" : "mpd current : chanson actuelle",
                "next" : "mpd next : chanson suivante",
                "prev" : "mpd prev : chanson précédente",
                "shuffle" : "mpd shuffle : fait un shuffle sur la playlist",
                "list" : "mpd list [n] : liste les [n] chansons suivantes",
                "clear" : "mpd clear : vide la playlist (ou pas)",
                "search" : "mpd search (Artist|Title) requete : cherche toutes les pistes d'Artiste/Titre correspondant à la requête",
                "setnext" : "mpd setnext [i] : place la chanson à la position [i] dans la playlist après la chanson courante (enfin elle court pas vraiment)",
                "nightmare" : "mpd nightmare [i] : les [i] prochaines chansons vont vous faire souffrir (plus que le reste)",
                "clean" : "mpd clean : pour retarder l'inévitable...",
                "connected" : "mpd connected : pour voir qui écoute le mpd",
                "settag" : "mpd settag [artist|title]=Nouvelle valeur",
                }
        NotifyModule.__init__(self,
                             bot,
                             desc = desc,
                             pm_allowed = False,
                             command = "mpd",
                             delay = 0)
        settings = self.bot.settings
        try:
            self.host = settings["modules"]["botmpd"]["host"]
            self.port = settings["modules"]["botmpd"]["port"]
            self.pwd = settings["modules"]["botmpd"]["pwd"]
        except KeyError as e:
            raise pipobot.lib.exceptions.ConfigException("Missing section %s in configuration file for module botmpd!" % e)

        if "datadir" in settings["modules"]["botmpd"]:
            self.datadir = settings["modules"]["botmpd"]["datadir"]
        self.mute = True
        # To limit flood in logs : if the bot can't connect to the server, it will only be notified
        # once in the logfile
        self.error_notified = False
Esempio n. 3
0
    def __init__(self, bot):
        desc = {"" : "Un module pour se souvenir de choses",
                "list" : """ remind list [name] : affiche la liste des alertes pour [name]
remind list all : affiche toutes les alertes""",
                "add" : "remind add [owner] [date] [desc] : crée une alerte pour [owner] à la date au format [01/01/01,01h01] décrite par [desc]",
                "remove" : "remind delete/remove [n,...] : supprime les alertes d'id [n,...] ",
                }
        NotifyModule.__init__(self, bot,  
                                desc = desc,
                                command = "remind", 
                                delay = 10)
        self.lastcheck = time.time()
Esempio n. 4
0
    def __init__(self, bot):
        desc = {
            "":
            "Controle du mpd",
            "current":
            "mpd current : chanson actuelle",
            "next":
            "mpd next : chanson suivante",
            "prev":
            "mpd prev : chanson précédente",
            "shuffle":
            "mpd shuffle : fait un shuffle sur la playlist",
            "list":
            "mpd list [n] : liste les [n] chansons suivantes",
            "clear":
            "mpd clear : vide la playlist (ou pas)",
            "search":
            "mpd search (Artist|Title) requete : cherche toutes les pistes d'Artiste/Titre correspondant"
            " à la requête",
            "setnext":
            "mpd setnext [i] : place la chanson à la position [i] dans la playlist après la chanson "
            "courante (enfin elle court pas vraiment)",
            "nightmare":
            "mpd nightmare [i] : les [i] prochaines chansons vont vous faire souffrir (plus que le "
            "reste)",
            "clean":
            "mpd clean : pour retarder l'inévitable...",
            "settag":
            "mpd settag [artist|title]=Nouvelle valeur",
            "lyrics":
            "mpd lyrics: permet de retrouver les paroles de la chanson courante",
        }
        NotifyModule.__init__(self,
                              bot,
                              desc=desc,
                              pm_allowed=False,
                              name="mpd",
                              delay=0)

        # To limit flood in logs : if the bot can't connect to the server, it will only be notified
        # once in the logfile
        self.error_notified = False
        try:
            self.mpd = BotMPD(self.host, self.port, self.pwd, self.datadir)
            self.mpd_listen = BotMPD(self.host, self.port, self.pwd,
                                     self.datadir)
            self.mpd.disconnect()
            self.mpd_listen.disconnect()
        except ConnectionError:
            logger.error("Can't connect to mpd server")
        except NameError:
            self.delay = 60
            logger.error("Error trying to connect to the mpd server")
Esempio n. 5
0
    def __init__(self, bot):
        NotifyModule.__init__(self,
                              bot,
                              name="gitlab",
                              desc="Gitlab Interface",
                              delay=60)
        self.gl = Gitlab(self.url, self.token, ssl_verify=self.ssl_verify)
        self.gl.auth()

        # DEBUG
        p = GitLabProject(id=31)
        pr = self.gl.projects.get(31)
        p.update_from_gitlab(pr)
        self.bot.session.add(p)
        self.bot.session.commit()
Esempio n. 6
0
    def __init__(self, bot):
        NotifyModule.__init__(self,
                              bot,
                              name="gitlab",
                              desc="Gitlab Interface",
                              delay=60)
        self.gl = Gitlab(self.url, self.token, ssl_verify=self.ssl_verify)
        self.gl.auth()

        # DEBUG
        p = GitLabProject(id=31)
        pr = self.gl.projects.get(31)
        p.update_from_gitlab(pr)
        self.bot.session.add(p)
        self.bot.session.commit()
Esempio n. 7
0
    def __init__(self, bot):
        desc = {
            "":
            u"Un module pour se souvenir de choses",
            "list":
            u""" remind list [name] : affiche la liste des alertes pour [name]
remind list all : affiche toutes les alertes""",
            "add":
            u"remind add [owner] [date] [desc] : crée une alerte pour [owner] à la date au format "
            u"[01/01/01,01h01] décrite par [desc]",
            "remove":
            u"remind delete/remove [n,...] : supprime les alertes d'id [n,...] ",
        }
        NotifyModule.__init__(self, bot, desc=desc, name="remind", delay=10)
        self.lastcheck = time.time()
        self._mute = False
Esempio n. 8
0
 def __init__(self, bot):
     desc = {"": u"Pour afficher des infos sur bides et musique.",
             "current": u"Ce qui passe actuellement sur bides et musique",
             "next [n]": u"Les [n] chansons à venir (dans la limite des stocks disponibles)",
             "prev [n]": u"Les [n] chansons précédentes (dans la limite des stocks disponibles)",
             "prog [n]": u"Les programmes de la journée J+n",
             "mute": u"N'affiche plus les nouvelles chansons.",
             "unmute": u"Affiche les nouvelles chansons.",
             "lyrics": u"Les paroles de la chanson courante",
             }
     NotifyModule.__init__(self,
                           bot,
                           desc=desc,
                           name=u"b&m",
                           delay=10,
                           )
     self.old = ""
Esempio n. 9
0
    def __init__(self, bot):
        desc = {"": "Gestion de flux RSS",
                "add": "rss add [nom] [url] : abonnement à un flux RSS.",
                "remove": "rss remove [nom] : supprime totalement un flux RSS.",
                "(dis/en)able [flux]": "active/désactive un flux",
                "(un)mute": "affiche/n'affiche plus les nouvelles entrées RSS",
                "list": "rss list : affiche tous les flux RSS",
                "twitter add": "twitter add [nom] : suit les messages de [nom] sur twitter"
                }

        self.manager = Manager(self.db_path, bot)
        NotifyModule.__init__(self,
                              bot,
                              name="rss",
                              desc=desc,
                              delay=300)
        self.manager.update(silent=True)
        self._mute = False
Esempio n. 10
0
    def __init__(self, bot):
        desc = """Pour récuperer des url de vidéos sur canalplus
!canal emission : donne les liens rtmp pour l'emission dans toutes les qualités
!canal emission [HD|BAS_DEBIT|HAUT_DEBIT] : donne le lien pour la qualité spécifiée
!canal mute/unmute : désactive/active les notifications """

        NotifyModule.__init__(self,
                              bot,
                              desc=desc,
                              name="canal",
                              delay=self.timer)
        self.shows = {}
        for show in config.emissions_id.keys():
            try:
                em = libcanal.Emission(show, notif=(show in self.notify))
                em.update()
                self.shows[show] = em
            except:
                logger.error("Error loading show %s : %s" % (show, traceback.format_exc().decode("utf-8")))
Esempio n. 11
0
    def __init__(self, bot):
        desc = {
            "":
            "Gestion de flux RSS",
            "add":
            "rss add [nom] [url] : abonnement à un flux RSS.",
            "remove":
            "rss remove [nom] : supprime totalement un flux RSS.",
            "(dis/en)able [flux]":
            "active/désactive un flux",
            "(un)mute":
            "affiche/n'affiche plus les nouvelles entrées RSS",
            "list":
            "rss list : affiche tous les flux RSS",
            "twitter add":
            "twitter add [nom] : suit les messages de [nom] sur twitter"
        }

        self.manager = Manager(self.db_path, bot)
        NotifyModule.__init__(self, bot, name="rss", desc=desc, delay=300)
        self.manager.update(silent=True)
        self._mute = False
Esempio n. 12
0
    def __init__(self, bot):
        desc = {"": "Controle du mpd",
                "current": "mpd current : chanson actuelle",
                "next": "mpd next : chanson suivante",
                "prev": "mpd prev : chanson précédente",
                "shuffle": "mpd shuffle : fait un shuffle sur la playlist",
                "list": "mpd list [n] : liste les [n] chansons suivantes",
                "clear": "mpd clear : vide la playlist (ou pas)",
                "search": "mpd search (Artist|Title) requete : cherche toutes les pistes d'Artiste/Titre correspondant"
                " à la requête",
                "setnext": "mpd setnext [i] : place la chanson à la position [i] dans la playlist après la chanson "
                "courante (enfin elle court pas vraiment)",
                "nightmare": "mpd nightmare [i] : les [i] prochaines chansons vont vous faire souffrir (plus que le "
                "reste)",
                "clean": "mpd clean : pour retarder l'inévitable...",
                "settag": "mpd settag [artist|title]=Nouvelle valeur",
                "lyrics": "mpd lyrics: permet de retrouver les paroles de la chanson courante",
                }
        NotifyModule.__init__(self,
                              bot,
                              desc=desc,
                              pm_allowed=False,
                              name="mpd",
                              delay=0)

        # To limit flood in logs : if the bot can't connect to the server, it will only be notified
        # once in the logfile
        self.error_notified = False
        try:
            self.mpd = BotMPD(self.host, self.port, self.pwd, self.datadir)
            self.mpd_listen = BotMPD(self.host, self.port, self.pwd, self.datadir)
            self.mpd.disconnect()
            self.mpd_listen.disconnect()
        except ConnectionError:
            logger.error("Can't connect to mpd server")
        except NameError:
            self.delay = 60
            logger.error("Error trying to connect to the mpd server")