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

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

User:iEPCBM Bot[править код]

вкладправкиSULжурналыблокироватьлог блокировокжурнал изменения правприсвоить флаг

Ответственный ботовод/Botmaster: iEPCBM (обс. · вклад · журналы · блокировки · фильтры)

Цель/Purpose[править код]

Флаг бота нужен для редактирования страниц, не входящих в подстраницы ЛС бота. Бот будет заниматься обновлением количества подписчиков и просмотров тех или иных каналов YouTube в карточках {{YouTube персона}}. А в скором времени, возможно, также исправлением (согласно достигнутому консенсусу) и дополнением списков эпизодов таких передач как «This is Хорошо» и «+100500» и, возможно, других программ и сериалов, которые официально загружаются на YouTube.

Примеры правок:

  1. Special:Diff/88618227
  2. Special:Diff/88618282
  3. Special:Diff/88618348
  4. Special:Diff/88618403
  5. Special:Diff/88618568Примечание: Здесь параметр «подписчики» бот не обновил, т. к. владелец канала скрыл данную информацию.
  6. Special:Diff/88618679
  7. Special:Diff/88619191

Лог работы при правках 1–6:

Готов нести ответственность за все совершённые ботом правки.

Технические подробности/Technical details[править код]

  • бот написан на языке Python;
  • набор инструментов — Pywikibot (PWB);
  • для получения информации о канале используется GoogleAPI (Условия использования);
  • бот размещен на компьютере, но, возможно, в скором времени переселится в Wikimedia Toolforge;
  • исходный код здесь;
  • как бот работает:
  1. Бот собирает данные о количестве подписчиков и просмотров с каждого указанного в list_channels.py канала;
  2. после получения информации о количестве подписчиков и просмотров одного канала бот приостанавливает работу (в настоящий момент на 0,5 сек, см. bot_config.py: GoogleAPI_MinQuota; со временем этот параметр возможно уменьшу);
  3. округляет и добавляет "млрд", "млн" или "тыс." при необходимости;
  4. ждет подтверждения пользователя перед началом обработки N статьи (в течение 1–2 (или более) недель использования этот пункт будет стоять, чтобы отследить возможные ошибки в работе);
  5. бот приостанавливает работу (в настоящий момент на 3 сек (не учитывая квоту Википедии), см. bot_config.py: wikiMinQuota; со временем этот параметр возможно уменьшу);
  6. получает wiki-код N статьи;
  7. проверяет, защищена ли страница от ботов; если да, начинает работать со следующей статьей, начиная с пункта 4;
  8. ищет в коде шаблон {{YouTube персона}};
  9. ищет необходимые параметры (см. TemplateYouTubePerson_list.py: TemplateYouTubePerson_list_used_names);
  10. если необходимый параметр отсутствует, бот его добавляет в конец массива всех параметров;
  11. бот добавляет/изменяет значение искомых параметров требуемым образом;
  12. если в значение параметра требуется суффикс, (например, <… (основной канал)>), то он его добавляет в скобки;
  13. если значений параметра несколько, то бот их вводит маркированным списком (например:
    * значение1
    * значение2
    ) примечание: см. Special:Diff/87914863;
  14. затем бот ищет и удаляет несуществующие в шаблоне значения (согласно TemplateYouTubePerson_list.py: TemplateYouTubePerson_list);
  15. оставшиеся значения бот сортирует согласно шаблону (см. TemplateYouTubePerson_list.py: TemplateYouTubePerson_list);
  16. потом бот преобразует массив данных (параметр: значение) в текст с учетом указанных отступов (minPaddingBefore, minPaddingAfter, см. bot_config.py) и вставляет его на место прежнего шаблона с его параметрами;
  17. далее бот составляет описание изменений и, в случае превышения максимально допустимой длины (см. bot_config.py: saveDescMaxLen; 255), его обрезает и добавляет в конец символ(ы) многоточия (см. bot_config.py: dots);
  18. бот сохраняет изменения и начинает работать со следующей статьей, начиная с пункта 4;
  19. если статьей больше нет, бот ждет подтверждения пользователя и завершает работу.

Имеется флаг бота в других разделах Википедии?/Already has a bot flag in other wikipedias?[править код]

Нет.

-- iEPCBM (обс.) 21:29, 27 октября 2017 (UTC)[ответить]

Обсуждение/Discussion[править код]

  • Не вижу противопоказаний для присвоения флага. Работа полезная, так как до этого данные о подписчиках и статистике просмотров вносились вручную (при этом часто вносилась откровенная чушь). P.S.: Особенно понравилось то, что ботовод привёл подробное описание принципа работы бота и предоставил исходный код. -- Q-bit array (обс.) 21:49, 25 декабря 2017 (UTC)[ответить]

Итог/Summary[править код]

Флаг бота присвоен, удачи в работе. — Adavyd (обс.) 10:37, 3 января 2018 (UTC)[ответить]