Ýíöèêëîïåäèÿ:Ðåêîìåíäàöèè þíîìó áîòîâîäó
Ïðàâèëà ïðèìåíåíèÿ · FAQ ïî áîòàì · Èñõîäíûå êîäû · Ðåêîìåíäàöèè þíîìó áîòîâîäó
[ïðàâèòü] Êîãäà íóæåí áîò?
Áîò íóæåí äëÿ ìàññîâûõ ðàáîò, êîãäà î÷åíü çàíóäíî ïîâòîðÿòü îäíî è òî æå äåéñòâèå ìíîãî ðàç. Ïóñòü ìàøèíà äåëàåò ãðÿçíóþ ðàáîòó, à ÷åëîâåê ìîæåò ìûñëèòü íàä íîâîé ñòàòü¸é.
Íèæå ïðèâåäåíî íåñêîëüêî ïðèìåðîâ.
[ïðàâèòü] ïåðåèìåíîâàíèå êàòåãîðèé
Äëÿ ïåðåèìåíîâàíèÿ êàòåãîðèé åñòü ñïåöèàëüíûé ìîäóëü pywikipediabotâ™à.
python category.py move -from:"ñòàðîå íàçâàíèå êàòåãîðèè" -to:"íîâîå íàçâàíèå êàòåãîðèè"
Ýòîé êîìàíäîé ñîçäà¸òñÿ íîâàÿ êàòåãîðèÿ (åñëè å¸ åù¸ íåò) êàê òî÷íàÿ êîïèÿ ñòàðîé, âî âñåõ ñòàòüÿõ, âêëþ÷¸ííûõ â êàòåãîðèþ ìåíÿåòñÿ íàçâàíèå êàòåãîðèè è â êîíöå îòìå÷àåòñÿ òåïåðü óæå ïóñòàÿ ñòàðàÿ êàòåãîðèÿ ê óäàëåíèþ. Ïåðåèìåíîâàíèå êàòåãîðèé ñ ïîìîùüþ áîòà ãîðàçäî ïðåäïî÷òèòåëüíåå ïåðåèìåíîâàíèÿ âðó÷íóþ, òàê êàê ýòî íå òîëüêî ýêîíîìèò âðåìÿ (îñîáåííî, åñëè â êàòåãîðèþ âêëþ÷åíî ìíîãî ñòðàíèö), íî è ïîçâîëÿåò èçáåæàòü ñëó÷àéíûõ îøèáîê, âåñüìà âåðîÿòíûõ ïðè ðó÷íîé îáðàáîòêå.
[ïðàâèòü] ïåðåèìåíîâàíèå ñòàòåé
Äëÿ ïåðåèìåíîâàíèÿ ñòàòåé åñòü ñïåöèàëüíûé ìîäóëü pywikipediabotâ™à.
python movepages.py -from:'ñòàðîå íàçâàíèå ñòàòüè' -to:'íîâîå íàçâàíèå ñòàòüè'
Ýòîé êîìàíäîé ñîçäà¸òñÿ íîâàÿ ñòàòüÿ (åñëè å¸ åù¸ íåò) êàê òî÷íàÿ êîïèÿ ñòàðîé, à â ñòàðîé ñòàòüå îñòà¸òñÿ ïåðåíàïðàâëåíèå íà íîâóþ. Ïðè èñïîëüçîâàíèè ïàðàìåòðà -del ñòàðàÿ ñòàòüÿ ïîìå÷àåòñÿ ê óäàëåíèþ èëè óäàëÿåòñÿ, åñëè áîò èìååò ôëàã àäìèíèñòðàòîðà.
Ïåðåèìåíîâàíèå ñòðàíèö ñ ïîìîùüþ áîòà èìååò ñìûñë ïðè áîëüøîì îáú¸ìå ðàáîò, íàïðèìåð ïðè ïåðåìåùåíèè â äðóãîå ïðîñòðàíñòâî èì¸í.
python movepages.py -prefix:'íîâîå íàçâàíèå ïð-âà èì¸í'
Ñóùåñòâåííî îáëåã÷àåò ðàáîòó íàëè÷èå ôàéëà äëÿ àâòîìàòè÷åñêîãî ïåðåèìåíîâàíèÿ. Ôàéë äîëæåí áûòü â ôîðìàòå [[íàçâàíèå ñòàòüè]] [[íîâîå íàçâàíèå]] [[íàçâàíèå ñòàòüè]] [[íîâîå íàçâàíèå]] â
python movepages.py -pairs:'íàçâàíèå ôàéëà'.dat
python movepages.py -cat:íàçâàíèå_êàòåãîðèè -from:'ñòàðîå íàçâàíèå ñòàòüè' -to:'íîâîå íàçâàíèå ñòàòüè'
Ïðèìåð: Óñëîâíî íóæíî èñïðàâèòü îäèíàêîâóþ îøèáêó âî âñåõ íàçâàíèÿõ èç êàòåãîðèè Êàòåãîðèÿ:Îêðóãà Ôðàíöèè, óñëîâíàÿ îøèáêà - äîïîëíåíèå ê íàçâàíèþ (îêðóã), ìåíÿåì ìàëåíüêóþ «î» íà çàãëàâíóþ «Î».
Äëÿ ýòîãî ïèøåì: movepages.py -always -cat:Îêðóãà_Ôðàíöèè -from:'(îêðóã)' -to:'(Îêðóã)'
Áîò äâàæäû ïðîñèò ïîäòâåðäèòü çàäàíèå íà âûïîëíåíèå n / y / all (âûáèðàåì all), ïîñëå ÷åãî áîò ïðèñòóïàåò â àâòîìàòè÷åñêîì ðåæèìå ïåðåèìåíîâûâàòü âñå ñòàòüè èç êàòåãîðèè.
Âíèìàíèå, äëÿ ïåðåèìåíîâàíèÿ íå ïèøèòå ïðîñòî -from:'î' -to:'Î' â ýòîì ñëó÷àå âñå «î» íàçâàíèÿ ñòàòüè áóäóò èçìåíåíû íà çàãëàâíóþ «Î» (ÁÎðäÎ (Îêðóã)).
- Ïàðàìåòð -always: òðåáóåòñÿ äëÿ ìàññîâîãî ïåðåèìåíîâàíèÿ.
- Ïàðàìåòð -cat: ïîçâîëÿåò ïåðåèìåíîâûâàòü âñå ñòàòüè èç çàäàííîé êàòåãîðèè.
- Ïàðàìåòð -noredirect: ïîäàâëÿåò ïåðåíàïðàâëåíèå.
[ïðàâèòü] èíòåðÝíöèêëî
Áîò äëÿ çàäàííîãî íàçâàíèÿ ñòðàíèöû (ýòî ìîæåò áûòü ñòàòüÿ, êàòåãîðèÿ è ò. ä.) èëè äëÿ öåëîãî ðÿäà ñòðàíèö (èç ñïèñêà) èëè ïî âñåì ñòðàíèöàì ïðîõîäèò ïî çàäàííûì íà ñòðàíèöå èíòåðÝíöèêëî-ññûëêàì è ñìîòðèò òàì, êàêèå èíòåðÝíöèêëî çàïèñàíû íà òåõ ñòðàíèöàõ.  èäåàëüíîì ñëó÷àå (åñëè íåò èíòåðÝíöèêëî-êîíôëèêòîâ) îí äîáàâëÿåò íà ñòðàíèöó â íàøåì ðàçäåëå íåäîñòàþùèå èíòåðÝíöèêëî è óäàëÿåò ññûëêè íà íåñóùåñòâóþùèå ñòðàíèöû â äðóãèõ ðàçäåëàõ. Ïðèìåðû:
python interwiki.py 'íàçâàíèå ñòðàíèöû'
python interwiki.py -file:'íàçâàíèå ñïèñêà'
python interwiki.py -start:! -force (ïðîõîäèò ïî âñåì ñòàòüÿì è óäàëÿåò íåïðàâèëüíûå ññûëêè)
python interwiki.py -start:Category:A -until:B (ïðîõîäèò ïî êàòåãîðèÿì îò A äî B)
python interwiki.py -new:100 (ïðîâåðÿåò 100 íîâåéøèõ ñòàòåé, óñòàíàâëèâàåìîå ÷èñëî ìîæåò áûòü ëþáûì) äîïîëíèòåëüíûé ïàðàìåòð -lang: (interwiki.py -lang:fr -new:100) ïîçâîëÿåò ïðîâåðÿòü íîâåéøèå ñòàòüè â äðóãîì ðàçäåëå ÂÏ
python interwiki.py -cat:'íàçâàíèå êàòåãîðèè' (ïðîâåðÿåò ñòàòüè èç êàòåãîðèè, ïðèìåð: interwiki.py -cat:Ó÷åáíûå_ñàìîë¸òû)
*êàòåãîðèè ñîñòîÿùèå èç áîëåå îäíîãî ñëîâà äîëæíû áûòü ñîåäèíåíû (òèðå ñíèçó _ ) èëè âêëþ÷åíû â àïîñòðîôû (')
python interwiki.py -catr:'íàçâàíèå êàòåãîðèè' (ïðîâåðÿåò êàòåãîðèþ è (â îòëè÷èè îò -cat:) âñå ïîäêàòåãîðèè çàäàííîé êàòåãîðèè)
python interwiki.py -usercontribs:Editor -namespace:14 -number:150 (èíòåðÝíöèêëîôèöèðóåò âêëàä ó÷àñòíèêà "Editor" â ïðîñòðàíñòâå èì¸í "Êàòåãîðèÿ", âûáîðêà èç ïîñëåäíèõ 150 ïðàâîê)
python interwiki.py -links:Ìîñêâà (èíòåðÝíöèêëîôèöèðóåò âñå ñòàòüè, êîòîðûå ññûëàþòñÿ íà ñòàòüþ "Ìîñêâà")
python interwiki.py -transcludes:'íàçâàíèå øàáëîíà' (èíòåðÝíöèêëîôèöèðóåò âñå ñòàòüè, êîòîðûå ñîäåðæàò øàáëîí "íàçâàíèå øàáëîíà")
- Äëÿ ðàáîòû â àâòîìàòè÷åñêîì ðåæèìå ñëåäóåò äîáàâèòü ïàðàìåòð -autonomous. Ïðèìåð: interwiki.py -autonomous -start:Ô (ïðîâåðÿåò âñå ñòàòüè íà÷èíàþùèåñÿ íà áóêâó Ô)
â ïðîáëåìíûõ ñëó÷àÿõ êîãäà áîò íå çíàåò ñòîèò äîáàâëÿòü èíòåðÝíöèêëî èëè íåò, òàêèå ñëó÷àè çàïèñûâàþòñÿ â ôàéë autonomous_problems.dat, äàííûé ôàéë ïðè íåîáõîäèìîñòè ñîçäà¸òñÿ àâòîìàòè÷åñêè â ïàïêå pyenciclopedia íà âàøåì æ¸ñòêîì äèñêå.
- Ïðèìå÷àíèå: èç-çà íåêîòîðûõ îñîáåííîñòåé ðàáîòû øàáëîíîâ íå ðåêîìåíäóåòñÿ èñïîëüçîâàòü èíòåðÝíöèêëî-áîò â ïðîñòðàíñòâå èì¸í «øàáëîí» â àâòîíîìíîì ðåæèìå, âñå ïðàâêè â ýòîì ïðîñòðàíñòâå ñëåäóåò òùàòåëüíî ïðîâåðÿòü, ÷òîáû èçáåæàòü îøèáîê ñ ðàññòàíîâêîé òåãîâ <noinclude>.
[ïðàâèòü] ðàçðåøåíèå èíòåðÝíöèêëîêîíôëèêòîâ
Çäåñü äàí ïðèìåð.
[ïðàâèòü] èñïðàâëåíèå ññûëîê
×àñòî áûâàåò, ÷òî ñòàòüè ññûëàþòñÿ íà ñòðàíèöó ðàçðåøåíèÿ íåîäíîçíà÷íîñòè. Ýòî ñ ïîìîùüþ áîòà ëåãêî èñïðàâëÿòü â ïîëóàâòîìàòè÷åñêîì ðåæèìå.
python solve_disambiguation.py 'íàçâàíèå ñòðàíèöû ðàçðåøåíèÿ íåîäíîçíà÷íîñòè'
Ïðîãðàììà ñîçäà¸ò ìåíþ èç âñåõ ññûëîê íà ñòðàíèöå äèçàìáèãà è íàçíà÷àåò êàæäîé ññûëêå îòäåëüíûé íîìåð. Ïîòîì áîò ïðîõîäèò ïî âñåì ñòðàíèöàì, êîòîðûå ññûëàþòñÿ íà ñòðàíèöó ðàçðåøåíèÿ íåîäíîçíà÷íîñòè è ïîêàçûâàåò 30 çíàêîâ îò òåêñòà ýòîé ñòðàíèöû. Îñòà¸òñÿ íàáèðàòü íóæíûé íîìåð è áîò çàìåíÿåò ññûëêó íà äèçàìáèã ññûëêîé, êîòîðàÿ ñîîòâåòñòâóåò ýòîìó íîìåðó.
Êîãäà çàäàí ïàðàìåòð -main, òî áîò îáðàáàòûâàåò òîëüêî ñòàòüè è èãíîðèðóåò äðóãèå ïðîñòðàíñòâà èì¸í (êàê îáñóæäåíèÿ, Ýíöèêëîïåäèÿ: è ò.ä.).
ñì. Ñïèñîê ñòðàíèö íåîäíîçíà÷íîñòåé, îòñîðòèðîâàííûõ ïî êîëè÷åñòâó âêëþ÷åíèé â îáøèðíîå ïîëå äåÿòåëüíîñòè äëÿ áîòîâîäà.
[ïðàâèòü] èñïðàâëåíèå äâîéíûõ ïåðåíàïðàâëåíèé
Áîò ñ óñïåõîì ñïðàâëÿåòñÿ è ñ ýòîé çàäà÷åé
python redirect.py double
[ïðàâèòü] èñïðàâëåíèå ññûëîê íà ïåðåíàïðàâëåíèÿ
python disambredir.py G
Áîò ðàçãðåáàåò êàòåãîðèþ Ìíîãîçíà÷íûå òåðìèíû, íà÷èíàÿ (â äàííîì ñëó÷àå) ñ áóêâû G. Ìîæíî âûáèðàòü èç îïöèé íè÷åãî íå äåëàòü, èñïðàâëÿòü ññûëêó, èçìåíÿòü òåêñò ññûëêè è ïðåâðàùåíèå ññûëêè â òåêñò.
[ïðàâèòü] èñïðàâëåíèå îðôîãðàôè÷åñêèõ, ñìûñëîâûõ îøèáîê è îøèáîê Ýíöèêëî-ñèíòàêñèñà
Âîçìîæíî è òàêîå! Äëÿ ýòîãî ìîæíî èñïîëüçîâàòü áîòû replace.py èëè user-fixes.py. Íî äëÿ íà÷àëà ïðîùå âîñïîëüçîâàòüñÿ ôóíêöèåé «Regex typo fixing» â AWB. Âûðàæåíèÿ äëÿ èñïðàâëåíèÿ îøèáîê â ýòîì ñëó÷àå áåðóòñÿ ñî ñòðàíèöû Ýíöèêëîïåäèÿ:AutoWikiBrowser/Typos
- replace.py ìîæåò èñïðàâëÿòü îøèáêè Ýíöèêëî-ñèíòàêñèñà (íå ðåêîìåíäóåòñÿ çàïóñêàòü â àâòîìàòè÷åñêîì ðåæèìå)
python replace.py -fix:syntax -file:'ôàéë ñî ñïèñêîì ñòàòåé'
-  ïðèìåðå áîò ïðîéä¸òñÿ ïî êàòåãîðèè Íàïèòêè è çàìåíÿåò «âèíî» íà «ïèâî» è «êðàñíîå» íà «ñâåòëîå»
python replace.py -cat:Íàïèòêè "âèíî" "ïèâî" "êðàñíîå" "ñâåòëîå"
[ïðàâèòü] óäàëåíèå ñïàìà
python spamremove.py spammedsite.com
[ïðàâèòü] óäàëåíèå ññûëîê íà ñòðàíèöó
python unlink.py 'íàçâàíèå ñòðàíèöû' -namespace:0 -namespace:6
Óäàëÿåò ññûëêè íà ñòðàíèöó [[íàçâàíèå ñòðàíèöû]] â ñòàòüÿõ è îïèñàíèÿõ èçîáðàæåíèé.
[ïðàâèòü] íàéòè ïåðåñå÷åíèÿ ïî äâóì êðèòåðèÿì
Èíîãäà ïîòðåáóåòñÿ ñïèñîê ñòàòåé, êîòîðûå óäîâëåòâîðÿþò âûïîëíåíèþ äâóõ êðèòåðèåâ, íàïðèìåð âñå ãîðîäà Ãåðìàíèè, ðàñïîëîæåííûå íà ðåêå Ýëüáà. Äëÿ ýòîé çàäà÷è ìîæíî èñïîëüçîâàòü ìîäóëü List comparer ïðîãðàììû AutoWikiBrowser.  ñïèñêå 1 çàäà¸òñÿ Category (recursive) «Ãîðîäà Ãåðìàíèè», âî âòîðîì ñïèñêå Category «Ãîðîäà íà Ýëüáå». Ìîæíî èñïîëüçîâàòü ôèëüòð äëÿ îòñåèâàíèÿ äðóãèõ ïðîñòðàíñòâ èì¸í êðîìå îñíîâíîãî. Íàæàòèåì íà Compare ìû ïîëó÷àåì ñïèñîê ïåðåñå÷åíèé, êîòîðûé ìîæíî ñîõðàíèòü â ñïèñêå.
[ïðàâèòü] Îñîáåííîñòè êèðèëëèöû
Ïðè ðàáîòå ñ pyenciclopedia áîòîì.
Äëÿ êîððåêòíîé ðàáîòû ñ êàòåãîðèÿìè è áóêâàìè íà êèðèëëèöå ïîä Windows íóæíî ïðîïèñàòü â ôàéë user-config.py ñëåäóþùèå ñòðîêè:
# -*- coding: utf-8 -*-
console_encoding = 'cp1251'
Ñïèñîê êîäîâ ïî ñòðàíàì â Ýíöèêëîïåäèÿ:Ðåêîìåíäàöèè þíîìó áîòîâîäó/Ñïèñîê êîäîâ.
[ïðàâèòü] Îáðàáîòêà ãðóïïû ñòàòåé
- -cat:"Íàçâàíèå êàòåãîðèè" (îáðàáîòêà âñåõ ñòàòåé â äàííîé êàòåãîðèè)
- -catr:"Íàçâàíèå êàòåãîðèè, êîòîðàÿ îáðàáàòûâàåòñÿ âìåñòå ñ ïîäêàòåãîðèÿìè"
- -subcat: (òî æå ñàìîå)
- -file:"Íàçâàíèå ôàéëà, êîòîðûé ñîäåðæèò ñïèñîê ñòàòåé"
- -transcludes:"Íàçâàíèå øàáëîíà" (îáðàáîòêà âñåõ ñòàòåé, êîòîðûå ñîäåðæàò øàáëîí)
- -new:"×èñëî íîâûõ ñòàòåé"
- -start:"Áóêâà, ñ êîòîðîé íà÷èíàåòñÿ îáðàáîòêà"
- -until:"Áóêâà, íà êîòîðîé çàêàí÷èâàåòñÿ îáðàáîòêà"
- -usercontribs:"Íàçâàíèå ó÷¸òíîé çàïèñè" (îáðàáîòêà âêëàäà ó÷àñòíèêà)
- -links:"íàçâàíèå ñòàòüè" (îáðàáîòêà âñåõ ñòàòåé, ññûëêè íà êîòîðûõ åñòü â ñòàòüå)
- -ref:"íàçâàíèå ñòàòüè" (îáðàáîòêà âñåõ ñòàòåé, ññûëàþùèõ òóäà)
[ïðàâèòü] Ñ ÷åãî íà÷àòü?
Ðåêîìåíäóåòñÿ òðåíèðîâàòüñÿ ñ ïîìîùüþ ÀâòîÝíöèêëîÁðàóçåðà. Óäîáíûé ãðàôè÷åñêèé èíòåðôåéñ ïîçâîëÿåò ïåðåä êàæäîé ïðàâêîé ïîñìîòðåòü ðåçóëüòàò ïðàâêè. Åñëè îáíàðóæèâàåòñÿ îøèáêà, òî ìîæíî å¸ èñïðàâèòü ïåðåä ñîõðàíåíèåì. Äàëåå ðåêîìåíäîâàíî îçíàêîìèòüñÿ ñ «ðåãóëÿðíûìè âûðàæåíèÿìè» (regular expressions). ×åì ëó÷øå âû ðàçáèðàåòåñü â íèõ, òåì ýôôåêòèâíåå áîò ìîæåò ðàáîòàòü.
[ïðàâèòü] Íà êàêèå ãðàáëè ìîæíî íàñòóïèòü?
- èíòåðÝíöèêëî
- Ïî óìîë÷àíèþ ñòðàíèöû ðàçðåøåíèÿ íåîäíîçíà÷íîñòè (ñ øàáëîíîì {{disambig}}, {{íåîäíîçíà÷íîñòü}} èëè ïîäîáíûìè) íå äîëæíû áûòü ñâÿçàíû ñ îáû÷íûìè ñòàòüÿìè. Pywikipediabot áåçæàëîñòíî óäàëÿåò òàêóþ ñâÿçü, äàæå, åñëè øàáëîí â îäíîì èç ðàçäåëîâ ïîñòàâëåí (èëè îòñóòñòâóåò) ïî îøèáêå.
- Ðàññòàâëÿòü èíòåðÝíöèêëî â øàáëîíàõ íóæíî êðàéíå îñòîðîæíî.
- Èñïðàâëåíèå îðôîãðàôè÷åñêèõ îøèáîê áåç ïðîñìîòðà ìîæåò ïðèâåñòè ê ñàìûì íåîæèäàííûì ðåçóëüòàòàì. Åñëè õî÷åòñÿ èñïðàâèòü âñåì çíàêîìîå òð¸õáóêâåííîå ñëîâî íà «ïîëîâîé ÷ëåí», òî ãëóïûé áîò èçìåíèò òàêæå ñëîâî «çàñòðàõóéòåñü!».
[ïðàâèòü] namespace:
- namespace:0 â Ñòàòüÿ
- namespace:1 â Îáñóæäåíèå ñòàòüè
- namespace:2 â Ó÷àñòíèê
- namespace:3 â Îáñóæäåíèå ó÷àñòíèêà
- namespace:4 â Ýíöèêëîïåäèÿ (ÂÏ:Ïðîåêò/... è ò.ä.)
- namespace:5 â Îáñóæäåíèå Ýíöèêëîïåäèè
- namespace:6 â Ôàéë
- namespace:10 â Øàáëîí
- namespace:11 â Îáñóæäåíèå øàáëîíà
- namespace:14 â Êàòåãîðèÿ
- namespace:100 â Ïîðòàë
- namespace:101 â Îáñóæäåíèå ïîðòàëà
- namespace:102 â Èíêóáàòîð
- namespace:103 â Îáñóæäåíèå èíêóáàòîðà
- namespace:104 â Ïðîåêò
- namespace:105 â Îáñóæäåíèå ïðîåêòà
[ïðàâèòü] Øàáëîí:Nobots
Áûâàþò ñëó÷àè, ÷òî îáðàáîòêà ñòðàíèöû áîòîì íåæåëàòåëüíà (íàïðèìåð, â íåêîòîðûõ ÷àñòî óïîòðåáëÿåìûõ øàáëîíàõ êàòåãîðèè è èíòåðÝíöèêëî ïåðåíåñåíû íà ïîäñòðàíèöó «Äîêóìåíòàöèÿ»). Õîòÿ îá ýòîì ìîæåò áûòü íàïèñàíî íà ñòðàíèöå øàáëîíà â êîììåíòàðèÿõ (<!-- ÈíòåðÝíöèêëî ïîæàëóéñòà â äîêóìåíòàöèþ!!! -->), áîòû íåóñòàííî èãíîðèðóþò ýòó ïðîñüáó.
 òàêèõ ñëó÷àÿõ ìîæíî èçáàâèòüñÿ îò çàáîò, ïîìåùàÿ íà ñòðàíèöó øàáëîí {{nobots}}. Òàêæå ìîæíî çàïðåòèòü ïðàâêó ñòðàíèöû îòäåëüíûìè áîòàìè. Ïîäðîáíåå ñì. íà ñòðàíèöå îïèñàíèÿ øàáëîíà.