Чулацаман тӀегӀо

Кеп:Bots

ХӀара кеп Википеди чуьра йу — маьрша энциклопеди
Документаци

Хlокхуьн гlонца шаболх бе чарна хаам бало, цуьнга хьецайайта агlонаш. Хlара доза хила мега цхьаболу шаболх бечарна.

Масалла

[нисйан]

Нисдар цхьаболу шабелхалойн магор (ша шех)

{{bots|allow=all}}

Нисдар цхьаболу шабелхалойн цамагор

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

Нисдар цхьаболу шабелхалойн цамагор/магор

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

Иша цlе AWB массо шабол бо чера бухчохь AWB. Масалла:

{{bots|allow=HagermanBot,Werdnabot}}
{{bots|deny=AWB}}

Цхьадолу цамагораш

[нисйан]

Another option is to opt out of specific types of messages for users who wish to be notified of certain problems, but not others. Users should be aware that by opting-out of specific notification posts, they will not be notified of matters relating to material they have edited or uploaded, which are tagged per policy. Actions (such as deletion) may be executed without you being notified as a result. By applying this to your own user talk page, you agree to this consequence. Applying this to a user talk page other than your own will be considered vandalism. All bots and scripts that leave messages on a user’s talk page are encouraged to add this capability.

By adding this to a user’s talk page, a user may still receive these messages by non-compliant bots or scripts, or humans who add the tag manually.

{{bots|optout=all}}            Opt out of all messages (see limitations below).
{{bots|optout=nosource}}       Opt out of no source messages.
{{bots|optout=nolicense}}      Opt out of no license messages.
{{bots|optout=orfud}}          Opt out of orphaned fair use messages.
{{bots|optout=norationale}}    Opt out of no rationale messages.
{{bots|optout=replaceable}}    Opt out of replaceable fair use messages.
{{bots|optout=bettersource}}   Opt out of better source request messages.
{{bots|optout=afd}}            Opt out of articles for deletion messages or variant forms.
{{bots|optout=ifd}}            Opt out of images for deletion messages or variant.
{{bots|optout=prod}}           Opt out of prod warning messages or variant.

Items can be combined by putting a comma between options

{{bots|optout=nosource,nolicense}} Opt out of no source, and no license messages.
{{bots|optout=orfud,norationale,replaceable}} Opt out of fair use messages.

Цамагошдолу нисдарш

[нисйан]

Цамага до:

  • Гlалато куьг де бакъо;
  • Хlаллакйар кхин дика доцу нисдарш;
  • Any message tag that isn’t included as a way of opting out above. (Is there one that should be included? Leave a message on the talk page.)

Кепна гlодириг

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

Лелорна масалла

[нисйан]
function allowBots( $text ) {
    global $user;
    if (preg_match('/\{\{(nobots|bots\|allow=none|bots\|deny=all|bots\|optout=all|bots\|deny=.*?'.preg_quote($user,'/').'.*?)\}\}/iS',$text)) { return false; }
    return true;
}
sub allowBots {
    my($text, $user, $opt) = @_;
    return 0 if $text =~ /{{nob[o]ts}}/;
    return 1 if $text =~ /{{b[o]ts}}/;
    if($text =~ /{{bots\s*\|\s*allow\s*=\s*(.*?)\s*}}/s){
        return 1 if $1 eq 'all';
        return 0 if $1 eq 'none';
        my @bots = split(/\s*,\s*/, $1);
        return (grep $_ eq $user, @bots)?1:0;
    }
    if($text =~ /{{bots\s*\|\s*deny\s*=\s*(.*?)\s*}}/s){
        return 0 if $1 eq 'all';
        return 1 if $1 eq 'none';
        my @bots = split(/\s*,\s*/, $1);
        return (grep $_ eq $user, @bots)?0:1;
    }
    if(defined($opt) && $text =~ /{{bots\s*\|\s*optout\s*=\s*(.*?)\s*}}/s){
        return 0 if $1 eq 'all';
        my @opt = split(/\s*,\s*/, $1);
        return (grep $_ eq $opt, @opt)?0:1;
    }
    return 1;
}
public static bool AllowBots(string text, string user)
{
    return !Regex.Match(text, @"\{\{(nobots|bots\|(allow=none|deny=.*?" + user.Normalize() + @".*?|optout=all|deny=all))\}\}", RegexOptions.IgnoreCase).Success;
}
public static boolean AllowBots(String text, String user)
{
      return !Regex.Match(text, "\\{\\{(nobots|bots\\|(allow=none|deny=.*?" + user.Normalize() + ".*?|optout=all|deny=all))\\}\\}", RegexOptions.IgnoreCase).Success;
}

Python

[нисйан]
def Allowbots(text, user):
    if (re.search(r'\{\{(nobots|bots\|(allow=none|deny=.*?' + user + r'.*?|optout=all|deny=all))\}\}', text)):
        return false
    return true

Хьажа. кхин

[нисйан]