EarwigBot est un robot Python qui édite Wikipedia et interagit avec des personnes sur IRC. & Nbsp; Ce fichier fournit un aperçu de base de comment installer et configurer le bot; des informations plus détaillées se trouve dans le répertoire docs / (disponible en ligne à PyPI).
Histoire
Le développement a commencé, sur la base du cadre pywikipedia, au début de 2009. L'approbation de sa tâche poing, un détecteur de violation du droit d'auteur, a été réalisée en mai, et le bot a fonctionné régulièrement depuis (à l'exception de janvier / février 2011). Il gère actuellement plusieurs tâches en cours allant de la génération de statistiques à la catégorie nettoyage et tâches à la demande tels que WikiProject modèle marquage. Depuis qu'il a commencé à courir, le bot a fait plus de 50 000 modifications.
Un projet visant à réécrire à partir de zéro a commencé au début Avril 2011, se éloignant ainsi du cadre pywikipedia et permettant moins de code globale, une meilleure intégration entre les parties bot, et un entretien plus facile.
Installation
Ce package contient le earwigbot de base, assez abstraite qu'il devrait être utilisable et personnalisable par toute personne exécutant un bot sur un site de MediaWiki. Comme il est à base de composants, les composants de l'IRC peuvent être désactivés si désiré. Commandes IRC et les tâches de bots spécifiques à mon instance de EarwigBot que je ne me sens pas l'utilisateur moyen aura besoin sont disponibles dans les earwigbot-plugins référentiel.
Il est recommandé d'exécuter les tests unitaires de la bot avant l'installation. Exécutez test de setup.py python à partir du répertoire racine du projet. Notez que certains tests nécessitent une connexion internet, et d'autres peuvent prendre un certain temps à se exécuter. La couverture est actuellement assez incomplète.
Configuration
Le bot stocke ses données dans un "répertoire de travail", y compris son fichier de configuration et de bases de données. Ce est aussi l'endroit où vous allez placer les commandes IRC personnalisé et des tâches de bot, qui seront expliquées plus tard. Il ne importe pas où ce répertoire est, aussi longtemps que le bot peut écrire.
Lancer le bot avec le chemin de earwigbot / à / travail / dir, ou tout simplement earwigbot si le répertoire de travail est le répertoire courant. Il remarquera qu'aucun fichier de config.yml existe et vous mènera à travers le processus d'installation.
Il ne existe actuellement aucun moyen de modifier le fichier de config.yml de l'intérieur du robot après qu'il a été créé, mais YAML est un format très simple, donc vous devriez être en mesure d'apporter les modifications nécessaires vous-même. Consultez l'explication de YAML sur Wikipedia de l'aide.
Après l'installation, le bot va commencer. Cela signifie qu'il va se connecter aux serveurs IRC, il a été configuré pour, tâches calendrier de bots afin de fonctionner à des moments précis, puis attendre les instructions (comme des commandes sur IRC). Pour une liste de commandes, dites «aide!" (Commandes sont des messages commençant par un point d'exclamation).
Vous pouvez arrêter le bot à tout moment avec Ctrl + C, même que vous arrêtez un programme Python normale, et il va essayer de sortir en toute sécurité. Vous pouvez également utiliser la commande "! Quit" sur IRC.
Personnalisation
Le répertoire de travail du bot contient un sous-répertoire de commandes et un sous-répertoire de tâches. commandes IRC personnalisés peuvent être placés dans l'ancien, alors que les tâches personnalisées wiki de bots vont dans ce dernier. Développement de modules personnalisés est expliqué ci-dessous, et plus en détail grâce à la documentation du bot sur PyPI (ou dans le docs / dir).
Notez que des commandes personnalisées remplacent les commandes et les tâches intégrées avec le même nom.
Bot et BotConfig
earwigbot.bot.Bot est la classe principale de EarwigBot. Vous ne avez pas à instancier vous-même, mais ce est bon de se familiariser avec ses attributs et méthodes, parce que ce est le principal moyen de communiquer avec d'autres parties du bot. Un objet Bot est accessible comme un attribut de commandes et des tâches (c.-à-self.bot).
earwigbot.config.BotConfig informations de configuration des magasins pour le bot. Son docstring explique ce que chaque attribut est utilisé pour, mais essentiellement chaque "noeud" (l'un des config.components, wiki, irc, des commandes, des tâches, et les métadonnées) mappe à une section du fichier de config.yml du bot. Par exemple, si config.yml comprend quelque chose comme:
irc:
& Nbsp; frontend:
& Nbsp; nick: MyAwesomeBot
& nbsp; canaux:
& Nbsp; - "## earwigbot"
& Nbsp; - "#channel"
& Nbsp; - "# autre canal"
... Puis config.irc ["frontend"] ["nick"] sera "MyAwesomeBot» et config.irc ["frontend"] ["canaux"] sera ["## earwigbot", "#channel", "# autre canal"].
commandes IRC personnalisée
Les commandes personnalisées sont sous-classes de earwigbot.commands.Command qui remplacent le processus de commande () (et chèque éventuellement () ou de configuration ()) méthodes.
Le bot a une large sélection de commandes et de plugins intégrés à agir comme des exemples de code et / ou pour donner des idées. Commencez par test, puis vérifier chanops et afc_status pour certains scripts plus complexes.
tâches bot personnalisé
tâches de mesure sont sous-classes de earwigbot.tasks.Task qui remplacent la course de tâches () (et éventuellement configuration ()) méthodes.
Voir la tâche wikiproject_tagger intégré pour une tâche relativement simple, ou les afc_statistics plugin pour un autre plus compliqué.
Le Wiki Toolset
La réponse de EarwigBot le cadre pywikipedia est le Wiki Toolset (earwigbot.wiki), qui vous principalement accéder par bot.wiki.
bot.wiki propose trois méthodes pour la gestion des Sites - get_site (), add_site (), et remove_site (). Sites sont des objets qui représentent tout simplement un site de MediaWiki. Une seule instance de EarwigBot (ie un répertoire de travail unique) devrait porter sur un seul site ou groupe de sites en utilisant les mêmes informations de connexion (comme tous les wikis WMF avec CentralAuth).
Chargez votre site par défaut (celui que vous avez choisi lors de la configuration) avec le site bot.wiki.get_site = ().
Pas tous les aspects de la boîte à outils sont couverts dans les docs. Explorez son code et docstrings d'apprendre comment l'utiliser dans un plus à la mode de pratique. Pour référence, bot.wiki est une instance de earwigbot.wiki.SitesDB lié au fichier sites.db dans le répertoire de travail du bot
Exigences :.
- Python
Commentaires non trouvées