Википедия:Заявки на статус бота

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

This page in English

Боты

Правила · Рекомендации · Запросы · FAQ · Орден · Форум

↱
  • ВП:ЗСБ
  • ВП:ЗСБТ

Заявки на флаг бота подаются на этой странице. Флаг «бот» присваивается бюрократами по итогам обсуждения, длящегося не менее трёх суток (за исключением экстренных случаев: в таком случае бюрократ обязан тщательно обосновать как экстренность обстоятельств, так и причину, по которой необходимо присвоение флага, при возможности сослаться на уже прошедшие обсуждения, объявить о присвоении флаг бота на форуме администраторов и лично проконтролировать деятельность бота в течение трёх суток; это распространяется и на случай необходимости выполнения административных действий с флагом «бот»). Если у вашего бота имеется флаг глобального бота, то подавать локальную заявку не нужно, если только вы не собираетесь выполнять дополнительные задания, не оговоренные в условиях использования глобального флага. До присвоения флага бюрократ обязан убедиться, что соблюдены все требования этих правил. Если бот требуется для выполнения действий, требующих одобрения сообществом, бюрократы присваивают флаг бота только после достижения сообществом консенсуса по этому вопросу.

Срок рассмотрения заявки зависит от активности голосующих и очевидности консенсуса. Обсуждение с голосованием закрывается любым из бюрократов, и он же либо присваивает соответствующему участнику технический флаг «бот», либо отказывает с чётким разъяснением причин отказа. Если бот собирается совершать действия с помощью AWB, бюрократ также добавляет ник бота на специальную страницу, чтобы тот мог править.

Владельца бота просим повесить шаблон {{Bot}} на страницу бота перед подачей заявки.

Подать заявку на флаг Подать заявку на снятие флага

Архив заявок | Архив заявок на снятие

Well, Well, Bot![]

Ответственный ботовод: Участник:Well very well

Цель

Бот меняет шаблон "нп5" на "не переведено 5" (уже не меняет), а также если ссылка переведена, меняет шаблон на ссылку. Примеры правок: [1], [2], [3], [4]. Правку на странице Дуговая диаграмма почему-то заблокировал фильтр. Почему?

Технические подробности

Код на Python: https://github.com/LeviPesin/Interbot/blob/master/interbot.py, используется pywikibot.


-- Well very well (обс.) 07:21, 22 ноября 2018 (UTC)

Обсуждение (Well, Well, Bot!)[]

  • >Бот меняет шаблон "нп5" на "не переведено 5"
    Зачем? Вот такие правки точно делать не надо, это бессмысленная накрутка. Отсилы одновременно с более существенными изменениями, но я не вижу пользы от таких правок в принципе.
    >а также если ссылка переведена, меняет шаблон на ссылку
    Смотря на наличие русской интервики у иноязычной статьи, а не существование статьи по русскоязычному названию? Это круто, это давно надо было сделать. По опыту могу только сказать, что надо как минимум игнорировать случаи, когда по иноязычной ссылке дизамбиг, потому что иногда наличие статьи означает не «статья переведена», а «статья переименована, а на месте неё оказалось что-то с интервикой». Плюс я давно собирался вычищать «не переведено», которые ссылаются на несуществующие в иноязычном разделе названия — возможно, это будет удобно реализовать в рамках твоего бота.
    Ну и расшириться на нп1—нп4 было бы круто. А ещё вместо нп5 может быть {{iw}}, если что. ~Facenapalm 09:46, 22 ноября 2018 (UTC)
    • Хорошо, первое уберу. {{iw}} и {{НП5}} добавлю. Да, смотря на интервику. Про дизамбиг - не очень понятно, можете объяснить? Спасибо. Well very well (обс.) 10:35, 22 ноября 2018 (UTC)
      • @Facenapalm: >Хорошо, первое уберу. {{iw}} и {{НП5}} добавлю.
        Сделал, сейчас обновлю код на Гитхабе. Well very well (обс.) 11:05, 22 ноября 2018 (UTC)
      • Во всех языковых разделах есть Страницы значений. Иногда ссылка в «не переведено» ведёт на них. Возможно, этот случай надо особо обрабатывать.
        Хотя, на самом деле, я сейчас подумал — пусть бот заменяет, ещё хуже не сделает, хоть внимание к проблеме привлечёт. ~Facenapalm 11:28, 22 ноября 2018 (UTC)
  • Вопросы на понимание правил и отношения к ним:
    1. Почему такие замены совершать не стоит?
    2. Если в голову придёт новая идея для бота, что вы предпримете?
    3. Если ваш бот из-за программной ошибки поломает большое количество статей, готовы ли взять ответственность за это и исправить их? ~Facenapalm 11:32, 22 ноября 2018 (UTC)
    • 1. Потому что это не необходимые действия, и может расцениваться как накрутка.
      2. Подам другую заявку на статус бота.
      3. Да. Well very well (обс.) 13:32, 22 ноября 2018 (UTC)
      • 2. Не нужно подавать другую заявку, у нас не англовики. Просто если бот будет выполнять что-то, что хотя бы в теории может вызвать протесты, то по правилу ВП:МНОГОЕ нужно в начале обсудить и достичь консенсуса на эту работу.—Iluvatar обс 13:49, 22 ноября 2018 (UTC)
      • 1. Не «не необходимое», а просто ничего не меняющее по существу. Правка остаётся в истории изменений, всплывает в списках наблюдения… И при этом не факт, что делает лучше. Вдруг завтра появится ботовод, которому «нп5» нравится больше, чем «не переведено 5»? Не менять же туда-сюда. Иногда такие мелкие замены нужны (например, перенаправление удалено), но это должно быть заранее оговорено.
        Обычно такие замены если и делаются, то только фоном — заодно с более существенными правками.
        2. На самом деле, такое даже не практикуется. Достаточно оценить консенсусность, и, если консенсус не очевиден, обсудить проход на форуме предложений, или даже на общем форуме. Если речь идёт об исправлении очевидной ошибки или переименовании категории, по которому уже подведён итог, можно даже ничего не обсуждать.
        См. ВП:МНОГОЕ. ~Facenapalm 13:49, 22 ноября 2018 (UTC)
  • Вопросы и предложения к реализации:
    1. Шаблонов вида «не переведено» пять штук, кроме «нп5» есть с аналогичным синтаксисом {{нп2}}, {{нп3}}, {{нп4}}, {{нп5}}{{не переведено}} сложнее, у него может быть другой синтаксис). Кроме того, первая буква нечувствительна к регистру: можно писать {{не переведено 5}}, можно {{Не переведено 5}}, будет работать. Чтобы охватить всё, лучше воспользоваться регулярным выражением (справка для питона).
    2. Часть параметров можно опустить. Если отсутствует третий параметр, в него подставляется en, если второй и четвёртый — в них подставляется первый. Синтаксис MediaWiki позволяет писать, например, так: {{нп5|Статья|4=Article}}, что раскрывается в {{нп5|Статья|||Article}} и по смыслу значит {{нп5|Статья|Статья|en|Article}}. Я вижу, в коде это частично учтено, но лишь частично. Есть библиотека mwparserfromhell, которая может помочь с обработкой всех частных случаев.
    3. Как я уже говорил, четвёртый параметр может вести на несуществующую статью, [en]. Их хорошо бы удалять.
    Разумеется, это не критика бота, скорее предложение к дальнейшему развитию. ~Facenapalm 11:40, 22 ноября 2018 (UTC)
    • 2. Да, я знаю это, и учел в своем коде.
      3. Сделаю (завтра-послезавтра), спасибо. Well very well (обс.) 13:32, 22 ноября 2018 (UTC)
      • 3. Сделал, сейчас ещё раз протестирую бота. Well very well (обс.) 14:52, 22 ноября 2018 (UTC)
    • 1. Да, желательно это сделать, чтобы не получался несправедливый перекос в сторону одного из вариантов. С {{нп2}} ещё нужно быть осторожным в том, что там нужно сохранять и «англ. что-то там», и параметр «текст» после него (см. как работает subst:нп2 в таких случаях). Викизавр (обс.) 16:24, 22 ноября 2018 (UTC)
    • 1. Добавил нп4 (с его вариациями). Остальные имеют другой синтаксис.
      2. Сделал.
      Код на Гитхабе изменю после всех его правок и теста. Well very well (обс.) 10:51, 29 ноября 2018 (UTC)
      • >Остальные имеют другой синтаксис
        У нп3 точно тот же. ~Facenapalm 11:56, 29 ноября 2018 (UTC)
        • Там пустые параметры могут быть без |. Well very well (обс.) 12:12, 29 ноября 2018 (UTC)
          • (ответ на первую версию сообщения) Какие? 4 неименованных параметров и nocat. Остальные в коде шаблона не поддерживаются, так что если ты их уберёшь, ты ничего не сломаешь. Нп5 поддерживет то же и ещё больше.
            (ответ на текущую) Пустые параметры могут быть в любых шаблонах. ~Facenapalm 12:16, 29 ноября 2018 (UTC)
            • Но в обычных шаблонах - abc|def|||. А тут может быть просто abc|def. Well very well (обс.) 12:30, 29 ноября 2018 (UTC)
              • Во всех шаблонах так. Может быть {{нп5|Article|Статья||}}, может быть {{нп5|Article|Статья}}. Может быть {{нп5|Статья|||Article}}, может быть {{нп5|Статья|4=Article}}. С точки зрения вики-разметки и механизма шаблонов эти примеры попарно эквивалентны. Ничего того, что умеет нп3 и не умеет нп5 нет, я посмотрел в код шаблона. Пожалуйста, убедитесь, что вы понимаете синтаксис MediaWiki и что ваш бот ничего не сломает до того, как вы его запустите. ~Facenapalm 14:17, 29 ноября 2018 (UTC)
                • Хорошо, я понял, спасибо. Well very well (обс.) 15:46, 29 ноября 2018 (UTC)
                  • В данный момент код поддерживает следующие вариации (проверяется название, переведённое в нижний регистр): не переведено 5, нп5, iw, нп4, ut4, не переведено 4, не переведено 3, нп3. Well very well (обс.) 10:50, 30 ноября 2018 (UTC)
      • 2. Тут есть одна проблема: mwparserfromhell не поддерживает переделывание шаблона в строку, когда в шаблоне содержатся символы не из ASCII (к примеру, русские буквы). Well very well (обс.) 12:12, 29 ноября 2018 (UTC)
        • @Facenapalm: Ну так что тут делать? Well very well (обс.) 10:41, 30 ноября 2018 (UTC)
          • Никаких проблем с этим я у себя не помню, а гадать на кофейной гуще не хочу. ~Facenapalm 11:19, 30 ноября 2018 (UTC)
  • Какой-то у вас страшный метод парсинга страницы, проще сделать чем-то вроде
    import re
    regex = re.compile(r'(\{\{\s*(?:[Нн]п[2-5]|[Нн]е переведено [2-5]|[Ii]w)\s*\|([^\{\}]*)\}\})') #\}\}
    
    def processIW(match):
        fullTemplate = match.group(1)
        raw_params = match.group(2).split('|')
        params = raw_params # учесть =
            
        if False: # существует страница к params[0]
            return # изменённый вариант
        else:
            return '((' + fullTemplate + '))' # скобки для тестирования
    
    page = 'Нужно {{iw|Smth|Что-то||Чего-то}} и ещё {{нп3|Qch|что-то|fr|}}, а также {{Нп|1=Smth|4=чего-то}}'
    result = regex.sub(processIW, page)
    
    print(result)
    
    А идея хорошая! Викизавр (обс.) 12:01, 22 ноября 2018 (UTC)
    • Я не очень знаю эти рег. выражения. Мне проще как у меня. Well very well (обс.) 13:32, 22 ноября 2018 (UTC)
      • Угу, потому я регулярку и написал сам — чтобы её можно было использовать как чёрный ящик. Викизавр (обс.) 14:00, 22 ноября 2018 (UTC)
    • Я решил все же сделать через mwparserfromhell. Извините. Well very well (обс.) 10:51, 29 ноября 2018 (UTC)
  • Давно пора было кому-то этим заняться. Если замен редиректов не будет (нп5 на не переведено 5) и не будет попыток замены одного шаблона другим (на3 на нп5, например), то однозначно флаг нужно выдавать. А ссылки на дизамбиги можно кидать в отчёт и разгребать вручную.—Iluvatar обс 12:15, 22 ноября 2018 (UTC)
    • Замен редиректов не будет. Попыток замены не будет (пока, кстати нп меньшие 5 не обрабатываются вообще, сделаю потом). В отчет (на странице в моем подпространстве) сделаю завтра-послезавтра. Well very well (обс.) 13:32, 22 ноября 2018 (UTC)
  • (+) За ~Facenapalm 13:49, 22 ноября 2018 (UTC)
  • Я правильно понимаю, что бот бесконечно высасывает содержимое всех страниц проекта с лайва? Может лучше юзать дамп для этих запросов?—Iluvatar обс 14:06, 22 ноября 2018 (UTC)
    • Да, правильно понимаете. Дамп - то есть хранить точку остановки? Или что-то другое? Well very well (обс.) 14:35, 22 ноября 2018 (UTC)
      • Face-surprise.svg Игорь (обс) 14:38, 22 ноября 2018 (UTC)
        • Ну скорее всего имелась ввиду какая-то ссылка со всеми статьями. Но чем тогда pagegenerators хуже? Well very well (обс.) 14:52, 22 ноября 2018 (UTC)
          • Face-surprise.svgFace-surprise.svg Игорь (обс) 14:55, 22 ноября 2018 (UTC)
          • На всякий случай: посмотрите последний абзац ВП:ППБ#Требования к ботам. Дамп — это копия всех страниц рувики, заранее скачанная на ваш компьютер, чтобы не грузить их по отдельности. Викизавр (обс.) 14:56, 22 ноября 2018 (UTC)
          • Это архивная копия всех статей проекта. Юзать запросы к АПИ для бесконечного чтения 1,5 млн статей крайне не рекомендуется, о чём сказано во всевозможных правилах использования ботов. Хуже подобный подход тем, что вы создаёте перманентную нагрузку на лайв-сервера, тогда как её вполне можно избежать. См сначала это, потом это. Локально работать с дампом очень приятно, 4 строчки кода. На Лабсе не юзал, но наверняка нет сложностей и там.—Iluvatar обс 14:59, 22 ноября 2018 (UTC)
            • Угу, то есть в дампе куча файлов xml. И как их привести к тому виду, который посылается на вход моей функции? Well very well (обс.) 15:07, 22 ноября 2018 (UTC)
              • XML-файл с последними версиями текста всех страниц рувики один - вот https://dumps.wikimedia.org/ruwiki/20181101 /ruwiki-20181101-pages-meta-current.xml.bz2 например последний, новые выходят примерно третьего и двадцать третьего числа каждого месяца. Там архив 4 ГБ, распаковывается в хмл 25 ГБ, полученный хмл можно парсить любым способом, он содержит исходный текст каждой страницы. Кроме того, для подготовки списка страниц для работы можно использовать служебные страницы типа "список страниц, включающих этот шаблон", собирать машиночитаемые списки с таких страниц помогают инструменты ВП:АВБ и ВП:PetScan. MBH 15:23, 22 ноября 2018 (UTC)
              • Распаковывать ничего не нужно для простого перебора статей. Локально вот так работать. Быстро и просто. На Лабсе сказать не могу. В крайнем случае прогуляйтесь по чужим каталогам или спросите в чате/форуме/юзеров.—Iluvatar обс 15:30, 22 ноября 2018 (UTC)
                • Спасибо! Лабс - это Toolforge? Well very well (обс.) 16:15, 22 ноября 2018 (UTC)
                  • Да. (комментарий к правке) Качать не нужно, они уже там. Если только на комп чтобы понято как с ними работать вообще, потестить.Iluvatar обс 16:18, 22 ноября 2018 (UTC)
                    • Там есть проблема. Спрошу на форуме. А, нет, кажется нет. Проверю через несколько часов. Well very well (обс.) 04:06, 23 ноября 2018 (UTC)
  • (+) За — Джек (обс.) 15:28, 22 ноября 2018 (UTC)
  • Вот еще какая идея появилась. Если есть красная ссылка, то пытаться перевести с помощью какого-нибудь переводчика, и искать такое название в другой Википедии, и если нашлось, то писать в отчет с предложением поставить шаблон. Well very well (обс.) 04:17, 23 ноября 2018 (UTC)
    • Может для начала просто искать если в квадратных скобках — что-то написанное латиницей. be-nt-all (обс.) 05:11, 23 ноября 2018 (UTC)
      • Нет, зачем? Если, к примеру, будет [[Windows 10]]? Well very well (обс.) 09:43, 23 ноября 2018 (UTC)?
    • Если вы готовы сами разгребать эти отчёты — флаг в руки. Если вы уверены, что в каких-то случаях шаблоны может проставить бот — обсудите это на форуме и дерзайте. В противном случае не вижу смысла. У нас 69 тысяч статей имеют прямые ссылки на другие разделы ([[:en:Article|такие]]), которые надо заменить на внутренние и шаблоны «не переведено», потому что мешают, а рук нет (ботом это делать нельзя, если вдруг что). Боюсь, за ваши отчёты тем более никто браться не будет. ~Facenapalm 11:35, 23 ноября 2018 (UTC)
      • Ну буду стараться разгребать. Well very well (обс.) 12:45, 23 ноября 2018 (UTC)
  • Генератор можно (нужно) заменить с рекурсивного поиска по категории на включения шаблона нп5 в ОП. Документация — [5]. Либо использовать дамп.
    articles = pywikibot.Page(mysite, "Не переведено 5", ns=10).getReferences( namespaces=0, only_template_inclusion=True)
    И реализовать поиск интервик можно стандартными средствами, хотя не факт оно будет лучше/быстрее и т.д. — d:Wikidata:Creating_a_bot/ru#Пример_№_2:_получение_интервики-ссылок. -- dima_st_bk 05:06, 24 ноября 2018 (UTC)
    • Спасибо! Но наверно, лучше попробую разобраться с дампом. Well very well (обс.) 06:16, 24 ноября 2018 (UTC)
  • Был очень занят вчера и сегодня, поэтому мало сделал. Завтра постараюсь сделать много. Well very well (обс.) 14:30, 24 ноября 2018 (UTC)
  • (+) ЗаАлексей Копылов 01:26, 1 декабря 2018 (UTC)
  • (+) За, полезное дело, см. Википедия:Запросы к ботоводам#Переведенные «не переведено»--Komap (обс.) 11:24, 29 декабря 2018 (UTC)

Предварительный итог[]

Бюрократы рассмотрели заявку. И, по нашему мнению, если вы исправите бот таким образом, чтобы он делал запросы к дампу базы (см. ВП:ДАМП), то флаг может быть присвоен.-- Vladimir Solovjev обс 13:42, 11 декабря 2018 (UTC)

  • Для этого мне нужно, чтобы мне помогли исправить одну ошибку. Напишу участок кода с нею. Well very well (обс.) 14:21, 15 декабря 2018 (UTC)

Итог (Well, Well, Bot!)[]

Неактивные боты 2019[]

Продолжая традиции. -- dima_st_bk 10:39, 20 декабря 2018 (UTC)

Список собран отсюда

Bot name Last edit Комментарий Решение бюрократа
KolbertBot (обс. · вклад) 2017-12-04 07:29 Бессрочно заблокирован более года назад. Флаг снят. --Lev (обс.) 07:56, 26 декабря 2018 (UTC)
HeimdallBot (обс. · вклад) 2017-12-03 22:39
NeolexxBot ( · вклад) 2017-12-03 17:03
Flow talk page manager ( · вклад) 2017-09-22 04:17
MotnahpBot (обс. · вклад) 2017-08-20 07:10 Проявил активность. -- dima_st_bk 23:02, 8 января 2019 (UTC)
Tankist-scratch-bot (обс. · вклад) 2017-08-13 12:51
JackieBot (обс. · вклад) 2017-07-31 00:03
タチコマ robot (обс. · вклад) 2017-07-11 13:18
BotQa ( · вклад) 2017-05-21 10:48
Kakaru chess bot ( · вклад) 2017-05-18 14:49
BaseBot (обс. · вклад) 2017-02-20 14:23
VlsergeyBot (обс. · вклад) 2017-02-18 10:22
AryanBot (обс. · вклад) 2017-01-29 19:33
Bot of the Six (обс. · вклад) 2016-11-14 22:05 Прошу снять в связи с отсутстивем активности, как бота, так и моей. Cat of the Six (обс.) 04:16, 26 декабря 2018 (UTC). Флаг снят, спасибо! --Lev (обс.) 07:36, 26 декабря 2018 (UTC)
CodeMonkBot (обс. · вклад) 2016-10-17 07:27 Флаг еще нужен, так как бот используется на чтение для отладки фреймворка DotNetWikiBot. --CodeMonk (обс.) 09:09, 26 декабря 2018 (UTC) Флаг оставлен. --Lev (обс.) 23:24, 4 января 2019 (UTC)
ZaBOTka (обс. · вклад) 2016-02-25 11:43 Даже если я и запущу скрипт, я всё равно вклад глазками просматриваю, так что можно без флага. На AWB я обычно тоже ничего крупного не делала, так что можно снимать. --Zanka (обс.) 13:29, 25 декабря 2018 (UTC) Флаг снят, спасибо за сделанное!--Lev (обс.) 07:36, 26 декабря 2018 (UTC)
( · вклад) 2015-07-31 13:06 Бот более не используется Флаг снят. --Lev (обс.) 11:54, 25 декабря 2018 (UTC)
Maintenance script ( · вклад) 2015-07-13 21:41 Бот созданный для одноразовой задачи, более не используется Флаг снят. --Lev (обс.) 11:54, 25 декабря 2018 (UTC)

Обсуждение (Неактивные боты)[]

Итог (Неактивные боты)[]

NPBot[]

Ответственный ботовод: Николай Проскурин

Цель

Бот создан в основном для работ, связанных с проектом «Музыка». Сейчас реализованы и планируется совершенствовать две основные функции:

  1. Clean Up (схоже с функциями, доступными в AWB). Пример правок: снос шаблонов {{Заголовок курсивом}} из категории Альбомы по алфавиту. Правки тестировались в черновике бота.
  2. Создание списков со статьями, использующих проблемные источники, для дальнейшей работы с ними участниками проекта. В настоящий момент идёт работа над пользовательскими рецензиями сайта Sputnikmusic, но сайтов, для которых такие списки могут потребоваться, навалом. Временное решение сделано участником Facenapalm: (собственно, пока мой код является модернизацией его скрипта). Однако сейчас проект находится в тупике из-за длительной работы бота (по идее, должно разрешиться после получения флага из-за увеличения лимита запросов).

Btw, Facenapalm согласился побыть моим «духовным наставником» :-)

Upd: раз заявка зависла, отмечу, что в целом эта часть реализована (из-за технических ограничений на неботов пока через дампы): .

Технические подробности

Работает на PyWikiBot. Код доступен на GitHub: [6]

Имеется флаг бота в других разделах Википедии?

Нет

-- -=|*НП*|=- 0_0 19:23, 7 января 2019 (UTC)

Обсуждение (NPBot)[]

  • Здесь тоже отмечусь, что (+) За, хотя о моём одобрении уже указано в теле заявки, а то заявка зависла. ~Facenapalm 14:53, 28 января 2019 (UTC)

Итог[]

Каких-то проблем не увидел, так что флаг бота присвоен.-- Vladimir Solovjev обс 16:50, 28 января 2019 (UTC)

stjn (bot)[]

Ответственный ботовод: stjn

Цель

Собираюсь заниматься интересными или нужными себе заданиями. На данный момент это:

Технические подробности

Написан на «Джаваскрипте» (Node.js, nodemw). Скрипты будут запускаться вручную. В способностях, думаю, сомневаться не приходится :-) Но если вдруг, то я ещё в Дискорде для нескольких сообществ (англ. / фр.) бота пишу и когда-то был interface-engineer’ом.


-- stjn 14:41, 28 января 2019 (UTC)

Обсуждение (stjn (bot))[]

  • (+) За, ботоводов у нас в разделе категорически не хватает. Учитывая, что Йоханн является довольно радикальным правкофобом, в какие-либо злоупотребления флагом верится с трудом. ~Facenapalm 14:52, 28 января 2019 (UTC)
  • (+) За, техническая подкованность участника не вызывает сомнений, а действия бота действительно полезны — Helgo13 • (Обсуждение) 15:28, 28 января 2019 (UTC)

Итог[]

Уровень технической грамотности ботовода сомнений не вызывает, проблем каких-то не увидели, так что флаг бота присвоен.-- Vladimir Solovjev обс 17:22, 28 января 2019 (UTC)