Википедия:Форум ботоводов/Архив/2009

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


Кириллица\Латиница в Python[править код]

Прошу прощения, если вопрос уже поднимался. Возникла проблема с переводом на кириллицу (Python). При вводе команды chcp 1251 вместо Active Codepage: 1251. выдаёт какую-то белиберду и в итоге перестаёт работать. В чём проблема? Может, в версии Python (у меня версия 2.6.4)?
Master Shadow 13:48, 27 декабря 2009 (UTC)

хз, у меня версия 2.5 --Latitude 21:58, 27 декабря 2009 (UTC)
Википедия:Форум ботоводов/Архив/2009#Проблема с кодировкой и Обсуждение участника:Wind/Архив обсуждений/Май 2009 - Декабрь 2009#Вопрос по ботам. Помогает? — Mondalor 06:12, 28 декабря 2009 (UTC)
Нет, не помогает. Я так понял, нужно установить другую виртуальную машину (вместо cmd.exe?). У меня операционная система — Windows XP.
Master Shadow 10:08, 28 декабря 2009 (UTC)
У меня тоже Windows XP, однако работает всё прекрасно. Попробуйте прописать в начале файла user_config.py следующие строки:
# -*- coding: utf-8  -*-
console_encoding = 'cp1251'

Дальше можно работать спокойно, не вводя в виртуальной машине cmd.exe команды chcp. — Mondalor 05:17, 29 декабря 2009 (UTC)

Палец вверх Спасибо, теперь, кажется, помогло.
Master Shadow 07:21, 29 декабря 2009 (UTC)

Удаление подстраниц[править код]

Как ботом удалить все подстаницы? или получить список всех подстраниц определенной страницы, чтобы потом удалить? — Dnikitin 12:03, 9 декабря 2009 (UTC)

Подходит? --Obersachse 12:59, 9 декабря 2009 (UTC)
Уже что то. Спасибо. Удалять я, правда, хотел не эти страницы, а другие. — Dnikitin 15:33, 9 декабря 2009 (UTC)
Естественно. :-) Я только выбрал тебя в качестве примера. --Obersachse 20:35, 9 декабря 2009 (UTC)

Автоматизация викификации[править код]

Есть предложение сделать бота, который ходил бы по страницам основного пространства и жал кнопку викификатора. Вот тема в обсуждении викификатора. Rasim 00:03, 9 декабря 2009 (UTC)

General fixes от AWB и cosmetic_changes.py примерно этим и занимаются. Другое дело, что правка только ради викификации, — это плохо, поэтому практически всегда она делается в комплекте с другими изменениями rubin16 07:55, 9 декабря 2009 (UTC)
Данные фиксы некорректно работают с некоторыми страницами. Всегда необходима ручная проверка. Vlsergey 12:52, 9 декабря 2009 (UTC)

Кто мне объяснит как работает этот скрипт? -- Андрюха Тёмный (aka DarkSTALKER) · © 15:27, 5 декабря 2009 (UTC)

Как запускать или принцип работы? Принцип - берется N последних зарегистрированных участников, сделавших X правок, если они не заблокированы - им выдается шаблон приветствия A. rubin16 18:56, 5 декабря 2009 (UTC)
Желательно подробно и с картинками! :-D Я долго мучился, так и не смог его отладить :-(DarkSTALKER (обс · вклад) 09:55, 3 января 2010 (UTC)
http://meta.wikimedia.org/wiki/Pywikipediabot/welcome.py Но если вы не переходите к нормальной подписи, то это был последный раз, что я вам помог. --Obersachse 10:29, 3 января 2010 (UTC)
Спасибо, но я это видел. К тому же, я уже смог разобраться, просто раньше welcome.py -help не загружалась, а сейчас загрузилась. P.S.: Но, тогда поменяю, только ради вас :-DDarkSTALKER 11:22, 3 января 2010 (UTC)
  • Офтопик: скажите, а почему у вас такая нехорошая (в смысле мусорного оформления) подпись? PS: Вам, вероятно, нужно почитать про subst:. -- AVBtalk 10:31, 3 января 2010 (UTC)
  • А это бессмысленно, новые участники уже приветствуются, для двух ботов там работы нет. Если кто забыл или ещё не знает, участники которые не совершили правок, не приветствуются, таково было решение сообщества. --Latitude 11:25, 3 января 2010 (UTC)
  • Ну, ясно, что это не всё, чему я бота научу =)
  • С моей точки зрения самая требуемая работа для бота - разрешение неоднозначностей (solve_disambiguation.py). Этим мало кто занимается. --Obersachse 19:02, 3 января 2010 (UTC)

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

Есть ли кто, способный помочь добавить все интервики на всех моих страницах? Вручную ого-го. Собственно: sulutil:Arseny1992 --Arseny1992 обсужд.вклад@ 01:40, 2 декабря 2009 (UTC)

Если там есть хотя бы одна ссылка на другой раздел, то интервикиботы скоро добавят остальные интервики. Если нет никакой, то боты бессильны. Откуда они должны знать, какая статья в другом разделе должна быть связана с этой? --Obersachse 06:18, 2 декабря 2009 (UTC)
А как вы объясните то что ваш бот удалил мои труды по добавлению интервик? Эх, придётся самому править на всех вики... --Arseny1992 обсужд.вклад@ 10:10, 2 декабря 2009 (UTC)
Объясняю тем, что интервики были ложные, то есть вели на несуществующие страницы. --Obersachse 10:49, 2 декабря 2009 (UTC)

проблемы с pywikipedia[править код]

никто не испытывает проблем с login.py (revision 7630)?

Внезапно вылетел и не могу залогиниться снова с правильным паролем. — Дмитрий Никитин 16:42, 11 ноября 2009 (UTC)

Специально обновил с 7621, но не могу воспроизвести проблему. — Obersachse 16:54, 11 ноября 2009 (UTC)
А теперь странная ошибка появилась. interwiki.py:2233: DeprecationWarning: raising a string exception is deprecated — Obersachse 17:08, 11 ноября 2009 (UTC)
Обновление на 7631 тоже не помогло. — Obersachse 17:11, 11 ноября 2009 (UTC)

Интервики-конфликты[править код]

Томас, проверь, пожалуйста, интервики в Синус (значения). Судя по тому, что в англовики больше года не убиралась ошибочная интервика, там имеется конфликт. PS: Как насчёт идеи, чтобы боты каким-то образом помечали статьи с интервики-конфликатами (шаблоном или как-то ещё), чтобы другие участники могли узнать о наличии конфликта и могли что-то сделать? Есть продвижение в этом направлении, как уже обсуждалось? -- AVBtalk 20:31, 10 ноября 2009 (UTC)

Сейчас бота под рукой нет, смогу только вечером. Насчёт интервикиконфликтов поговори с Волковым, у него есть куча списков с интервикиконфликтами. К тому же на мете где-то есть проект борьбы с ними. — Obersachse 06:07, 11 ноября 2009 (UTC)
Fixed. Стандартные интервики-боты ничего не помечают, но могут складывать интервики-кофликты в лог. Я периодически выкладываю (после некоторой предварительной обработки) то, что насобирал мой бот, сюда. Все жалающие могут ознакомиться :) и при желании по мере сил помочь в разгребании этого жуткого завала. Чтобы боты как-то помечали статьи с конфликтами, нужно обсудить и принять решение хотя бы на уровне одного языкового раздела (разработать шаблон или еще как-то помечать конфликтные статьи?). После этого можно будет просить разработчиков pywikipedia, чтобы включили соответствующий код в скрипт для всех интервики-ботов. --Volkov (?!) 09:55, 11 ноября 2009 (UTC)
  • Все жалающие могут ознакомиться - вопрос в том, что целенаправленно заниматься борьбой с интервики-конфликтами вообще по всем статьям вряд ли найдётся хотя бы один человек, интерес могу представлять только конкретные статьи, с которыми в данный момент работаешь. И наличие списка, о котором нужно сначала узнать, а потом ещё искать в нём нужную статью, тут малополезен, тем более, что априори о наличии конфликта не известно. Другое дело, если есть какая-то пометка в самой статье - если редактор (и/или читатель) увидит пометку в конкретной статье, он может попробовать с конфликтом разобраться. разработать шаблон - см. ВП:Опросы/Формат страниц неоднозначностей#Предложение. И ещё где-то (то ли на вашей странице, то ли здесь, у Томаса) я предлагал сделать вроде того, как это сделано в шаблонах связанности ({{Изолированная статья}}, {{Сирота}}). -- AVBtalk 10:09, 11 ноября 2009 (UTC)
Технически, думаю, вполне реализуема. Раз бот обнаруживает конфликт и записывает сообщение об этом в лог, при этом пропуская саму статью, ничто _технически_ не может помешать ему проставлять в статью определённую пометку, а не просто пропускать её. Вопрос лишь в том, что именно проставлять. Если будет решение на уровне нашего раздела, на него можно/нужно будет сослаться при просьбе к "скриптописателям". --Volkov (?!) 10:27, 11 ноября 2009 (UTC)
Я ему коротко изложил идею и спросил только о возможности (указал на то, что нужно дополнительное обсуждение о внедрении). — Obersachse 10:40, 11 ноября 2009 (UTC)
  • Можно брать файл, генерируемый пивикипедияботом под названием autonomous-problems.dat (или тот список, который выложил Волковбот) и по строкам копировать в страницы обсуждения статей. Например "eo:Sankta Bonifacio {Found more than one link for wikipedia:ja}" под заголовком Interwikiconflict записать в eo:Diskuto:Sankta Bonifacio. Может быть, одно-два пояснительных предложений на языке раздела. Это бы тебя устраивало, AVB? — Obersachse 15:32, 11 ноября 2009 (UTC)
  • Вопрос вот в чём: если бот будет только добавлять темы, не убирая их после того, как они потеряют актуальность, то это будет замусоривать страницу и, в случае если интервики-конфликт уже разрешится, такие потерявшие актуальность темы будут дезинформировать. А с учётом того, что участники могут начать писать в теме, созданной ботом, удалять такие темы автоматом становится проблематично. Есть ли идеи, как быть с этим побочным эффектом?
  • Такого побочного эффекта быть не должно. При наличии конфликта редактирования бот должен пропустить статью, и работа человека не пострадает. --Volkov (?!) 08:11, 12 ноября 2009 (UTC)
  • Я не о конфликте редактирования, я о том, что после создания ботом темы в на странице обсуждения, в неё какой-то участник может что-то написать. То ли по теме интервики-конфликат, то ли вообще что-то постороннее. Разумеется, после этого убирать такую тему автоматом уже нельзя. Так она и будет висеть, дезинформируя (если конфликт уже будет разрешён)... -- AVBtalk 11:39, 12 ноября 2009 (UTC)
У меня встречный вопрос: что мешает добавлять в статью шаблон a'la:
для каждого вида конфликта? Причём при каждом новом проходе шаблоны должны полностью заменяться (по аналогии: как сейчас ClaymoreBot каждый раз заново генерит таблицы на ВП:КПМ, а создаётся впечателение, что он их только обновляет) и, если интервики-конфликт не изменился, набор шаблонов не изменится, и текст статьи тоже не изменится (нулевая правка).
Шаблон есть - {{interwikiconflict}}, но им никто не пользуется ни у нас, ни в других разделах. Проставлять его вручную или в полуавтоматическом режиме без такого же автоматического снятия не вижу большого смысла. Всё-таки нужна адаптация стандартного скрипта interwiki.py. Формат и наполнение самого шаблона можно обсуждать отдельно. --Volkov (?!) 08:11, 12 ноября 2009 (UTC)
  • без такого же автоматического снятия - так я о том и говорю, что этот шаблон должен автоматически (и только автоматически! перекладывать заботу о нём на редакторов нельзя!) проставляться и удаляться в статьях, по аналогии с тем, как это сейчас делают боты связности с шаблонами {{тупиковая статья}}, {{сирота}} и т.п. (ну или как интервики-боты делают с интервиками). -- AVBtalk 11:39, 12 ноября 2009 (UTC)
  • Проблема лишь в том, что боты связности работают с функционалом движка mediawiki, а интервики-конфликты, насколько я знаю, через эти средства недоступны. Поэтому связность можно обрабатывать даже с помощью AWB, а для интервики-конфликтов нужно _специально_ писать скрипт. Умельцы-скриптописатели, ау!!?? Или будем ждать, когда (если) этот функционал появится в самом движке mediawiki. Есть же спецстраница "без интервики-ссылок", может появится и "с интервики-конфликтами"?--Volkov (?!) 16:06, 12 ноября 2009 (UTC)
Всё остальное - технические детали: будет ли бот один за другим заменять шаблоны по одному или уберёт их все махом и добавит новые шаблоны в те же места, где были шаблоны с такими же комментариями; будет ли комментарий иметь свободный формат или его формат будет помогать боту идентифицировать шаблоны при замене/удалении; будет ли шаблон что-то отображать на странице (как это делают некоторые шаблоны связности) и будет ли добавлять категории (одну или, в зависимости от типа конфликтов, разные подкатегории) или, в первом приближении, он будет пустым (само наличие его в коде статьи и будет меткой)... Всё это технические подробности, которые можно менять в рабочем порядке. Как вам такая идея? -- AVBtalk 18:38, 11 ноября 2009 (UTC)
  • Поговорил с разработчиком xqt. Он в принципе готов добавить в код interwiki.py скрипт, который добавляет в статью шаблон с нужными параметрами. Нам теперь уточнить, как этот шаблон должен выглядеть. Скрипт для удаления шаблона должен быть относительно простым. Если интервикибот не обнаруживает конфликтов, но находит шаблон, он его убирает из статьи. — Obersachse 17:51, 12 ноября 2009 (UTC)
  • как этот шаблон должен выглядеть - внутри на первых порах его можно оставить пустым. Даже категорий добавлять не обязательно (есть же whatlinkshere). А вот аргументами должны служить комментарии, которые позволят читателям сразу понять, о чём речь. Что-то вроде того, как в примерах выше. -- AVBtalk 14:39, 13 ноября 2009 (UTC)
То есть {{intwerwiki-conflict|eo:Sankta Bonifacio|Found more than one link for wikipedia:ja}}. Будут возражения? Если нет, то через пару дней сообщу xqt, что у нас образовался консенсус. --Obersachse 09:20, 15 ноября 2009 (UTC)

Старогрузинское письмо[править код]

Господа, в гру вики есть категория Mrgvlovani Georgian Script. Нельзя ли с помощью бота перегнать их на коммонз? Руками очень долго...Заранее спасибо.--еоргий(Разговор) 04:44, 9 ноября 2009 (UTC)

Технически — можно, но на мой взгляд с текущим оформлением их на коммонзах снесут быстро — нет заполненных шаблонов информации об авторе, времени создания, описании и т. п. rubin16 11:26, 9 ноября 2009 (UTC)
Хоршо, жаль.. фактически, они все однотипны. У всех автор Гига, одна и та же лицензия. Время создания = времени загрузки. Единственное, описание бы отличалось в одной букве. Но нет так нет :)--еоргий(Разговор) 11:44, 9 ноября 2009 (UTC)
Подумаю, что можно сделать rubin16 13:06, 9 ноября 2009 (UTC)

Вопрос по интервикам[править код]

Уважаемые ботоводы. Можете подсказать, почему на статьи Кангерлуссуак (аэропорт) и Иудаизм в Великобритании боты упорно не желают ставить ссылки в другие разделы? Lazyhawk 00:02, 22 октября 2009 (UTC)

Интервики конфликт: какая правильнее da:Kangerlussuaq или da:Kangerlussuaq Lufthavn для Кангерлуссуак (аэропорт) ? Вторую пока нет времени посмотреть, тоже думаю, там конфликт rubin16 12:25, 22 октября 2009 (UTC)
Правильная da:Kangerlussuaq Lufthavn, по второй скорее всего также. Вопрос тогда другой — а кому заявлять такие ситуации? Lazyhawk 12:33, 22 октября 2009 (UTC)
Самому, скорее всего, исправлять. Я, например, с объектом не знаком, как и с языком… поэтому сам не исправлю rubin16 14:30, 22 октября 2009 (UTC)
Понял, в следующий раз попробую сам разобраться, благодарю за подсказку. Lazyhawk 07:54, 25 октября 2009 (UTC)
Исправил интервикиконфликт. — Obersachse 07:28, 25 октября 2009 (UTC)
Спасибо, Томас. Lazyhawk 07:54, 25 октября 2009 (UTC)
Если у кого-нибудь ещё найдётся желание и время поисправлять интервики-конфликты, то милости просим --Volkov (?!) 11:07, 25 октября 2009 (UTC)

Удаление потерявшего актуальность шаблона из статей[править код]

ClaymoreBot 01:09, 1 октября 2009 (UTC)

Прошу ботоводов заархивять закрытые темы странички, по крайней мере до 01 сентября включительно. (еле грузит) Lazyhawk 17:56, 25 сентября 2009 (UTC)

Там и так стоит регулярная архивация от ClaymoreBot. rubin16 18:04, 25 сентября 2009 (UTC)
Может имеет смысл почаще - сейчас там уже > 200Kb. Lazyhawk 18:07, 25 сентября 2009 (UTC)
Нет, мой бот её не архивирует. Это делает Lockalbot. — Claymore 18:13, 25 сентября 2009 (UTC)
Упс.. а я уже привык, что ClaymoreBot и тут, и там успевает :-). Извиняюсь, попутал. rubin16 18:22, 25 сентября 2009 (UTC)
Я договорился с Claymore по поводу архивации ВП:СО; теперь ему придётся успевать и там =). --Lockal 17:34, 27 сентября 2009 (UTC)

AWB не впускает[править код]

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

Перенесено со страницы ВП:Ф-ТВ.

Второй день не могу зайти в AWB, всё время ругается плашкой not logged in. Захожу под своим логином и паролем (основным и бота), но вместо нужного Bot=True Admin=False (или обратного) всегда стоит надпись Software disabled. Ни установка новой версии, ни копошение в настройках результата не дали. Хотя вижу по свежим ботоправкам, что Ботильда прекрасно работает, а значит проблема не универсальна. Знает ли кто-нибудь как решить проблему --WindEwriX 15:11, 18 сентября 2009 (UTC)

Подтверждаю, AWB 4600 не заходит ни под ботом, ни под юзером. Однако последняя ночная сборка AWB 4901 работает нормально. --Lockal 19:18, 18 сентября 2009 (UTC)
Подтверждаю информацию Lockal - ответ из баг-листа - переходите на ревизию 5386. Проверено заходит. Только там видны следы недоработок, поэтому работаем осторожно. В частности меня удивляет катастрофическое уменьшение системного файла Diff.dll с 40 килобайт до 100 байт - при том что другие файл приложения не изменились. Alex Spade 10:51, 19 сентября 2009 (UTC)
Это первая версия через api. Правда и она перестала работать... infovarius 18:14, 23 сентября 2009 (UTC)
Проверю информацию infovarius завтра - сюдя по репозитарию последняя версия уже ver. 4902 rev. 5438. И видимо кувыркатся мы будет ещё относительно долго. Совет один - тестировать новинки крайне желательно в полуавтоматическом режиме. Alex Spade 19:20, 24 сентября 2009 (UTC)
У меня все работает, логинится, правит rubin16 19:18, 24 сентября 2009 (UTC)

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

После обновления движка Википедии Autowikibrowser (версия 4.6.0.0) издевается надо мной. После успешного логина и нажатия на кнопку Start выдаётся сообщение «You are not logged in.» Есть ли эти проблемы ещё у кого и как можно их решить? — Obersachse 17:05, 20 сентября 2009 (UTC)

Скачать новую сборку rubin16 17:15, 20 сентября 2009 (UTC)
Спасибо, помогло. Остаётся вопрос, почему updater говорил, что моя версия - up to date. — Obersachse 17:33, 20 сентября 2009 (UTC)
Ну формально стабильная версия — 4.6, 4.9 — это бета-сборка. Поэтому и апдейтер понять можно rubin16 18:47, 20 сентября 2009 (UTC)

Возможные проблемы с pywikipedia[править код]

После обновления движка MediaWiki у pywikipedia-ботоводом возможно возникнут проблемы.

$ python ../../wiki/pywikipedia/interwiki.py 
Traceback (most recent call last):                                                           
  File "../../wiki/pywikipedia/interwiki.py", line 2122, in <module>                         
    mainpagename = site.mediawiki_message('mainpage')                                        
  File "/export1/wiki/pywikipedia/wikipedia.py", line 5417, in mediawiki_message             
    tree = XML(decode)                                                                       
  File "<string>", line 85, in XML                                                           
SyntaxError: undefined entity &nbsp;: line 691, column 156

См. bug 2860410

решение: обновиться и use_api = True в user-config.py — Дмитрий Никитин 09:53, 18 сентября 2009 (UTC)

О, ребята наконец решились перейти на API… — Claymore 09:54, 18 сентября 2009 (UTC)

Файлы обновил, use_api = True вписал, но interwiki.py всё равно выдаёт ошибку:

Updating links on page [[nl:Michael Ballack]].
Changes to be made: Anders: [[ar:maykl balak]]
- [[ar:myshyl balak]]
+ [[ar:maykl balak]]

NOTE: Updating live wiki...
Updating page [[nl:Michael Ballack]] via API
Unknown Error. API Error code:hookaborted
Information:The modification you tried to make was aborted by an extension hook
Dump ru (wikipedia) saved
Traceback (most recent call last):
  File "C:\pywikipedia\interwiki.py", line 2186, in <module>
    bot.run()
  File "C:\pywikipedia\interwiki.py", line 1888, in run
    self.queryStep()
  File "C:\pywikipedia\interwiki.py", line 1866, in queryStep
    subj.finish(self)
  File "C:\pywikipedia\interwiki.py", line 1423, in finish
    if self.replaceLinks(page, new, bot):
  File "C:\pywikipedia\interwiki.py", line 1599, in replaceLinks
    status, reason, data = page.put(newtext, comment = mcomment)
  File "C:\pywikipedia\wikipedia.py", line 1434, in put
    newPage, self.site().getToken(sysop = sysop), sysop = sysop, botflag=botflag
, maxTries=maxTries)
  File "C:\pywikipedia\wikipedia.py", line 1682, in _putPage
    solve = self.site().solveCaptcha(data)
  File "C:\pywikipedia\wikipedia.py", line 4851, in solveCaptcha
    data = data['edit']
KeyError: 'edit'

Надо подкрутить что-то ещё? Dinamik 12:45, 19 сентября 2009 (UTC)

Ошибка в pywikipedia[править код]

Мой бот сделал странное, см. diff. Кажется проблема в синхронизации. Это известная проблема или надо надо писать разработчикам? Никто раньше с этим не сталкивался? — Дмитрий Никитин 05:16, 16 сентября 2009 (UTC)

Если никто не знает, то зафайлил баг 2859789Дмитрий Никитин 09:21, 16 сентября 2009 (UTC)
У VolkovBot'а была такая же ошибка. — Obersachse 15:01, 16 сентября 2009 (UTC)

Название проекта[править код]

Можно ли вставить шаблон {{Статья проекта Грузия}} во все статьи в категории Грузия и в подкатегории?--George 07:17, 13 сентября 2009 (UTC)

Я такое уже с Израилем делал. Получилась куча ошибок. Так что нужна будет ручная доработка. — Obersachse 08:22, 13 сентября 2009 (UTC)
Доработкой займусь (Как я понимаю лог будет виден)?--George 08:51, 13 сентября 2009 (UTC)
Да. В этом списке все правки с коментарием ‎ (добавление шаблона "Статья проекта ...")
Дублирование {{Статья проекта Грузия|важность=|уровень=}} ↔ {{Проект Грузия}} я уберу ботом.— Obersachse 09:06, 13 сентября 2009 (UTC)

Не вижу смысла засорять шаблоном страницы обсуждения статей у которых нет обсуждения. Читатель, видя что в обсуждении что-то есть заходит, надеясь узнать что-то по теме статьи, дискуссию какую-нибудь, а там лишь бесполезный шаблон в котором в лучшем случае поставят оценки по непонятной шкале. Это относится к любым проектам, а на примере Израиля мы убедились в случаях абсолютно абсурдных его простановок. --Testus 13:27, 13 сентября 2009 (UTC)

  • Аналогично непонятно зачем, вот статья о футболисте Карлос Альберто да Роша, провёл 2 года в грузинской команде, и при чём здесь Грузия? Дальше добавят статья проекта Россия, проекта Бразилия, Проекта Футбол и прочее? Далее француз Жиресс, Ален, год тренировал сборную Грузии...у него ещё тогда проекта Габон, Марокко, Франция и Футбол надо добавить. Абсурд полный --amarhgil 14:26, 13 сентября 2009 (UTC)
  • ✔ Сделано После возражения Тестуса я не стал создавать новыt страницы обсуждения только для шаблона, но в существующие добавил. Этот таск отработан. Теперь George Mel пусть «убирает за ботом». Помощь приветствуется.— Obersachse 14:58, 13 сентября 2009 (UTC)

Архивация[править код]

А куда бот заархивировал старые обсуждения форума? Надо на них дать ссылку. — Дмитрий Никитин 23:51, 11 сентября 2009 (UTC)

См. ссылку на архив в шапке форуме :-) — Claymore 07:40, 12 сентября 2009 (UTC)
  • Вообще, ссылка на страницу архива в описании правки, по идее, полезна - во-первых, может помочь отловить ошибку бота (в случае, если такая проявится), во-вторых, может облегчить поиск недавно архивированной темы (за счёт сокращения пробежек по разным страницам). PS: Если бот сейчас одной правкой архивирует несколько тем в разные архивы, стоит подумать над разделением такой правки - чтобы одна правка затрагивала только один архив, другие архивы - в других правках. Или, может быть, вообще архивировать по одной теме на правку. -- AVBtalk 23:07, 12 сентября 2009 (UTC)

Проблемы с AWB[править код]

Работаю ботом Lunobot через АВБ в Викитеке, и сегодня мне выдается такая ошибка . Помогите, пожалуйста, разобраться в чем дело. На жестких дисках место есть. И ошибка появляется через раз при загрузке очередной страницы.--Mariluna 14:46, 11 сентября 2009 (UTC)

Точного ответа не знаю, но я замечал, что АВБ закачивает страницу во временный каталог, может с ним что не так? infovarius 19:44, 11 сентября 2009 (UTC)

pausing 5 seconds due to dataserver base lag[править код]

При работе interwiki.py через некоторое время происходит «разлогинивание»: несколько раз выдаётся ошибка «pausing 5 seconds due to dataserver base lag», а правка записывается под IP, а не под логином робота. Что это может символизировать? Dinamik 14:13, 7 сентября 2009 (UTC)

приняты Vlsergey 19:59, 29 августа 2009 (UTC)

Удаление шаблонов[править код]

Здравствуйте! В португальской Википедии статьи, которые не содержат интервик, имеют специальный шаблон. Вопрос: возможно ли сделать так, чтобы при расстановке интервики-ссылок бот автоматически удалял этот шаблон из статьи (если он, конечно, есть)? Используется стандартный Pywikipedia bot. Mondalor 17:51, 27 августа 2009 (UTC)

По этой же теме вроде — Википедия:Форум/Общий#Удаление потерявшего актуальность шаблона из статей rubin16 18:02, 27 августа 2009 (UTC)

Обновление данных в шаблонах карточках[править код]

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

Хочется поддерживать эту информацию актуальной и каждый год обновлять карточку. Есть сейчас какие то подходы для этого? Кто то предлагал сделать отдельный шаблон с параметрами, который хранил бы данные и обновлять ботом только данные для шаблона. Есть другие подходы? Может быть данная задача уже где то реализована? — Дмитрий Никитин 15:09, 25 августа 2009 (UTC)

В enwiki эту проблему решают с помощью шаблонов. (см., например, здесь) --Ashik talk 19:24, 25 августа 2009 (UTC)

Правки бота в статье летаргический сон[править код]

Есть такой бот Участник:Yonidebot, который в статье "летаргический сон" сделал такую правку. Странная правка для бота. Написал хозяину но реакции не последовало. Вступать в войну правок с ботом не собираюсь. Что порекомендуете делать? Saidaziz 18:28, 10 августа 2009 (UTC)

Видимо где-то неправильные интервики. Попробую исправить. — Obersachse 18:36, 10 августа 2009 (UTC)

Проект правил. Прошу обсуждать там. — Obersachse 20:26, 31 июля 2009 (UTC)

Сортировка интервикиссылок по названию языка[править код]

Меня в сербской Википедии спросили, смогу ли я сортировать интервики не по коду языка (как принято у нас), а по названию языка (по-сербски). Я рылся в настройках, но не нашёл, какую гайку надо крутить. Тем не менее мне кажется, что такая возможность есть. Где-то об этом читал, только не помню, где. Кто поможет в ликбезге? — Obersachse 16:13, 18 июля 2009 (UTC)

Странно, меня об этом там никто не просил. В принципе правится (насколько я понимаю) в wikipedia_family.py: раздел self.interwiki_putfirst. Но если это выбор их вики, то нужно (опять же, как я понимаю) это править в самом скрипте с запросом к разработчикам, а не вручную ковырять rubin16 16:44, 18 июля 2009 (UTC)
Спасибо. Заодно я нашёл то, что искал: meta:Interwiki sorting orderObersachse 17:34, 18 июля 2009 (UTC)
Плюс кто-то уже написал девелоперам rubin16 18:35, 18 июля 2009 (UTC)
Кто бы это мог быть? ;-) — Obersachse 19:32, 18 июля 2009 (UTC)
М, понятно :-). Просто не смотрел последние правки в sr.wiki, а в анониме не совсем уверен был rubin16 20:07, 18 июля 2009 (UTC)

Предлагаю как-то помечать выполненные запросы на странице Википедия:Запросы к ботоводам. Может быть, закрывать раздел каким-то шаблоном или добавлять в заголовок раздела пометку о статусе задания и т.п. --Butko 09:57, 16 июля 2009 (UTC)

Можно {{closed}} использовать, но чем не угодила нынешняя система с {{готово}} и т.п.? rubin16 09:59, 16 июля 2009 (UTC)

Добавление описания из списока[править код]

Есть иллюстрации на Викискладе и список с соответствиями Название файла ↔ описание. Нужно заполнить поле Description из этого списка. Есть ли такая функциональность в AWB или pywikipedia? Пока нашел похожую функциональность в m:add text.py, но он добавляет только в начало или конец. Думаю, можно переделать этот скрипт, но, к сожалению, я не знаю python. Может кто-то подскажет готовое решение, переделает скрипт или выполнит эту работу на Викискладе? --Butko 13:48, 15 июля 2009 (UTC)

Можно попытаться воспользоваться m:replace.pyДмитрий Никитин 15:41, 15 июля 2009 (UTC)

Сортировка сносок в AWB[править код]

Можно ли в AWB применять general fixes, но при этом не сортировать <ref>? --Butko 13:48, 15 июля 2009 (UTC)

кеширование пароля[править код]

pywikipedia. Есть куча вик, хочется в каждой вики поместить на личной странице ссылку на русский раздел или шаблон {{Babel}}. Как думал делать.

python login.py -all -pass

залогинился на все вики, потом

lang = ( ru en de ... )
for l in ${lang[@]}; do
    python pagefromfile.py -safe -notitle -file:pattern.data -lang:$l
done

но почему то pagefromfile.py все равно спрашивает пароль для каждой вики и это несмотря на то, что соответствующие файлы в login-data\ создались и пароли там хранятся. С другими скриптами из pywikipedia такое не повторяется, например, interwiki.py пароль каждый раз не спрашивает.

Как сделать так, чтобы пароль не спрашивался? Может быть это из-за того, что у меня символ ' в имени бота? — Дмитрий Никитин 12:00, 2 июля 2009 (UTC)

Добавить в user-config строчку
password_file = "password_file_name"
и хранить пароль в текстовом файле. password_file_name естественно нужно заменить на реальное имя текстового файла. --Volkov (?!) 22:10, 2 июля 2009 (UTC)
Палец вверх Спасибо помогло.
        Reads passwords from a file. DO NOT FORGET TO REMOVE READ
        ACCESS FOR OTHER USERS!!! Use chmod 600 password-file.
        All lines below should be valid Python tuples in the form
        (code, family, username, password) or (username, password)
        to set a default password for an username. Default usernames
        should occur above specific usernames.

        Example:

        ("my_username", "my_default_password")
        ("my_sysop_user", "my_sysop_password")
        ("en", "wikipedia", "my_en_user", "my_en_pass")

Дмитрий Никитин 22:33, 19 июля 2009 (UTC)

Подкаталоги из API[править код]

Перечитал весь mediawiki API и так и не нашел запроса для получения всех подкаталогов из данного каталога. Подскажите, пожалуйста, как можно их вытянуть из API --Ashik talk 09:38, 2 июля 2009 (UTC)

Что понимается под каталогом? — Claymore 09:39, 2 июля 2009 (UTC)
Упс, категория конечно :-) --Ashik talk 09:59, 2 июля 2009 (UTC)
Пример: «action=query&list=categorymembers&cmtitle=Категория:Физики&cmnamespace=14». Конечно, запрос возвращает только подкатегории заданной категории, а не рекурсивно все подкатегории. Для получения всех подкатегорий любого уровня вложенности лучше использовать CatScan и CatScan 2.0. — Claymore 10:19, 2 июля 2009 (UTC)
Палец вверх Спасибо Это то, что нужно. --Ashik talk 15:52, 2 июля 2009 (UTC)

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

Перенесено со страницы Википедия:Заявки на статус бота/Lunobot2.
    • А для проставления интервик нужно иметь ботов во всех проектах?--Mariluna 05:19, 2 июля 2009 (UTC)
      • Ну не обязательно. Если в конфиге указать только ру.вики, то правки будут идти только тут. rubin16 06:01, 2 июля 2009 (UTC)
      • В конфигурационном файле нужно указать, в каких разделах бот должен работать. Если указать раздел, в котором бот без флага, то при правках в таком разделе выдаётся предупреждение, что бот без флага и может быть заблокирован. Если там всего несколько правок, то это не проблема, но при массовых изменениях могут дать по ручкам. Если указать только наш раздел, то и правки будут только тут. Но и это уже хорошо. — Obersachse 07:37, 2 июля 2009 (UTC)

что значит в SUL статус unattached? — Дмитрий Никитин 10:53, 1 июля 2009 (UTC)

Неподключён, неприсоединён. Но иногда там данные ошибочные. — Obersachse 11:06, 1 июля 2009 (UTC)
Залогиньтесь вручную из под аккаунта бота в те разделы, где unattached… потом статус обычно нормально показывает rubin16 11:15, 1 июля 2009 (UTC)
Удивительно, но у меня те разделы, где стоит статус unattached не прописаны в user-config.py. Как он их нашёл -- не понятно. — Дмитрий Никитин 11:30, 1 июля 2009 (UTC)
Есть вероятность, что эти аккаунты были созданы не вами, и именно поэтому они не присоединены. --217.118.66.102 08:47, 2 июля 2009 (UTC)

Подскажите как залогиниться сразу ко всем викам, которые разрешают global-ботов. Допустим, что список таким вики есть.

Не хочется три десятка раз вводить пароль руками.

что то типа

for w in ab af ka ... zu; do
 echo "password" | python login.py -lang:$w
done;

не помогло

Сорри, надо читать help.
python login.py -all -pass:password

Вопрос снят. — Дмитрий Никитин 10:49, 1 июля 2009 (UTC)

Помогите[править код]

Когда в командной строке просит запрос пароля, то пароль не набирается. Есть ли другие способы запустить бота? Чистополь 07:58, 30 июня 2009 (UTC)

У меня так-же, не смотря на то что его не видно при наборе, пароль набирается. --Latitude 08:24, 30 июня 2009 (UTC)

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

Перенесено на страницу Википедия:Запросы к ботоводам.

--Latitude 11:14, 29 июня 2009 (UTC)

Боты на C#[править код]

Кто нибудь, когда нибудь слышал о ботах написанных на C# для Википедии, есть где нибудь примеры кода ? SergeyJ 02:38, 23 июня 2009 (UTC)

en:API.php#Microsoft_.NET --Ashik talk 04:22, 23 июня 2009 (UTC)
cм. Википедия:БотДмитрий Никитин 04:31, 23 июня 2009 (UTC)
MaxBet9000Bot работает на фреймворке DotNetWikiBot (на этой странице есть короткий пример). По конкретным вопросам можете обратиться ко мне. --MaxBet 06:46, 23 июня 2009 (UTC)
  • А есть что нибудь с открытым кодом (сами библиотеки) ? SergeyJ 21:53, 23 июня 2009 (UTC)
  • Похоже, что DotNetWikiBot имеет открытый код, а вот библиотеку от ClaymoreBot скачать не удалось ... SergeyJ 22:06, 23 июня 2009 (UTC)
  • Не, намахаловка :) в DotNetWikiBot открытый код только частично, скорее для документации - а жаль ... Может есть другие варианты ? SergeyJ 02:47, 24 июня 2009 (UTC)
    В смысле? DotNetWikiBot выпущен под MIT (исходный код), SharpMediaWiki я публикую под BSD (исходники в ZIP). Я бы пока рекомендовал вам начать с DotNetWikiBot, а когда появятся нетривиальные задачи — перейти на мою библиотеку. — Claymore 07:13, 24 июня 2009 (UTC)
    В смысле некомпилится, из-за недостаточности кода. Например, нету класса HttpUtility. А можно в кратце пояснить, что есть MIT и BSD и чем они отличаются? SergeyJ 15:08, 24 июня 2009 (UTC)
    Вам нужно добавить в проект ссылку (Reference) на System.Web.dll, после этого должно собираться. MIT и BSD — свободные лицензии, которые фактически разрешают делать с исходным текстом что угодно, требуя только не забывать указывать авторов в модифицированных версиях. — Claymore 15:51, 24 июня 2009 (UTC)
    Спасибо, что-то я не подумал, что это системный класс. SergeyJ 16:03, 24 июня 2009 (UTC)

Еще одна проблема с кодировкой[править код]

Каким способом можно исправить неправильную кодировку русских букв? (см. ниже)

Updating links on page [[ru:'?ў?а-RЎ - вбЄЁc RЄаг?]].
No changes needed

Заранее спасибо. Mondalor 03:28, 16 июня 2009 (UTC)

Помогает?Obersachse 05:59, 16 июня 2009 (UTC)
Да, помогло. Теперь мучаюсь с другим.
Сегодня я решил обновить Python и скрипты Pywikipedia. Теперь при запуске файла login.py программа вылетает со следующей ошибкой:
Traceback (most recent call last):
  File "C:\Python\pywikipedia\login.py", line 55, in <module>
    import wikipedia, config
  File "C:\Python\pywikipedia\wikipedia.py", line 6491, in <module>
    getSite(noLogin=True)
  File "C:\Python\pywikipedia\wikipedia.py", line 6373, in getSite
    persistent_http=persistent_http)
  File "C:\Python\pywikipedia\wikipedia.py", line 4372, in __init__
    self.family = Family(fam, fatal = False)
  File "C:\Python\pywikipedia\wikipedia.py", line 4183, in Family
    myfamily = __import__('%s_family' % fam)
  File "C:\Python\pywikipedia\families\wikipedia_family.py", line 3, in <module>

    import family, config
  File "C:\Python\pywikipedia\family.py", line 3395
    'oc': [u'redireccion'],
       ^
SyntaxError: invalid syntax
Что самое странное, не помогает ни восстановление системы, ни повторная переустановка программы. Python версии 2.6.2. и находится в папке C:\
Надеюсь на помощь опытных ботоводов. Mondalor 06:07, 16 июня 2009 (UTC)
Скорее всего разработчики напортачили. Попробуйте более старую версию. — Claymore 06:18, 16 июня 2009 (UTC)
К сожалению, не помогло. Python абсолютно такой же конфигурации, что и был у меня ранее, сейчас он не работает. Mondalor 06:41, 16 июня 2009 (UTC)
Python-то наверняка работает как надо. Я имел в виду вернуться на старую версию скриптов. — Claymore 07:06, 16 июня 2009 (UTC)
Мне кажется, или тут только одна версия скриптов (текущая)? Во всяком случае, обновил. Ситуация та же. Mondalor 07:17, 16 июня 2009 (UTC)
Спасибо за консультацию! Проблему буду решать позже, так как ухожу в непродолжительный вики-отпуск. Mondalor 07:35, 16 июня 2009 (UTC)
Поставьте запятую в конце строчки «'no': [u'omdirigering']» в family.py. См. дифф. Ночная сборка с фиксом будет доступна сегодня вечером-завтра утром. — Claymore 07:39, 16 июня 2009 (UTC)

Польская вики[править код]

Получаю вот такую вот ошибку

WARNING: Your account on wikipedia:pl is blocked. Editing using this account will stop the run.
Dump uk (wikipedia) saved                                                                      
Traceback (most recent call last):                                                             
  File "../../wiki/pywikipedia/interwiki.py", line 2156, in <module>                           
    bot.run()                                                                                  
  File "../../wiki/pywikipedia/interwiki.py", line 1865, in run                                
    self.queryStep()                                                                           
  File "../../wiki/pywikipedia/interwiki.py", line 1843, in queryStep                          
    subj.finish(self)                                                                          
  File "../../wiki/pywikipedia/interwiki.py", line 1401, in finish                             
    if self.replaceLinks(page, new, bot):                                                      
  File "../../wiki/pywikipedia/interwiki.py", line 1577, in replaceLinks                       
    status, reason, data = page.put(newtext, comment = mcomment)                               
  File "/export1/wiki/pywikipedia/wikipedia.py", line 1386, in put                             
    self.site().checkBlocks(sysop = sysop)                                                     
  File "/export1/wiki/pywikipedia/wikipedia.py", line 4464, in checkBlocks                     
    raise UserBlocked('User is blocked in site %s' % self)                                     
wikipedia.UserBlocked: User is blocked in site wikipedia:pl

посмотрел на SUL, блокировки не увидел. Залез в польскую вики, изменений в журнале блокировок касающихся моего бота тоже не нашел. В чем может быть проблема? Из репозитория обновился. — Дмитрий Никитин 14:28, 15 июня 2009 (UTC)

Заблокирован из за бага 19207. не ясно почему это не отражается на SUL — Дмитрий Никитин 14:36, 15 июня 2009 (UTC)

Помощь нужна[править код]

Перенесено со страницы Обсуждение участника:Obersachse.

Здравствуйте, уважаемый Obersachse!

Пишу Вам как заслуженному ботоводу. У меня возникла небольшая проблема, надеюсь, Вы мне поможите.

Дело в том, что я хочу завести бота. Прочитав m:Using the python wikipediabot, я скачал программу Python и набор скриптов; всё распаковал на рабочий стол. Затем я создал файлы user-config.py и user-fixes.py. В качестве имени (аккаунта) бота прописал свой (аккаунт бота создам пото́м). Запускаю файл login.py, ввожу пароль от своего аккаунта. Скрипт выдает ошибку и автоматически закрывается. То же самое происходит, когда я открываю любой другой скрипт, например, interwiki.py.

Если Вам не трудно, подскажите, что я сделал не так.

С уважением, Mondalor 13:11, 12 июня 2009 (UTC)

Что написано в файлах user-config.py и user-fixes.py? Какую ошибку выдаёт скрипт? — Obersachse 13:42, 12 июня 2009 (UTC)
Написал --Mondalor 14:07, 12 июня 2009 (UTC)

Содержание файла user-config.py:
# -*- coding: utf-8  -*-

# This is an automatically generated file. You can find more configuration     parameters in 'config.py' file.

# The family of sites we are working on. wikipedia.py will import
# families/xxx_family.py so if you want to change this variable,
# you need to write such a file.
family = 'wikipedia'

# The language code of the site we're working on.
mylang = 'ru'

# The dictionary usernames should contain a username for each site where you
# have a bot account.
usernames['wikipedia']['ru'] = u'Mondalor'


############## LOGFILE SETTINGS ##############

# Defines for which scripts a logfile should be enabled. Logfiles will be
# saved in the 'logs' subdirectory.
# Example:
#     log = ['interwiki', 'weblinkchecker', 'table2wiki']
# It is also possible to enable logging for all scripts, using this line:
#     log = ['*']
# To disable all logging, use this:
#     log = []
# Per default, logging of interwiki.py is enabled because its logfiles can
# be used to generate so-called warnfiles.
# This setting can be overridden by the -log or -nolog command-line arguments.
log = ['interwiki']


############## INTERWIKI SETTINGS ##############

# Should interwiki.py report warnings for missing links between foreign
# languages?
interwiki_backlink = True

# Should interwiki.py display every new link it discovers?
interwiki_shownew = True

# Should interwiki.py output a graph PNG file on conflicts?
# You need pydot for this: http://dkbza.org/pydot.html
interwiki_graph = False

# Specifies that the robot should process that amount of subjects at a time,
# only starting to load new pages in the original language when the total
# falls below that number. Default is to process (at least) 100 subjects at
# once.
interwiki_min_subjects = 100

# If interwiki graphs are enabled, which format(s) should be used?
# Supported formats include png, jpg, ps, and svg. See:
# http://www.graphviz.org/doc/info/output.html
# If you want to also dump the dot files, you can use this in your
# user-config.py:
# interwiki_graph_formats = ['dot', 'png']
# If you need a PNG image with an HTML image map, use this:
# interwiki_graph_formats = ['png', 'cmap']
# If you only need SVG images, use:
# interwiki_graph_formats = ['svg']
interwiki_graph_formats = ['png']

# You can post the contents of your autonomous_problems.dat to the wiki,
# e.g. to http://de.wikipedia.org/wiki/Wikipedia:Interwiki-Konflikte .
# This allows others to assist you in resolving interwiki problems.
# To help these people, you can upload the interwiki graphs to your
# webspace somewhere. Set the base URL here, e.g.:
# 'http://www.example.org/~yourname/interwiki-graphs/'
interwiki_graph_url = None

# Save file with local articles without interwikis.
without_interwiki = False

# Experimental feature:
# Store the page contents on disk (/cache/ directory) instead of loading
# them in RAM.
interwiki_contents_on_disk = False


############## SOLVE_DISAMBIGUATION SETTINGS ############
#
# Set disambiguation_comment[FAMILY][LANG] to a non-empty string to override
# the default edit comment for the solve_disambiguation bot.
# Use %s to represent the name of the disambiguation page being treated.
# Example:
#
# disambiguation_comment['wikipedia']['en'] = \
#    "Robot-assisted disambiguation ([[WP:DPL|you can help!]]): %s"

sort_ignore_case = False


############## IMAGE RELATED SETTINGS ##############
# If you set this to True, images will be uploaded to Wikimedia
# Commons by default.
upload_to_commons = False


############## TABLE CONVERSION BOT SETTINGS ##############

# will split long paragraphs for better reading the source.
# only table2wiki.py use it by now
splitLongParagraphs = False
# sometimes HTML-tables are indented for better reading.
# That can do very ugly results.
deIndentTables = True
# table2wiki.py works quite stable, so you might switch to True
table2wikiAskOnlyWarnings = True
table2wikiSkipWarnings = False


############## WEBLINK CHECKER SETTINGS ##############

# How many external links should weblinkchecker.py check at the same time?
# If you have a fast connection, you might want to increase this number so
# that slow servers won't slow you down.
max_external_links = 50

report_dead_links_on_talk = False


############## DATABASE SETTINGS ##############
db_hostname = 'localhost'
db_username = 'wikiuser'
db_password = ''


############## SEARCH ENGINE SETTINGS ##############

# Some scripts allow querying Google via the Google Web API. To use this feature,
# you must install the pyGoogle module from http://pygoogle.sf.net/ and have a
# Google Web API license key. Note that Google doesn't give out license keys
# anymore.
google_key = ''

# Some scripts allow using the Yahoo! Search Web Services. To use this feature,
# you must install the pYsearch module from http://pysearch.sourceforge.net/
# and get a Yahoo AppID from http://developer.yahoo.com
yahoo_appid = ''

# To use Windows Live Search web service you must get an AppID from
# http://search.msn.com/developer
msn_appid = ''


############## COPYRIGHT SETTINGS ##############

# Enable/disable search engine in copyright.py script
copyright_google = True
copyright_yahoo = True
copyright_msn = False

# Perform a deep check, loading URLs to search if 'Wikipedia' is present.
# This may be useful to improve number of correct results. If you haven't
# a fast connection, you might want to keep they disabled.
copyright_check_in_source_google = False
copyright_check_in_source_yahoo = False
copyright_check_in_source_msn = False

# Web pages may content a Wikipedia text without 'Wikipedia' word but with
# typical '[edit]' tag result of copy & paste procedure. You can want no
# report for this kind of URLs, even if they are copyright violation.
# However, when enabled these URLs are logged in a file.

copyright_check_in_source_section_names = False

# Limit number of queries for page.
copyright_max_query_for_page = 25

# Skip a specified number of queries
copyright_skip_query = 0

# Number of attempts on connection error.
copyright_connection_tries = 10

# Behavior if an exceeded error occur.
#
# Possibilities:
#
#    0 = None
#    1 = Disable search engine
#    2 = Sleep (default)
#    3 = Stop

copyright_exceeded_in_queries = 2
copyright_exceeded_in_queries_sleep_hours = 6

# Append last modified date of URL to script result
copyright_show_date = True

# Append length of URL to script result
copyright_show_length = True

# By default the script try to identify and skip text that contents a wide
# comma separated list or only numbers. But sometimes that might be the
# only part unmodified of a slightly edited and not otherwise reported
# copyright violation. You can disable this feature to try to increase
# number of results.

copyright_economize_query = True


############## FURTHER SETTINGS ##############

# The bot can make some additional changes to each page it edits, e.g. fix
# whitespace or positioning of interwiki and category links.

# This is an experimental feature; handle with care and consider re-checking
# each bot edit if enabling this!
cosmetic_changes = False

# If cosmetic changes are switched on, and you also have several accounts at
# projects where you're not familiar with the local conventions, you probably
# only want the bot to do cosmetic changes on your "home" wiki which you
# specified in config.mylang and config.family.
# If you want the bot to also do cosmetic changes when editing a page on a
# foreign wiki, set cosmetic_changes_mylang_only to False, but be careful!
cosmetic_changes_mylang_only = True

# Use the experimental disk cache to prevent huge memory usage
use_diskcache = False

# Retry loading a page on failure (back off 1 minute, 2 minutes, 4 minutes
# up to 30 minutes)
retry_on_fail = True

# End of configuration section


Содержание файла user-fixes.py:
# -*- coding: utf-8  -*-

#
# This is only an example. Don't use it.
#

fixes['example'] = {
    'regex': True,
    'msg': {
        '_default':u'no summary specified',
    },
    'replacements': [
        (ur'\bword\b', u'two words'),
    ]
}

Содержание ошибки:

Logging in to wikipedia:ru as Mondalor
Traceback (most recent call last):
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\pywikipedia\login.py
", line 316, in <module>
    main()
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\pywikipedia\login.py
", line 312, in main
    loginMan.login()
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\pywikipedia\login.py
", line 248, in login
    cookiedata = self.getCookie()
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\pywikipedia\login.py
", line 166, in getCookie
    response, data = self.site.postData(address, self.site.urlEncode(predata))
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\pywikipedia\wikipedi
a.py", line 4681, in postData
    self._getUserData(data, sysop = sysop)
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\pywikipedia\wikipedi
a.py", line 4843, in _getUserData
    blocked = self._getBlock(sysop = sysop)
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\pywikipedia\wikipedi
a.py", line 4480, in _getBlock
    % self.api_address(), sysop=sysop)
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\pywikipedia\wikipedi
a.py", line 4732, in getUrl
    if self.cookies(sysop = sysop):
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\pywikipedia\wikipedi
a.py", line 4511, in cookies
    self._loadCookies(sysop = sysop)
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\pywikipedia\wikipedi
a.py", line 4538, in _loadCookies
    fn = config.datafilepath('login-data', tmp)
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\pywikipedia\config.p
y", line 515, in datafilepath
    return makepath(os.path.join(base_dir, *filename))
  File "C:\Documents and Settings\Loner\Рабочий стол\Python\lib\ntpath.py", line
 108, in join
    path += "\\" + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 32: ordinal
 not in range(128)
У меня стоит Python версии 2.6.2 --Mondalor 15:49, 12 июня 2009 (UTC)
Для начала попробуйте переместить сам Python и pywikipedia куда-нибудь, где не встречается кириллицы в пути к скрипту. — Claymore 15:56, 12 июня 2009 (UTC)
Палец вверх Спасибо. Ошибок вроде больше не выдаёт. Если что — обращусь снова. --Mondalor 16:18, 12 июня 2009 (UTC)
То есть, кириллица в пути была виновата? — Obersachse 19:37, 12 июня 2009 (UTC)
Да. Mondalor 04:52, 13 июня 2009 (UTC)

Pywikipedia — cosmetic_changes.py[править код]

Перенесено со страницы Обсуждение Википедии:Бот.

Подскажите, как одновременно (в рамках одной правки) применять к странице два скрипта, например, интервики и косметический. Я встречал такое у нескольких ботов — Dirl 07:53, 12 июня 2009 (UTC)

  • В user-config.py нужно указать

cosmetic_changes = True

Ну и чтобы такие правки были только в ру.вики

cosmetic_changes_mylang_only = True

rubin16 08:11, 12 июня 2009 (UTC)

есть такой скрипт reflinks.py. Делает следующее diff1 или diff2

изменения, которые нужно сделать, чтобы заработал в ру-вики

Index: reflinks.py
===================================================================
--- reflinks.py (revision 6925)
+++ reflinks.py (working copy)
@@ -50,6 +50,7 @@
             'hu':'User:Damibot/EditThisPageToStopMe',
             'en':u'User:DumZiBoT/EditThisPageToStopMe',
             'zh':u'User:Sz-iwbot',
+            'ru':u'User:D\'ohBot/refLinks',
 }

 msg = { 'fr':u'Bot: Correction des refs. mal formatées, suppression doublons en utilisant des références nommées (cf. [[Utilisateur:DumZiBoT/liensRefs|explications]])',
@@ -59,6 +60,7 @@
         'es':u'Formateando las referencias que no tuvieran títulos (FAQ : [[:en:User:DumZiBoT/refLinks]] )',
         'it':u'Bot: Sistemo note con collegamenti esterni senza titolo ([[Utente:Màrço27Bot/refLinks.py|documentazione]])',
         'en':u'Bot: Converting bare references, using ref names to avoid duplicates, see [[User:DumZiBoT/refLinks|FAQ]]',
+        'ru':u'Bot: Добавление описания для внешних ссылок внутри тегов ref, см. [[User:D\'ohBot/refLinks|reflinks.py]]',
 }

 deadLinkTag = {'fr':u'[%s] {{lien mort}}',
@@ -76,6 +78,7 @@
            'es':u'Título generado por un bot',
            'en':u'Bot generated title',
            'it':u'Titolo generato automaticamente',
+           'ru':u'Название сгенерировано ботом',
            'ar':u'عنوان مولد بالبوت'}

 soft404 = re.compile(ur'\D404(\D|\Z)|error|errdoc|Not.{0,3}Found|sitedown|eventlog', re.IGNORECASE)
Index: noreferences.py
===================================================================
--- noreferences.py     (revision 6925)
+++ noreferences.py     (working copy)
@@ -143,6 +143,9 @@
         u'Veja também',
         u'Notas',
     ],
+    'ru': [
+        u'Ссылки',
+    ],
     'zh':[
         u'外部連结',
         u'外部链接',
@@ -226,6 +229,12 @@
         u'Ligações externas',
         u'Veja também',
     ],
+    'ru': [
+        u'Примечания',
+        u'Сноски',
+        u'Источники',
+        u'Источники информации',
+    ],
     'zh':[
         u'參考文獻',
         u'参考文献',
@@ -262,6 +271,7 @@
                u'Bron3',u'ref',u'references',u'appendix',
                u'Noot',u'FootnotesSmall'],
         'pl': [u'przypisy', u'Przypisy'],
+        'ru': [u'Примечания', u'примечания', u'список примечаний', u'Список примечаний', u'references', u'reflist'],
         'zh': [u'Reflist'],
     },
 }

Требуется подгонка, проверка, тестирование. Регулярный запуск на дампе, а не на живой вики. Аналогично как это делается в en,de-wiki — Дмитрий Никитин 15:17, 28 мая 2009 (UTC)

одна из проблем -- неправильная кодировкаДмитрий Никитин 16:48, 28 мая 2009 (UTC)
  • Эт-то точно. Если кто не заметил - заменил name= с кириллицей на своий name=, да ещё и без кавычек. При этом (см. в 131-й строке) не тронул name="". -- AVBtalk 06:47, 29 мая 2009 (UTC)
то что заменил name= с кириллицей это так по алгоритму положено. Допустим есть два одинаковых ref, но name у них разных. Вот он дублирующим и присваивает свои номера вместо того, чтобы сравнивать name и решать какой из нескольких равных вставить и какой добавлять туда, где name пропущен.
по поводу "без кавычек" ткните меня где написано что правильный вики синтаксис это с кавычками. Я такого не видел. Так что без кавычек это так же правильно как и без. — Дмитрий Никитин 13:29, 29 мая 2009 (UTC)
он решил что name="" это такая же ссылка с именем "дублирующиеся двойные кавычки". Правильно ли это или нет -- не знаю — Дмитрий Никитин 13:29, 29 мая 2009 (UTC)
  • это так по алгоритму положено - ну и неправильно положено. Или кириллица в name= запрещена? два одинаковых ref - позвольте, о чём это вы? В данном случае name= в ref с уникальной ссылкой и избыточным (более нигде неиспользуемым name=) скрипт заменил на свой name=. Как я понимаю, потому, что ему почему-то кириллица не понравилась. Вот он дублирующим и присваивает свои номера - с чего бы это? Если есть два дублирующих ref, нужно взять name= от того ref, где есть name=, или от любого из этих дубликатов - но не генерить свой. Свой name= нужен только если других name= нет. сравнивать - а нет необходимости сравнивать. Если все name= будут совпадать (как оно и должно быть), замена шила на шило ничего не поменяет.
c латиницей работает. Осталось наладить кириллицу — Дмитрий Никитин 23:47, 31 мая 2009 (UTC)
  • с кавычками - а разве аргументы параметры любых тегов не должны быть с кавычками? (Это даже если опустить "нюанс", что вариант типа width=25% в таблицах викификатором портится).
  • Правильно ли это или нет -- не знаю - возможно, такое пустое имя и допустимо, но, как правило, является следствием ошибки, когда пустой name="" не убирается после вставки тега, и это приводит к потере сносок (поскольку сноски с разным содержимым начинают друг-друга перекрывать). Вообще-то, я об этом на РДБ писал (вы должны были это видеть), предлагая ботоводам работу, но увы, никто не откликнулся, и тема спокойненько ушла в архив. -- AVBtalk 07:36, 30 мая 2009 (UTC)

Заливка на commons[править код]

Просьба к ботам -- скоро уже год, а просьба еще, видимо, актуальна. Предлагаю обсудить. Возможно есть сторонние источники тех же гербов, но в вектороном формате и лучшего качества. Данее эти гербы нужно будет добавить в русские статьи. — Дмитрий Никитин 14:05, 28 мая 2009 (UTC)

Существует ли стандартный иструмент переноса изображений на commons? Есть ли причина, почему продвинутая de-wiki еще этого не сделала? — Дмитрий Никитин 14:05, 28 мая 2009 (UTC)

Так вроде ж pywikipedia может заливать картинки? Хотя лучше б на коммонс... Тут имеется скриптик, но наверное лучше было бы, если б у кого-то был собственный бот на викискладе. Нет у нас ни у кого? Wind 14:27, 28 мая 2009 (UTC)
Есть инструменты для массовой загрузки изображений — commons:commons:commonist, commons:User:Nichalp/Upload script, m:Imageharvest.py. Есть инструменты переноса из Википедии на Викисклад — imagecopy.py (в составе pywikipedia), http://toolserver.org/~magnus/commonshelper.php --Butko 14:28, 28 мая 2009 (UTC)
У меня commonist не работает, кто скажет в чем ошибка? См. http://commons.wikimedia.org/wiki/User:Agent001/gallery --Agent001 20:14, 17 июня 2009 (UTC)
Так он там пишет в описании ошибки, что то имя файла неудачное, то расширения нет. Ещё commonist не загружает, если такой файл уже есть под другим именем --Butko 09:44, 18 июня 2009 (UTC)
Имя файла может блокироваться из-за commons:MediaWiki:Titleblacklist --Butko 12:42, 18 июня 2009 (UTC)
Хорошо попробую другое имя. А почему в списке нет ruWiki?--Agent001 12:55, 18 июня 2009 (UTC)
См. Commons:Commons:Tools/Commonist/Other Wikis --Butko 09:11, 24 июня 2009 (UTC)

Перемешивание интервик[править код]

Почему стандартный pywikipedia/interwiki.py бот перемешивает интервики в польской вики? diff ? — Дмитрий Никитин 13:21, 27 мая 2009 (UTC)

Видимо потому что запущен из uk-wiki, а там сортировка интервик по умолчанию по значению, а не по ключу.
Потому что в файле wikipedia_family.py для польского определён порядок сортировки self.alphabetic, а сам этот порядок определён в файле family.py. Неважно, откуда запущен бот. --Volkov (?!) 13:33, 27 мая 2009 (UTC)

Вопрос номер 2, как сделать так, чтобы бот учитывал порядок сортировки интервик, принятый в вике, которую он правит, а не из которой запущен? Как происходит синхронизация статей между uk и ru если у них разные правила сортировки интервик? Бот каждый раз сбивает сортировку в другом разделе? — Дмитрий Никитин 13:26, 27 мая 2009 (UTC)

Бот и так учитывает (должен во всяком случае учитывать) порядок, определённый для конкретного языка. Это раздел self.interwiki_putfirst в файле wikipedia_family.py --Volkov (?!) 13:33, 27 мая 2009 (UTC)
Спасибо, помогли. Я добавлял интервики за другим ботом, который их проставил сортирую по ключу, а не по значению. Получилось, что я их стал перемешивать. Видимо другой бот был не из pywikipedia. — Дмитрий Никитин 15:40, 27 мая 2009 (UTC)

Дата проверки внешних источников[править код]

Можно ли, в принципе, сделать следующую вешь? У нас довольно много ссылок оформлено через шаблон {{citeweb}}, и, я надеюсь, будет ещё больше. В этом шаблоне есть параметр даты проверки. Эту дату, естественно, единожды ставят при добавлении источника, а потом её годами никто не проверяет. Нельзя ли запустить какого-нибудь бота, проверяющего изредка источники (скажем, раз в полгода-год будет достаточно). Если проблем нет, можно ставить новую дату. Если проблемы есть (страница отсутствует, либо заменена перенаправлением), ставить на страницу обсуждения соответсвующую пометку. Пишу тут, так как интересна для начала потенциальная возможность такой работы. --Yaroslav Blanter 16:22, 26 мая 2009 (UTC)

  • Вероятно, будут всплывать различные проблемы. Бот никак не может определить, содержится ли нужная нам информация в источнике (это ведь не ИИ) — а она может исчезнуть и не только под стандартными ошибками (а будем ли мы считать различные 3xx редиректы за ошибку? А если оно редиректит на нужную информацию?). Другое дело — поиск битых ссылок по ошибкам типа 404. —LimeHat 17:26, 26 мая 2009 (UTC)
    Я думаю, если есть какие-то проблемы с редиректом, надо просто оставлять сообщение и проверять вручную. А вот от удаления информации со страницы, конечно, это не спасёт.--Yaroslav Blanter 17:56, 26 мая 2009 (UTC)
  • Я против данного предложения, искусственный интеллект ещё не дорос до того, чтобы читать текст по ссылке и пытаться определить, соответствует он тематике статьи или там уже открылась какая-то коммерческая компания. Вот что можно было бы сделать - это проверять, живая ли ссылка в принципе и, если нет, автоматически проставлять {{deadlink}}. Хотя и здесь могут быть проблемы - например, сайт может лежать на момент проверки и подняться сразу после. (Хитрыми эвристиками типа скрытой категоризации свежих deadlink можно это слегка улучшить, но всё равно это не гарантированный результат). -- AVBtalk 07:16, 27 мая 2009 (UTC)
  • На самом деле идея хорошая и вполне реализуемая. Нужно только сразу же после проверки человеком добавлять в шаблон ещё и контрольную сумму проверенной страницы (ботом, конечно), а потом просто проверять, не изменилась ли контрольная сумма. И если изменилась, то отправлять на проверку человеком. Wind 13:36, 27 мая 2009 (UTC)
    Не пройдёт. Завтра там изменится баннер, мета-тэг, что-нибудь ещё — и всё. А если в этом источнике вобще никогда и не существовало этой информации? —LimeHat 13:46, 27 мая 2009 (UTC)
    Баннер не повлияет на контрольную сумму. Ну а то, что информации никогда не существовало, это уже на совести добавившего ссылку. В любом случае очевидно, что без какого-то механизма мы руками столько ссылок, сколько есть, не сможем постоянно поддерживать на актуальном уровне. Wind 13:51, 27 мая 2009 (UTC)
    Смотря как изменится :-) По-моему, это не критически важно постоянно обновлять эти даты. А чтобы они обновлялись — надо к этому приучать пользователей. Мы же не патрулируем статьи ботами... —LimeHat 14:02, 27 мая 2009 (UTC)
    Так речь же не идёт об регулярном обновлении даты per se. Важнее просто знать, что источник всё ещё доступен и соответсвует оригинальному. И тут как раз бот может помочь. Wind 14:08, 27 мая 2009 (UTC)
    Может, заодно поручить роботу выборочную веб-архивацию ресурсов, на которые стоят ссылки? Хотя бы с «хороших» и «избранных». А то напишешь статью, проставишь интерактивные ref-ссылки, через какое-то время проверяешь - а они не работают. Хорошо, если страница переехала, а бывает что вообще падает, а альтернативных источников для подтверждения той же информации нет - и что тогда делать? Удалять информацию? --Олег (Scorpion-811) 14:40, 27 мая 2009 (UTC)
    Может. Только для этого нужно придумать, где её хранить. Wind 14:42, 27 мая 2009 (UTC)
    Может быть, вот здесь?. Сможет ли робот подавать автоматические запросы на архивацию веб-страниц на этом хранилище? --Олег (Scorpion-811) 15:22, 27 мая 2009 (UTC)
в pywikipedia eсть бот weblinkcheker.py который похоже делает то что нужно. — Дмитрий Никитин 18:40, 27 мая 2009 (UTC)
This bot is used for checking external links found at the wiki. It checks
several pages at once, with a limit set by the config variable
max_external_links, which defaults to 50.

The bot won't change any wiki pages, it will only report dead links such that
people can fix or remove the links themselves.

The bot will store all links found dead in a .dat file in the deadlinks
subdirectory. To avoid the removing of links which are only temporarily
unavailable, the bot ONLY reports links which were reported dead at least
two times, with a time lag of at least one week. Such links will be logged to a
.txt file in the deadlinks subdirectory.

After running the bot and waiting for at least one week, you can re-check those
pages where dead links were found, using the -repeat parameter.

In addition to the logging step, it is possible to automatically report dead
links to the talk page of the article where the link was found. To use this
feature, set report_dead_links_on_talk = True in your user-config.py, or
specify "-talk" on the command line. Adding "-notalk" switches this off
irrespective of the configuration variable.
Это поиск мёртвых ссылок. —LimeHat 19:00, 27 мая 2009 (UTC)
я понимаю, что и именно это и требуется, не смена же параметра accessdate в {{cite web}} являлась главной целью запроса. — Дмитрий Никитин 20:46, 27 мая 2009 (UTC)
Ну я не знаю, главной или не главной, но вся суть дискуссии, в общем-то, в этом. Обсуждается предложение проверять источник, и, если "всё хорошо", менять дату, а если нет, то делать что-нибудь ещё. —LimeHat 20:58, 27 мая 2009 (UTC)

Сообщения для fixes.py[править код]

Помогите перевести сообщения для pywikipedia Участник:Dnikitin/Перевод. Esperanto, украинский, белорусский. Если кто имеет доступ к репозиторию, то сразу закомитте изменения. — Дмитрий Никитин 17:08, 25 мая 2009 (UTC)

Украинский добавил, надо бы ещё белорусский. Wind 14:59, 26 мая 2009 (UTC)
Добавил и белорусский. Но надо проверить бы, потому что мои знания белорусского точно не выше, чем be-1. :) Wind 15:04, 26 мая 2009 (UTC)

перенесено со страницы Обсуждение участника:Maximaximax

В отличие от других ботов, ваш бот пока не поддерживает размещение link ga после категорий (см.). Надо бы исправить. -- AVBtalk 21:41, 22 мая 2009 (UTC)

Согласен. Не подскажете, как это сделать? Я использую стандартный pywikipediabot, revision 6915, новее вроде нет. Есть какой-то параметр, который я должен выставить? MaxiMaxiMax 01:15, 23 мая 2009 (UTC)
  • Ой-ёй-ёй, не у того спрашиваете, "чукча читатель, чучка не писатель"... в смысле, для меня боты - чёрные ящики. Полагаю, вам лучше спросить на только что созданном форуме ботоводов. -- AVBtalk 05:22, 23 мая 2009 (UTC)

Так что же всё-таки нужно настроить в pywikipedia чтобы правильно выставлялись link ga, etc? MaxiMaxiMax 11:37, 23 мая 2009 (UTC)

В наборе скриптов есть featured.py, который этим занимается. Правда, я не знаю, что нужно сделать, чтобы он выполнялся вместе с interwiki.py. — Claymore 11:06, 25 мая 2009 (UTC)

user-fixes.py[править код]

Есть такой user-fixes.py

# -*- coding: utf-8  -*-

fixes['test'] = {
    'regex': True,
    'msg': {
       'ru':u'Bot: автозамены, викификация',
    },
    'replacements': [
        #  == u'А' ==
        (ur'\b(А|а)б+р[ие]в[ие]атур(а(?:ми?|х)?|у|ы|ой|е)?\b', ur'\1ббревиатур\2'),  # line 1
        (ur'\b(А|а)к+[уоа]мулятор(а(?:ми?|х)?|у|о[мв]|е|ы)?\b', ur'\1ккумулятор\2'), # line 2
    ],
}

Получаю ошибку

dn156283@bash$ python ../../wiki/pywikipedia/replace.py -file:files.data -fix:test
Getting 2 pages from wikipedia:ru...
Traceback (most recent call last):
  File "../../wiki/pywikipedia/replace.py", line 705, in <module>
    main()
  File "../../wiki/pywikipedia/replace.py", line 701, in main
    bot.run()
  File "../../wiki/pywikipedia/replace.py", line 376, in run
    new_text = self.doReplacements(new_text)
  File "../../wiki/pywikipedia/replace.py", line 344, in doReplacements
    allowoverlap=self.allowoverlap)
  File "/export1/wiki/pywikipedia/wikipedia.py", line 3494, in replaceExcept
    replacement = replacement[:groupMatch.start()] + match.group(groupID) + replacement[groupMatch.end():]
TypeError: coercing to Unicode: need string or buffer, NoneType found

Файл files.data выглядит так

[[Марафон]]

Если закомметировать строчку 2 (line 2) в user-fixes.py то все проходит и ошибки нет. Так же ошибки нет, если запускать с параметром -page, а не -file

dnikitin@bash$ python ../../wiki/pywikipedia/replace.py -page:Марафон -fix:test
Getting 1 pages from wikipedia:ru...
No changes were necessary in [[Марафон]]

Как исправить и что такого неправильного в user-fixes.py? — Дмитрий Никитин 12:15, 21 мая 2009 (UTC)

У меня была подобная проблема, но я не стал исследовать причину, а просто бросил дело. — Obersachse 12:23, 21 мая 2009 (UTC)
А если упростить строчку в
(ur'\b(А|а)к+[уоа]мул+ятор(\w*)\b', ur'\1ккумулятор\2'),
? --Volkov (?!) 12:29, 21 мая 2009 (UTC)
Аналогично в
        (ur'\b(С|с)[еи]р[еи]ал(а(?:ми?|х)?|о[вм]|е|ы)?\b', ur'\1ериал\2'),
Спасибо. \w решило проблему. — Дмитрий Никитин 12:57, 21 мая 2009 (UTC)
Все ломалось на слове аккумулятор. Важно, то что нет окончания и \2 равно null в этом случае возникает ошибка. Как пофиксить кроме как во всех случаях заменять на \w не знаю. А менять руками не хочется. — Дмитрий Никитин 13:51, 21 мая 2009 (UTC)

Выпавшие боты[править код]

В связи с событиями у нас вроде как выпало два ботовода с их ботами, которые делали полезные действия. Может быть, следует составить список того, что ещё не начали делать другие и распределить эти задачи? Wind 17:17, 19 мая 2009 (UTC)

РобоСтася и Secretary выпали, один отвечал за «связность», другой за ВП:КУ, обновление страниц порталов… что еще? rubin16 18:24, 19 мая 2009 (UTC)
У Secretary была ещё функция удаления просроченного шаблона {{пишу}}. Я этим занимаюсь сейчас. Кто готов поплнять списки новых статей? Wind 22:09, 19 мая 2009 (UTC)
Хотелось бы знать детали. Ничего не знаю о вышеназванных ботах. Больше конкретики. — Дмитрий Никитин 22:18, 19 мая 2009 (UTC)
Для начала можно взглянуть на вклад: Secretary, РобоСтася. Страницу ВП:КУ и схожие сейчас обновляет замечательный ClaymoreBot. Связностью вроде бы занялся U-bot (участник Rave), но не знаю в каком объёме и насколько успешно. За обновление новых статей в порталах вроде бы пока не взялся никто; вот тут был один из первых запросов на такую работу: Википедия:Запросы к ботоводам/Архив/5#Музыкальные статьи по дате и времени создания. — AlexSm 22:32, 19 мая 2009 (UTC)
U-bot работает успешно и даже нарушает допустимое количество правок в минуту для такой работы. А вообще те кто работает с AWB и есть желание выполнять такую работу спросите Голема (Обсуждение участника:Голем#Связность) как настроить бота, он помогал Львовой в этом деле. --Latitude 09:20, 20 мая 2009 (UTC)

Интеграция pywikimedia и AWB[править код]

Возможно ли к pywikimedia прикрутить стандартные замены викификатора из AWB? Нужно для того, чтобы при любом действии pywiki-bot'а еще происходили фоновая викификация и стандартные замены. — Дмитрий Никитин 08:02, 19 мая 2009 (UTC)

replace.py с параметром -fix:syntax кое-что может исправить. Но по-моему полного эквивалента возможностям AWB ещё никто не создал, хотя это должно быть возможным. См. также это. — Obersachse 12:52, 19 мая 2009 (UTC)

Аргумент -regex и установленные командной строкой замены будут игнорироваться при использованиии этого параметра -fix.

-- поэтому -fix в "фоновом" режиме не получится использовать. — Дмитрий Никитин 16:50, 19 мая 2009 (UTC)
Да пропишите все свои regexp'ы просто в этом fixes.py или user-fixes.py среди тех фиксов, которые собираетесь использовать. По сути, это просто способ выполнить за раз несколько разных regexp'ов. Wind 17:16, 19 мая 2009 (UTC)
Собственно, я уже нашел тут аналог AWB на питоне: PyAutoWikiBrowser. Он, судя по всему, ещё очень альфа, но может быть, если порыться в исходниках, можно вытащить что-то толковое? В любом случае стоит его попробовать. Wind 14:11, 19 мая 2009 (UTC)
Нашёл мануал к нему - en:Wikipedia:PyAutoWikiBrowser rubin16 14:02, 4 июня 2009 (UTC)
  • Если речь идёт о заменах, выполняемых в AWB, то средствами pywikipedia это прекрасно делается с помощью user-fixes.py. Набор замен может быть самым разнообразным (орфография, форматирование и т.п.) --Volkov (?!) 17:04, 19 мая 2009 (UTC)
А ок, то есть сгенерить user-fixes.py и добавить туда автозамены из Википедия:AutoWikiBrowser/Typos. Спасибо. Попробую. А как насчет того, чтобы выполнялись такие действия как сортировка интервик, "категории перед интервиками" и так далее, что там еще делает AWB — Дмитрий Никитин 17:40, 19 мая 2009 (UTC)
Вроде cosmetic_changes.py этим занимается. — Obersachse 18:05, 19 мая 2009 (UTC)
cosmetic_changes.py все активно ругают. Пользоваться только этим скриптом, на мой взгляд, нет большого смысла - только лишняя нагрузка на сервера. В крайнем случае гонять одновременно с другими полезными скриптами. --Volkov (?!) 18:19, 19 мая 2009 (UTC)
Нужно в user-config.py прописать и тогда при любом запуске скрипта из pywikipedia будут совершаться косметические изменения.
cosmetic_changes = True
Правда тут же пишут, что

# This is an experimental feature; handle with care and consider re-checking
# each bot edit if enabling this!

А это настораживает, потому что не хочется каждую правку бота проверять.

Если верить написанному costemic-changes умеет упорядочивать интервики и категории. То что надо. — Дмитрий Никитин 19:42, 19 мая 2009 (UTC)
Так в самом первом сообщении темы как раз об этом и речь: каждой правкой бота исправить сразу побольше всего. — AlexSm 18:24, 19 мая 2009 (UTC)
Так "побольше всего" зависит только от фантазии и от объема user-fixes.py --Volkov (?!) 18:28, 19 мая 2009 (UTC)
Я создал user-fixes.py (Копия АWB-Typos Участник:Dnikitin/user-fixes.py)
fixes['AWB-Typos'] = {
    'regex': True,
    'msg': {
       'ru':u'Bot: автозамены, викификация',
    },
    'replacements': [
        # == А ==
        (ur'\b(А|а)б+р[ие]в[ие]атур(а(?:ми?|х)?|у|ы|ой|е)?\b', ur'\1ббревиатур\2'),
...

но при попытке запустить

python replace.py "это заменить" "на это"

-- автозамены не происходят

а если запускать с -fix

python replace.py "это заменить" "на это" -fix:AWB-Typos

валится с ошибкой о том, что -fix не может быть использовано вместе с replace

File "../../wiki/pywikipedia/replace.py", line 707, in <module>
    main()
  File "../../wiki/pywikipedia/replace.py", line 591, in main
    'Specifying -fix with replacements is undefined')
wikipedia.Error: Specifying -fix with replacements is undefined
dnikitin@bash:/export/wikipedia/bot$ python ../../wiki/pywikipedia/replace.py -page:Википедия:Песочница -fix:AWB-Typos "автозамен" "замен"
Checked for running processes. 1 processes currently running, including the current process.
Traceback (most recent call last):
  File "../../wiki/pywikipedia/replace.py", line 707, in <module>
    main()
  File "../../wiki/pywikipedia/replace.py", line 591, in main
    'Specifying -fix with replacements is undefined')
wikipedia.Error: Specifying -fix with replacements is undefined
  • Нужно просто
    python replace.py -fix:AWB-Typos
    
    Что на что менять скрипт возьмёт из файла user-fixes.py --Volkov (?!) 18:56, 19 мая 2009 (UTC)
Понятно, что так будет работать, но в результате будут замены из файла и больше ничего. Ситуация другая -- хочется что то делать и в добавок еще и замены из user-fixes.py тащить.
Или вы имеете ввиду, что текущую замену "это" → "то" добавить в user-fixes и так запускать?
Да, в user-fixes можно сложить сколько угодно замен, и все они будут выполняться за один проход бота. "Что-то ещё", кроме замен, с этим скриптом не получится, но замены можно настраивать по своему вкусу самые разнообразные. --Volkov (?!) 19:15, 19 мая 2009 (UTC)
  • Грубо говоря, структура user-fixes такая:
# python replace.py -fix:my_fixes -start:!

fixes['my_fixes'] = {
       'regex': True,
       'msg': {
              'ru':u'меняю шило на мыло...'
             },
       'replacements': [
#### start replacements ####
(ur'\bшило\b', ur'мыло'),	
#### end replacements ####
       ],	# end replacements
#### start exceptions #####
		'exceptions': {
            'inside-tags': [
                'nowiki',
                'comment',
            ], # end 'inside-tags'
	'text-contains': [
		r'\{\{[Ii]nuse',
			], # end 'text-contains'
            'inside': [
#### WIKI ELEMENTS #####
ur'<code>.*</code>', 			# because of code examples

#### EXCEPTIONS #####
u'Шило',	# не менять Большое Шило :)

            ], # end 'inside'
		}, # end 'exceptions'
#### end exceptions #####
   } # end 'my_fixes'

Кстати, не стоит забывать про секцию exceptions - туда можно записывать исключения. --Volkov (?!) 19:37, 19 мая 2009 (UTC)

Я скопировал из АWB/Typos Участник:Dnikitin/user-fixes.py Замечания, дополнения? — Дмитрий Никитин 19:45, 19 мая 2009 (UTC)
Одобрение :-) — Obersachse 20:04, 19 мая 2009 (UTC)

Проблема с кодировкой[править код]

Windows Vista, pywikipediabot. У ботовода проблемы с кодировкой. Прошу знающих решение высказаться там.Obersachse 18:07, 10 мая 2009 (UTC)

Рекомендации Юному ботоводу[править код]

Обращаюсь сюда, так как эту страницу читают ботоводы. Надо бы страницу Участник:Obersachse/Рекомендации Юному ботоводу дополнить, придумать хорошее название и перенести в пространство «Помощь». — Obersachse 10:17, 30 апреля 2009 (UTC)