Шаблон:Bots

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску

С помощью этого шаблона можно сообщить боту, что он не должен трогать страницу. Это ограничение может распространяться на отдельных ботов.

Использование

[править код]

Шаблон может использоваться в случаях, когда один или несколько ботов производят в статье очевидно некорректные правки, обусловленные ошибками в программном обеспечении или тому подобными причинами. Шаблон не должен использоваться для запрета правок, с которыми вы по какой-либо причинене согласны: в этом случае необходимо обсудить работу бота с его владельцем или вболее широком кругу участников. При каждом использовании шаблона вместе с ним должен быть вставлен комментарий типатакого, объясняющий проблему и указывающий, когда можно будет снять шаблон. Шаблоны без такого комментария могут быть удалены любым участником.

Пример

[править код]

Правка ботами разрешена (по умолчанию)

{{bots}}или{{bots|allow=all}}

Запрет правки ботами

{{nobots}}или{{bots|allow=none}}

Запрет или разрешение правки отдельными ботами

{{bots|deny=BotName1,BotName2,…}}{{bots|allow=BotName1,BotName2,…}}

Название AWB указывает на запрет или разрешение правок всем ботам на базеAutoWikiBrowser. Пример:

{{bots|allow=BotName1, BotName2}}{{bots|deny=AWB}}


Поддержка шаблона

[править код]
  • Pywikipediabot поддерживает шаблоны {{bots}} и {{nobots}} с версии r4096, но имеет возможность игнорирования блокировки.
  • AutoWikiBrowser полностью поддерживает шаблоны {{bots}} и {{nobots}} с версии 3.2, хотя в настройках можно установить игнорирование этих шаблонов.
  • Желательно, чтобы боты с оригинальным исходным кодом также поддерживали эти шаблоны.

Примеры реализации

[править код]
functionallowBots($text){global$user;if(preg_match('/\{\{(nobots|bots\|allow=none|bots\|deny=all|bots\|optout=all|bots\|deny=.*?'.preg_quote($user,'/').'.*?)\}\}/iS',$text)){returnfalse;}returntrue;}
suballowBots{my($text,$user,$opt)=@_;return0if$text=~ /{{[nN]obots}}/;return1if$text=~ /{{[bB]ots}}/;if($text=~ /{{[bB]ots\s*\|\s*allow\s*=\s*(.*?)\s*}}/s){return1if$1eq'all';return0if$1eq'none';my@bots=split(/\s*,\s*/,$1);return(grep$_eq$user,@bots)?1:0;}if($text=~ /{{[bB]ots\s*\|\s*deny\s*=\s*(.*?)\s*}}/s){return0if$1eq'all';return1if$1eq'none';my@bots=split(/\s*,\s*/,$1);return(grep$_eq$user,@bots)?0:1;}if(defined($opt)&&$text=~ /{{[bB]ots\s*\|\s*optout\s*=\s*(.*?)\s*}}/s){return0if$1eq'all';my@opt=split(/\s*,\s*/,$1);return(grep$_eq$opt,@opt)?0:1;}return1;}
publicstaticboolAllowBots(stringtext,stringuser){return!Regex.Match(text,@"\{\{(nobots|bots\|(allow=none|deny=.*?"+user.Normalize()+@".*?|optout=all|deny=all))\}\}",RegexOptions.IgnoreCase).Success;}


PublicSharedFunctionAllowBots(ByValtextAsString,ByValuserAsString)AsBooleanReturnNotRegex.IsMatch(text,"\{\{(nobots|bots\|(allow=none|deny=(?!none).*("&user.Normalize()&"|all)|optout=all))\}\}",RegexOptions.IgnoreCase)EndFunction
publicstaticbooleanallowBots(Stringtext,Stringuser){return!text.matches("(?si).*\\{\\{(nobots|bots\\|(allow=none|deny=(.*?"+user+".*?|all)|optout=all))\\}\\}.*");}
functionallowBots(text,user){if(!newRegExp("\\{\\{\\s*(nobots|bots[^}]*)\\s*\\}\\}","i").test(text))returntrue;return(newRegExp("\\{\\{\\s*bots\\s*\\|\\s*deny\\s*=\\s*([^}]*,\\s*)*"+user+"\\s*(?=[,\\}])[^}]*\\s*\\}\\}","i").test(text))?false:newRegExp("\\{\\{\\s*((?!nobots)|bots(\\s*\\|\\s*allow\\s*=\\s*((?!none)|([^}]*,\\s*)*"+user+"\\s*(?=[,\\}])[^}]*|all))?|bots\\s*\\|\\s*deny\\s*=\\s*(?!all)[^}]*|bots\\s*\\|\\s*optout=(?!all)[^}]*)\\s*\\}\\}","i").test(text);}
См. также:mw:Manual:Pywikibot
defallow_bots(text,user):returnnotre.search(r'\{\{(nobots|bots\|(allow=none|deny=.*?'+user+r'.*?|optout=all|deny=all))\}\}',text)

См. также

[править код]
  • {{nobots}} — аналогичный шаблон, но с отрицанием по умолчанию

Во избежание поломок страниц, использующих этот шаблон, экспериментируйте впесочнице(создать |зеркало) или своёмличном пространстве.
Пожалуйста, добавляйте категории на подстраницу/doc. Подстраницы этого шаблона.

Источник —https://ru.wikipedia.org/w/index.php?title=Шаблон:Bots&oldid=80212484
Категории:
Скрытые категории: