def run(self):
        if   self.infolettre == "wikimag":
            msg = self.wikimag()
        elif self.infolettre == "raw":
            msg = self.raw()
        else:
            pywikibot.output("Infolettre '%s' inconnue. Abandon." % self.infolettre)
            sys.exit(1)

        # Liste des abonnés
        r = re.compile("\*\* \{\{u\|(.+?)\}\}\s*(\{\{BeBot nopurge\}\})?", re.LOCALE|re.UNICODE|re.IGNORECASE)
        liste = [] # [ Nom d'utilisateur ; bool : purge des anciens ]
        for i in BeBot.page_ligne_par_ligne(self.site, self.abn[self.infolettre]):
            m = r.search(i)
            if m is not None:
                purge = True
                if m.group(2) is not None:
                    purge = False
                liste.append([m.group(1), purge])

        # Distribution
        if hasattr(self, "resume"):
            for l,p in liste:
                boiteauxlettres = pywikibot.Page(self.site, "Utilisateur:"+l).toggleTalkPage()
                self.newsboy(boiteauxlettres, msg, p)