Написать программу на одном из языков программирования, реализующую обращение к API Википедии. Если вы не понимаете, вам ещё рано. Начинать лучше всего с ВП:АВБ - там никаких программ писать не надо, простой понятный интерфейс. MBH10:33, 23 ноября 2016 (UTC)[ответить]
(конфликт редактирования) Вот более подробно:
Создать отдельную учётную запись для бота.
Выяснить, какую работу требуется выполнить. В Википедии всегда есть что делать, но не всё возможно сделать ботом — например, создавать статусные статьи боты пока ещё не научились.
Убедиться в наличии консенсуса для выполнения конкретной задачи. Не всё, что можно сделать ботом, одобряется сообществом (как например ботозаливки).
Проверить, существуют ли боты, которые могут делать такую работу.
Если такой бот есть — установить его у себя на компьютере и разобраться, как он работает.
Если такого бота не существует — написать самому, используя какой-либо язык программирования.
Хорошо протестировать бота и подать заявку бюрократам на присвоение статуса бота.
Сильно зависит от того, что бот должен делать. В любом случае очень желательно уверенное знание регулярных выражений, для простых задач вида «поиск-и-замена» этого и достаточно, если пользоваться каким-нибудь ВП:AWB, да; большая часть правок У:MBHbot сделана через AWB, например. Для создания более сложных скриптов желательно владеть каким-нибудь языком программирования. В pywikipedia входят несколько готовых скриптов, а вообще это фреймворк, позволяющий относительно быстро и удобно накатать бота почти для любой задачи, нужно знание языка программирования Python. Все правки моего бота сделаны самописными скриптами на базе PWB. Есть и другие фреймворки для других языков программирования. В принципе бота можно создать на любом Тьюринг-полном языке, на котором вообще реально сделать HTTP-запрос, нужно знание соответствующего языка и MediaWiki API. ~Facenapalmобс, вкл10:59, 23 ноября 2016 (UTC)[ответить]
Работал... до недавного обновления движка MediaWiki, ранее в этом месяце; после этого его не починили. Сейчас его хотят хоронить совсем (phab:T99365, phab:T101214), но в то же время ещё не все скрипты адаптированы к версии core. Если у кого-то получилось исправить логин для нынешней версии MediaWiki, можете делиться нужными изменениями или даже внести большего вклада для обслуживания работоспособности версии (можно прямо в gerrit). --XXN (обс.) 20:46, 19 ноября 2016 (UTC)[ответить]
Как запустить бота в grid на Tool labs и по расписанию?
Есть бот написанный на python 3.4, из консоли Tool labs запускается без проблем. Надо запускать его автономно и по расписанию.
В справке Tool labs написано, что это надо делать в гриде[1][2], командой типа jsub -N job_name myscript. Но оказывается там установлена старая версия python, без нужных модулей предустановленных на Tool labs, и скрипт валится с ошибками. Видел предложения ставить среду виртуального окружения virtuaenv, а в неё свой python с модулями, пробовал, но оно ставит туда версию 2.7, а другую надо как-то компилировать, ещё какие-то дебри… и непонятно заработает ли в итоге на грид…
Оказалось, что в гриде по умолчанию задания запускаются на устарелой 12-й версии Linux Ubuntu, см. phabricator:T143473. Для новой надо указывать ключ -l release=trusty в командной строке. В связи с этим багрепортом начат уход со старой версии Убунты, её поддержка закончится в апреле 2017.
Если скрипт, запускаемый на грид на python, выводит или запускает команды с русским языком, то возможна проблема с кодировкой. Починка: phabricator:T143691 (указать utf-8 в переменных окружения PYTHONIOENCODING и LANG). Также эта проблема или «file not found» может быть, если скрипты сохранены с переводами строк в формате Windows CRLF, надо в формате Unix LF.
Они видимо сколько-то лет назад поставили Linux и забыли, из-за малого использования, причём только в своей англоязычной локали. Годы прошли, всплыла проблема устарения версий, и необходимости глобальной utf8. На обычном-то сервере tool labs народу много, этих проблем давно нет. А вы на гриде запускаете? --Vladis13 (обс) 21:00, 26 августа 2016 (UTC)[ответить]
Если приложение падает, можно предположить, что это из-за недостатка памяти и увеличить лимит. И это не "сколько выделяется", а по превышении какого предела лабс такое приложение будет убивать. MBH01:58, 27 августа 2016 (UTC)[ответить]
You can read the list of affected bots/script users at phab:T136674. If you need information to figure out which piece is using http://, then the devs can give you a user agent string and similar details from the logs. Tell me (or BBlack (WMF)) if you need more details about your bot or script.
Думаю, что реализовать можно без относительных проблем. А вообще, вы, видимо, форумом ошиблись. Если вопрос в консенсусности изменений — вам на общий или более специализированные форумы, если это запрос к ботоводом — вам на ВП:РДБ. Думаю, что второе. Могу заняться, в принципе, если укажете, где полный список статей смотреть. Вообще, мне в итоге понадобится список стран, о чьих отношениях есть статьи, в трёх формах, употребляемых в названиях статей, например: «Французско Французские Франции», «Американо Американские США», и так далее. Если вы их составите самостоятельно — будет вообще очень круто. ~Facenapalmобс, вкл19:38, 4 июня 2016 (UTC)[ответить]
@Facenapalm:вот полный список статей. Формы могут быть разные, т. е., те о которых сказал Sentinel R + бывают исключения (например, страны с аббревиатурами (тут будет больше вариантов (США, КНР, РФ) + мб и Французско- и Франко-, и Финляндско- и Финно-, и Испанско- и Испано- и т. д.). BoSeStan☺21:33, 4 июня 2016 (UTC)[ответить]
Разные формы очень усложняют дело. Я правильно понимаю, что дополнительно надо делать редиректы вида «Никарагуанско-финляндские отношения» -> «Никарагуанско-финские отношения»? ~Facenapalmобс, вкл21:45, 4 июня 2016 (UTC)[ответить]
Тут бы не помешал лингвист, если честно. Финляндские, я так понимаю, это то, что касается государства, а финско — народа. Хотя, сейчас, существует два варианта наименования: Финляндско-южноафриканские отношения и Финско-израильские отношения. Как я уже часто замечаю, в руВики напрочь отсутствует какая-либо унификация однородных статей. Думаю, для начала нужно разобраться с этим вопросом. Порядок такой: принимаем общие правила для наименования статей → унифицируем основное название статей → делаем унифицированные перенаправления. Может стоит это перенести на общий форум? BoSeStan☺23:15, 4 июня 2016 (UTC)[ответить]
«Может стоит это перенести на общий форум» — правильная мысль. Обращаться к ботоводам нужно, когда, во-первых, все спорные моменты утрясены, а во-вторых, есть чёткое понимание того, что именно надо сделать. Ещё раз подчеркну: для автоматизации процесса мне нужен список стран, об отношениях которых есть статьи, во всех употребляемых формах: «финско[-какие-то отношения]», «[какие-то-]финские[ отношения]», «[Отношения ]Финляндии[ и Кого-то]». В теории, я могу составить его и сам, но там могут быть ошибки. Тем более, что тут тонкие случаи вылезли. ~Facenapalmобс, вкл23:34, 4 июня 2016 (UTC)[ответить]
Хорошо, когда я утрясу всё тонкости, не связанные с работой бота, я дам Вам знать. Может быть это произойдёт не скоро, так как сейчас в ближайшие 2 месяца у меня не будет доступа к Википедии. Но всё же эту проблему стоит решить, ибо такой бардак не украшает руВики. BoSeStan☺23:59, 4 июня 2016 (UTC)[ответить]
12 июня весь доступ к сайтам Викимедиа по HTTP (включая API) перестанет работать. Некоторые боты всё ещё используют HTTP — если их не исправить, они перестанут работать. [3] С уважением, Iniquity10:53, 25 мая 2016 (UTC)[ответить]
API change will break some bots
Пожалуйста, помогите перевести на ваш язык. I apologize for writing in English.
Тут выяснилось [4], что АВБ Wiki Search по запросу "в тоже время" выдает 0 строк, когда в поисковике - 492 результата. В итоге нельзя глобально исправить орфографическую ошибку. Как можно решить эту проблему? --Sergei Frolov11:57, 20 мая 2016 (UTC)[ответить]
Проблему решить можно всегда, особенно когда не ограничиваешь себя конкретным инструментом или фреймворком. В крайнем случае можно и из веб-интерфейса выдирать результаты поиска (я так и делаю для мелких запросов, лол. Пишу запрос, Ctrl+A — Ctrl+C — Ctrl+V, и в текстовом редакторе, помимо мусора в начале и конце файла, каждая третья строчка — название нужной статьи. Ручками, вооружёнными двумя регулярками, обрабатывается за полминуты. Придумывать что-либо нормальное мне было лень, пока это работает :) ). Запрос могу выполнить, но уже ближе к вечеру, хорошо? ~Facenapalmобс, вкл12:22, 20 мая 2016 (UTC)[ответить]
Насколько возможно автоматически почистить категории «Категория: Википедия: Кинематографисты без IMDb» и «Категория: Википедия: Кинематографисты без IMDb в Викиданных»? Я поправил несколько статей руками: (1) иногда в статьях уже приводится запись имени латиницей, (2) если записи имени латиницей нет, то простая транслитерация типа Apriatin даёт вполне приемлемые результаты, (3) если править только статьи из «Категория: Википедия: Кинематографисты без IMDb» то они же всплывают в «Категория: Википедия: Кинематографисты без IMDb в Викиданных». --Aserebrenik10:54, 20 мая 2016 (UTC)[ответить]
Открыл на рандом 5 статей - две строчки текста, отличаются только цифрами. Думаю, вполне реально переносить даже автоматом небольшими группами. С другой стороны, нужно ли переносить такие проблемные «статьи»? ~Facenapalmобс, вкл20:20, 29 апреля 2016 (UTC)[ответить]
Можно перенести как загатовку по районам, а потом дополнив и исправив переносить в основное пространство. Можно обсудить на форуме допустимость такого содержание.--Kaiyr20:32, 29 апреля 2016 (UTC)[ответить]
Как добавить/редактировать свойства в квалификаторах? Бьюсь уже пару дней, в документации и справке об этом нету. Пример элемента, ветка утверждений: P1343 (опубликовано в) -> Q17378135 (БСЭ), там надо добавить или редактировать свойство, например P854 (url источника). Получить список имеющихся там свойств можно так: "item.claims['P1343'][1].qualifiers.items()". --Vladis1316:26, 2 апреля 2016 (UTC)[ответить]
Логин API
В связи с недавней заменой первого этапа с action=login на action=query&meta=tokens&type=login у меня перестала работать процедура залогинивания через API. Вроде делаю всё по инструкции (которой, кстати, так и не появилось на mediawiki.org), кукисы сохраняю-передаю, но токен, полученный на первом этапе, не принимает на втором - говорит "WrongToken". Те же самые действия в песочнице API приводят к успеху. Что я мог не учесть? --infovarius07:15, 24 марта 2016 (UTC)[ответить]
Добрый день. Ребята, объясните, пожалуйста, почему вдруг во вкладке «More» невозможно стало вставлять скопированный текст, а то, что печатаешь в нём невозможно скопировать? Заранее благодарю. С уважением,--AryanSogd(t)11:02, 13 марта 2016 (UTC)[ответить]
Это проблема появилась после того как скачал новую версию, так как не мог залогинится. Перезапускал, всё равно не хочет, да и значок на панели задач необычный какой-то. Может удалить и попробовать ещё раз скачать? С уважением,--AryanSogd(t)13:18, 13 марта 2016 (UTC)[ответить]
Не работает правая кнопка мыши, но работает Ctrl-V (-C). Алсо, в рувики не работают ваши алиасы пространства имён "Участник" на непонятном языке. MaxBioHazard15:55, 13 марта 2016 (UTC)[ответить]
Благодарю. Об этом я не подумал. Здорово. На счёт «"Участник" на непонятном языке». Как это исправить? С уважением,--AryanSogd(t) 18:44, 13 марта 2016 (UTC)
Эх. Выяснилось, что даже для выяснения, отпатрулирована ли статья, нужен флаг патрулирующего (вот зачем?). Решение, видимо, такое, если кому надо будет: сначала узнать время (timestamp) и автора (user) последнего изменения статьи:
Есть ли способ отменить правки ботов за какой-то период времени, если это массовые правки? Вроде администраторы могут отменить все правки участника, но такой вариант не подходит, вопрос - только за период. --Vladis1316:12, 7 марта 2016 (UTC)[ответить]
Ботом же. Я как-то написал скрипт для своего бота, откатывающий N последних правок указанного бота (своего же, когда он на пометке файлов глюканул), по времени тоже можно. MaxBioHazard16:23, 7 марта 2016 (UTC)[ответить]
Как бы лучше сделать, в википедии у меня пока аккаунта бота нет. А ещё в викитеке хотелось бы тоже подстраховку иметь, у моего бота там всё без ошибок, но боюсь однажды ошибиться. --Vladis1317:49, 7 марта 2016 (UTC)[ответить]
Простите, несколько раз перечитал эту фразу, но так и не понял: "пока аккаунта бота нет" или "у бота всё без ошибок"? Vcohen22:28, 8 марта 2016 (UTC)[ответить]
Со вчерашнего дня перестал работать "стандартный" вход в учётку у моего PHP-бота. На 1 этапе получаю токен для входа, однако на 2 этапе, после передачи токена серверу, выдается ошибка «WrongToken». В каком направлении искать решение? Владислав-обс-13:11, 13 февраля 2016 (UTC)[ответить]
В новой версии движка, вышедшей позавчера, поломали апи логина. Сломались все боты: АВБ, хаггл, дотнетвикибот... Все они за сутки были исправлены и обновились, вашего вам, видимо, придётся ремонтировать самому - изучайте обновлённую процедуру логина через апи. Ещё можно посмотреть mediawiki.org или написать разрабам этих инструментов - они уже знают, как это исправляется. MaxBioHazard13:15, 13 февраля 2016 (UTC)[ответить]
Уже не первый раз у меня складывается впечатление, что наши разработчики - этакие бото-дарвинисты, цель которых - незначащими правками движка отсеивать ботов, за которыми никто не следит, в пользу тех, за которыми идёт ежедневный контроль. --Emaus23:34, 13 февраля 2016 (UTC)[ответить]
Итог
В AWB ошибку починили, надо принудительно обновить (ссылка в его меню). Тема на багтрекере AWB. - В самописных ботах что на что заменить в строке логина см. в заголовке той темы. По др. ботам надо обращаться к их тех.поддержке. --Vladis1322:46, 15 февраля 2016 (UTC)[ответить]