Utilisateur:Tépabot
Bonjour !
Je suis un bot. Mon dresseur est Shlublu.
État actuel : Prêt. En attente.
Arrêt d'urgence : Pressez ce lien en cas de problème, indiquez "stop" dans le sujet ou le corps du message, et je m'arrêterai immédiatement.
Version et fonctions
Je suis actuellement en version v1.3. Je possède mon propre compte utilisateur depuis le 1er décembre 2006. La semaine précédente, j'agissais au travers du compte de mon dresseur.
Script d'exécution actuel
Mon script définit les règles métier qu'il me faut appliquer. Il est disponible dans cette boîte déroulante :
# Script d'exécution # [Config] ############################################################################# # Config du bot # WikiHost fr.wikipedia.org WikiPort 80 BotUserName Tépabot BotPassword ************ ControlArticleName Discussion_Utilisateur:Tépabot BotPageName Utilisateur:Tépabot BotEmergencyStopWord stop BotStatusPattern (************) BotStatusRunningExpr $1[[Image:Fairytale_player_play.png]]\x{20}'''État\x{20}actuel\x{20}:\x{20}'''\x{20}Travail\x{20}en\x{20}cours.\x{20}$3 BotStatusNotRunningExpr $1[[Image:Fairytale_player_stop.png]]\x{20}'''État\x{20}actuel\x{20}:\x{20}'''\x{20}Prêt.\x{20}En\x{20}attente.\x{20}\x{20}$3 BotScriptPattern (************) BotScriptExpr $1\n@TEPABOT_SCRIPT@\n$3 GetArticlesListFrom SpecialPage Special:Modifications_récentes&days=30&limit=500&hidebots=0 # GetArticlesListFrom File Tepabot_List.conf # GetArticlesListFrom File Tepabot_Debug_List.conf [Script] All: ############################################################################# # Ne traite pas les articles dont le nom commence par les radicaux suivants # SkipType Aide: # SkipType Catégorie: SkipType Discussion_ SkipType Discussion: SkipType Discuter: SkipType Image: SkipType Modèle: SkipType Portail: SkipType Projet: SkipType Référence: SkipType Spécial: SkipType Utilisateur: SkipType WikiMedia: SkipType Wikipédia: # SkipCondition AlreadySuccessful DownloadArticle ############################################################################# # Macros BeginWord, EndWord, BeginWordNoModelNoLink, EndWordNoModelNoLink pour regexp # @Define @#BW# ['"=#;:,\.\(\s\n\*\|\[\{] @Define @#EW# ['"=#;:,\.\)\s\n\*\|\]\}] @Define @#BWNML# ['"=#;:,\.\(\s\n\*\|] @Define @#EWNML# ['"=#;:,\.\)\s\n\*\|] ############################################################################# # Macros CurrentlyInModel et CurrentlyInLink pour regexp # @Define @#CM# [^\{\}]*[\}]{2} @Define @#CL# [^\[\]]*[\]] ############################################################################# # Macros BeginModelName et EndModelName pour regexp # @Define @#BMN# \{\{(?:\s)* @Define @#EMN# (?:\s)*[\|\}](\})? ############################################################################# # Macro ModelsThatAllowsIncludingModelsAndLinks # Quelques modèles précis pour lesquels on sait que cette inclusion est possible @Define @#MIML# (?:[Cc]itation)|(?:[Ll]ien\sweb)|(?:[Rr]éf)|(?:[Tt]itre) ############################################################################# # Ne traite pas les articles vides ni les articles ayant le bandeau {{en cours}} # SkipCondition Empty SkipCondition ArticleMatch @#BMN#[Ee]n\scours@#EMN# SkipCondition ArticleMatch @#BMN#[Ee]n\stravaux@#EMN# SkipCondition ArticleMatch @#BMN#[Pp]as\sfini@#EMN# SkipCondition ArticleMatch @#BMN#[Pp]rotection@#EMN# Redirect: HandleTarget All: ############################################################################# # Corrections de typo, en vrac # Permet la détection des modèles de langue dans les citations @Define @#CVAR# [\s]*=[^=] @Define @#CBOX# [\s]*\| @Define @#CLINK# [-_] @Define (?!@#UNSAFE#) (?!@#CL#)(?!@#CVAR#)(?!@#CBOX#)(?!@#CM#)(?!@#CLINK#) # # Origine autre que AWB # # Noms propres Replace Case RegExp \bPline\sl'ancien(?!@#UNSAFE#)\b Pline\sl'Ancien Replace Case RegExp \b[Pp]ro[kc]o[vwf]ie(ff|v)(?!@#UNSAFE#)\b Prokofie$1 Replace Case RegExp \b[SsCc]hostako[vw]i(t?)ch(?!@#UNSAFE#)\b Chostakovitch Replace Case RegExp \b[SsCc]h[eé]balin(e?)(?!@#UNSAFE#)\b Chebaline # Typos Replace Case RegExp \b([Dd])isfonctionnement(?!@#UNSAFE#)\b $1ysfonctionnement Replace Case RegExp \b([Oo])mnibul([eé])(?!@#UNSAFE#)\b $1mnubil$2 Replace Case RegExp \b([Ss])ci[eè]cle(?!@#UNSAFE#)\b $1iècle # # Origine: AWB/typos, 20 mars 2008, avec quelques suppressions et # modifications de sécurité. # N'effectue aucune correction dans les liens et modèles, quelle que soit # la position. Ce ne serait pas suffisemment fiable # # Typographie/Convention # Dates # Mois Replace Case RegExp \b(\d{1,2})\s+Janvier(?!@#UNSAFE#)\b $1\sjanvier Replace Case RegExp \b(\d{1,2})\s+F[eé]vrier(?!@#UNSAFE#)\b $1\sfévrier Replace Case RegExp \b(\d{1,2})\s+Mars(?!@#UNSAFE#)\b $1\smars Replace Case RegExp \b(\d{1,2})\s+Avril(?!@#UNSAFE#)\b $1\savril Replace Case RegExp \b(\d{1,2})\s+Mai(?!@#UNSAFE#)\b $1\smai Replace Case RegExp \b(\d{1,2})\s+Juin(?!@#UNSAFE#)\b $1\sjuin Replace Case RegExp \b(\d{1,2})\s+Juillet(?!@#UNSAFE#)\b $1\sjuillet Replace Case RegExp \b(\d{1,2})\s+Ao([uû])t(?!@#UNSAFE#)\b $1\sao$2t Replace Case RegExp \b(\d{1,2})\s+Septembre(?!@#UNSAFE#)\b $1\sseptembre Replace Case RegExp \b(\d{1,2})\s+Octobre(?!@#UNSAFE#)\b $1\soctobre Replace Case RegExp \b(\d{1,2})\s+Novembre(?!@#UNSAFE#)\b $1\snovembre Replace Case RegExp \b(\d{1,2})\s+D[ée]cembre(?!@#UNSAFE#)\b $1\s$2écembre Replace Case RegExp \b1\s+(janvier|février|mars|avril|mai|juin|juillet|ao[uû]t|septembre|octobre|novembre|décembre)(?!@#UNSAFE#)\b 1{{er}}\s$1 # Règles grammaticales Replace Case RegExp \ba\s(n'|en\s)?avoir(?!@#UNSAFE#)\b à\s$1avoir Replace Case RegExp \ba\s(se\s|ne\s|en\s)?comparer(?!@#UNSAFE#)\b à\s$1comparer Replace Case RegExp \ba\s(se\s|ne\s|me\s|te\s|vous\s|nous\s|en\s)?comprendre(?!@#UNSAFE#)\b à\s$1comprendre Replace Case RegExp \ba\s(se\s|ne\s|en\s)?compter(?!@#UNSAFE#)\b à\s$1compter Replace Case RegExp \ba\s(se\s|ne\s|en\s|les?\s)?défendre(?!@#UNSAFE#)\b à\s$1défendre Replace Case RegExp \ba\s(se\s|ne\s|en\s)?définir(?!@#UNSAFE#)\b à\s$1définir Replace Case RegExp \ba\s(se\s|ne\s|en\s)?dire(?!@#UNSAFE#)\b à\s$1dire Replace Case RegExp \ba\s(n'|en\s)?être(?!@#UNSAFE#)\b à\s$1être Replace Case RegExp \ba\s(se\s|ne\s|en\s)?finir(?!@#UNSAFE#)\b à\s$1finir Replace Case RegExp \ba\s(se\s|ne\s|en\s)?jouer(?!@#UNSAFE#)\b à\s$1jouer Replace Case RegExp \ba\s(se\s|me\s|ne\s)?mettre(?!@#UNSAFE#)\b à\s$1mettre Replace Case RegExp \ba\s(n')?obtenir(?!@#UNSAFE#)\b à\s$1obtenir Replace Case RegExp \ba\spartir(?!@#UNSAFE#)\b à\spartir Replace Case RegExp \ba\s(se\s|ne\s|en\s)?placer(?!@#UNSAFE#)\b à\s$1placer Replace Case RegExp \ba\s(se\s|ne\s|en\s)?([a-zé]*)poser(?!@#UNSAFE#)\b à\s$1$2poser Replace Case RegExp \ba\s(se\s|ne\s|en\s|le\s|lui\s|les\s)?prendre(?!@#UNSAFE#)\b à\s$1prendre Replace Case RegExp \ba\s(se\s|ne\s|en\s)?produire(?!@#UNSAFE#)\b à\s$1produire Replace Case RegExp \ba\s(se\s|ne\s|en\s)?remplacer(?!@#UNSAFE#)\b à\s$1remplacer Replace Case RegExp \ba\sse(?!@#UNSAFE#)\b à\sse Replace Case RegExp \ba\s(n'|en\s)?utiliser(?!@#UNSAFE#)\b à\s$1utiliser Replace Case RegExp \ba\s(se\s|ne\s|en\s)?vérifier(?!@#UNSAFE#)\b à\s$1vérifier Replace Case RegExp \ba\s(se\s|ne\s|en\s)?voir(?!@#UNSAFE#)\b à\s$1voir Replace Case RegExp \b(c|C)omme\sconvenu[est]s?(?!@#UNSAFE#)\b $1omme\sconvenu Replace Case RegExp \b(c|C)omme\sprévu[est]s?(?!@#UNSAFE#)\b $1omme\sprévu Replace Case RegExp \bs(e\s+son|'es|�Res)t?([\s\w,()]{0,50})succ?[éèe]dé(?:s|es?)(?!@#UNSAFE#)\b s$1t$2succédé # Syntaxe Wiki Replace Case RegExp \[\[[\s_]*(?:(:)[\s_]*)?(?:fr[\s_]*:[\s_]*)?[Cc]at[éèêe]gor(?:ie|y)[\s_]*:[\s_]*([^\]]+)\]\] [[$1Catégorie:$2]] Replace Case RegExp \[\[[\s_]*(?:(:)[\s_]*)?(?:fr[\s_]*:[\s_]*)?[Ii]mage[\s_]*:[\s_]* [[$1Image: @UnDefine @#CVAR# @UnDefine @#CBOX# @UnDefine @#CLINK# @UnDefine (?!@#UNSAFE#) ############################################################################# # Gestion des siècles et des XXè en général # # Evite la modification de Xe en Xénon SkipCondition ArticleMatch \b[xX][éèêe]non\b # Macros utiles # @Define @#SIECLE# [sS]i[eè]cle @Define @#AV.J-C# [aA]v(?:.{0,4})\s[Jj](?:.{0,2})[Cc](?:\.?) # Met les chiffres romains suivis de e (ex: Xe) sous forme X{{e}} Replace Case RegExp (@#BW#)([IVX]+)([eè])(me)?(@#EW#) $1$2{{$3$4}}$5 Replace Case RegExp (@#BW#)(I)([eè])(r)?(@#EW#) $1$2{{$3$4}}$5 # Mais: pas dans les lien internes avant le | séparateur s'il existe (après, pas de pb), Replace Case RegExpL (\[{2})([^\|\]]*)\{\{([eè])(r|me)?\}\}([^\]]*)(\]{2}|\|) $1$2$3$4$5$6 # pas non plus dans les {{ }}, quelque soit l'endroit, sauf : # - modèles définis dans MIML comme acceptant l'inclusion, où c'est alors autorisé après le premier "|", # - une affectation effectuée par l'opérateur "=" (infoboxes, etc) Replace Case RegExpL (\{\{)(?=@#MIML#)([^\|\}]*)\{\{([eè])(r|me)?\}\}([^\}]*)(\}\}) $1$2$3$4$5$6 Replace Case RegExpL (\{\{)(?!@#MIML#)([^=\}]*)\{\{([eè])(r|me)?\}\}([^\}]*)(\}\}) $1$2$3$4$5$6 # Ensuite, convertit les indications de siècle en {{modèle:s}}, sauf dans les liens et modèles # Utilise un modèle S-, de façon à éviter toute redondance de liens Replace Case RegExp (@#BWNML#)([IVX]+)\{\{([eè])(r|me)?\}\}\s(?:@#SIECLE#)\s(?:@#AV.J-C#)(@#EWNML#)(?!@#CM#)(?!@#CL#) $1{{-s-|$2|$3$4}}$5 Replace Case RegExp (@#BWNML#)([IVX]+)\{\{([eè])(r|me)?\}\}\s(?:@#SIECLE#)(@#EWNML#)(?!@#CM#)(?!@#CL#) $1{{s-|$2|$3$4}}$5 # Supprime les liens des modèles S+ dans la titraille et les change en S- Replace Case RegExpL (\n=[^\n\{]*)\{\{([\-]?[Ss])(\|[^\|]*)\|e(r?)\}\}([^=]*)(=+)([\s\n]*) $1{{$2-$3|e$4}}$5$6$7 # Le modèle {{eme}} n'existe pas, on utilisera {{ème}} Replace Case RegExp \{\{eme\}\} {{ème}} # Et dans le modèle S, "è", "ème", "eme" deviennent "e" Replace Case RegExp \{\{([\-]?[Ss][\-]?)(\|[^\|]*\|)([eè])(me)?\}\} {{$1$2e}} # Nettoire les macros spécifiques @UnDefine @#MIML# @UnDefine @#SIECLE# @UnDefine @#AV.J-C# ############################################################################# # Publication de l'article # Post Minor Nowatch Tâches récurrentes ([[Utilisateur:Tépabot#Script d'exécution actuel|Voir règles métier]] - [[Utilisateur:Tépabot|Stopper et signaler une erreur]]) Stop # Logging # [Log] LogDone Tepabot_Done.log LogFailed Tepabot_Failed.log
Ce que je sais faire
- Je sais utiliser les regexp pour effectuer des remplacements de texte comme pour en interpréter le contenu
- Je sais créer ma liste d'article à traiter à partir de la page des modifications récentes comme à partir d'une liste
- Je n'abîme pas les contenus UTF-8
- Je sais différencier les articles des pages de discussion, de catégories, de projet, de portail, de média, et les pages utilisateurs. Je peux ainsi être sélectif
- Je sais exclure de ma liste les articles ayant un contenu particulier (bandeau {{en cours}}, par exemple)
- Je sais identifier et suivre les redirections. Je peux ainsi appliquer des traitements distincts aux pages de redirections et aux cibles de ces redirections
Comportement et tests unitaires
Si vous vous interrogez quant à mon comportement dans certains cas particuliers, n'hésitez pas à consulter mes derniers tests unitaires ou à en proposer à mon dresseur !
Si vous voulez me demander quelque chose
Je peux agir sur demande, qu'elles soient formulées sur la page de requête aux robots Wikipédia, ou bien sur la page de discussion de mon dresseur. Si vous voulez me demander quelque chose, c'est avec plaisir. Il faut seulement savoir que:
- je constitue la plupart du temps ma liste de travail à partir des modifications récentes, les modifications apportées le sont donc au fil de la vie des articles
- j'évolue, et apprends de nouvelles choses au fil du temps. Cette page reflète ce que mon dresseur estime être suffisemment fiable pour que je n'ai pas besoin de sa surveillance
Problèmes connus
Cette section liste les problèmes connus sur ma version actuelle. L'historique des corrections est disponible sur l'historique de cette page. Si d'aventure vous remarquez un incident consécutif à mon passage, ou bien si vous souhaitez demander une nouvelle fonctionnalité , n'hésitez pas à utiliser le lien ci dessous :
Signaler un problème - demander une évolution
Problèmes bloquants
Priorité haute
Code source
- Problème: L'édition de contenu listé dans <source> est également un problème. Ceci n'est pour l'instant pas géré, mais devra l'être avant remise en service
- Avancée: en cours
Priorité moyenne
néant
Priorité basse
"Ie Naki"
- Description: Transformation de "Ie Naki" (phrase en japonais) en "Ie Naki".
- Traitement: Contourné. Cas rarissime (observé une seule fois sur l'ensemble des articles traités), et contournement mis en place. Une piste pour le régler s'il devait se reproduire ailleurs: ce "Ie" est en début de phrase, ce qui est rarement le cas de Ier.
Evolutions demandées
Cette section liste les évolutions demandées. L'historique est disponible sur l'historique de cette page.
Priorité haute
Priorité moyenne
Gérer les liste de travail à partir de catégories
- (...) Je sais qu'il marche avec les RCs, mais si de temps en temps, tu pouvais lui dire de scruter une catégorie particulière, ça serait pas mal. Je pense notamment à Catégorie:Wikipédia:Contenu de qualité : ces articles sont évidemment peu nombreux mais complexes à modifier manuellement et surtout doivent être irréprochables (vitrine de wp). Merci de voir si c'est jouable. Ice Scream -_-' 21 mars 2008 à 18:01 (CET)
- Statut: En cours de traitement
Priorité basse
Gérer les dates aberrantes du type -1200 av. J.-C.
- Critère : Aberrant par le signe - survalidé par le av. J.-C. ; 2100 av. J.-C. signifiant déjà -2100 , on pourra en déduire que -2100 av. J.-C. devrait se traduire en +2100 après J.-C. (moins par moins ça fait plus!). -- Salutations. Signé louis-garden (On en cause) 16 mars 2008 à 11:03 (CET)
- Statut: A traiter
Contributions
- Mes premières contributions ont été faites sur le compte de mon dresseur, du 27 novembre 2006 au 1er décembre 2006. Le commentaire de modification les identifie.
- Mes contributions ultérieures sont visibles sur ma propre liste de contributions.
- Voir mon activité sur Wikipedia FR
A ce jour, j'ai travaillé pour:
- Valérie75 : Suppression de catégorie et ajout de bandeaux d'homonymie (mouches)
- Rémih : Remplacement et suppression de bandeaux (villes du Danemark et de Tchéquie)
- Croquant : Déplacement de catégorie (Ingénierie de l'énergie -> Génie énergétique)
- Fabienkhan : Ajout du modèle {{Portail Iran}} aux pages des sous-catégories de la Catégorie:Iran
- Keriluamox : Remplacement et déplacement de bandeaux (pays de Savoie et Portail Savoie)
- Zedh : Changement de catégorie (Circuit électronique -> Circuit électrique)
- GL : Suppression de catégories et ajout de leur catégorie parente (Lac du canton* -> Lac de Suisse)