CINXE.COM
User:SDZeroBot - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-not-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>User:SDZeroBot - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-not-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat": "dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"3936b453-6139-4157-901e-83001e7a8c3c","wgCanonicalNamespace":"User","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":2,"wgPageName":"User:SDZeroBot","wgTitle":"SDZeroBot","wgCurRevisionId":1256089058,"wgRevisionId":1256089058,"wgArticleId":63301750,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Active Wikipedia bots","All Wikipedia bots","Wikipedia bots running on Wikimedia Toolforge","Wikipedia bots with JavaScript source code published"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"User:SDZeroBot","wgRelevantArticleId":63301750,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRelevantUserName":"SDZeroBot","wgNoticeProject":"wikipedia" ,"wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={ "ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.tablesorter.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["site","mediawiki.page.ready","jquery.tablesorter","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.tablesorter.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="noindex,follow,max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="User:SDZeroBot - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/User:SDZeroBot"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=User:SDZeroBot&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/User:SDZeroBot"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-2 ns-subject mw-editable page-User_SDZeroBot rootpage-User_SDZeroBot skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=User%3ASDZeroBot" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=User%3ASDZeroBot" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=User%3ASDZeroBot" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=User%3ASDZeroBot" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">User</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">SDZeroBot</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="This article exist only in this language. Add the article for other languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-0" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">Add languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="uls-after-portlet-link"></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-user" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/User:SDZeroBot" title="View the user page [c]" accesskey="c"><span>User page</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/User_talk:SDZeroBot" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/User:SDZeroBot"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=User:SDZeroBot&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=User:SDZeroBot&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/User:SDZeroBot"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=User:SDZeroBot&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=User:SDZeroBot&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/User:SDZeroBot" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/User:SDZeroBot" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-contributions" class="mw-list-item"><a href="/wiki/Special:Contributions/SDZeroBot" title="A list of contributions by this user"><span>User contributions</span></a></li><li id="t-log" class="mw-list-item"><a href="/wiki/Special:Log/SDZeroBot" title="A list of logged actions by this user"><span>User logs</span></a></li><li id="t-userrights" class="mw-list-item"><a href="/wiki/Special:UserRights/SDZeroBot"><span>View user groups</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=User:SDZeroBot&oldid=1256089058" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=User:SDZeroBot&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FUser%3ASDZeroBot"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FUser%3ASDZeroBot"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=User%3ASDZeroBot&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=User:SDZeroBot&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects emptyPortlet" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Wikipedia editing bot run by SD0001</div><style data-mw-deduplicate="TemplateStyles:r1238436933">.mw-parser-output .ombox{margin:4px 0;border-collapse:collapse;border:1px solid #a2a9b1;background-color:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box;color:var(--color-base,#202122)}.mw-parser-output .ombox.mbox-small{font-size:88%;line-height:1.25em}.mw-parser-output .ombox-speedy{border:2px solid #b32424;background-color:#fee7e6}.mw-parser-output .ombox-delete{border:2px solid #b32424}.mw-parser-output .ombox-content{border:1px solid #f28500}.mw-parser-output .ombox-style{border:1px solid #fc3}.mw-parser-output .ombox-move{border:1px solid #9932cc}.mw-parser-output .ombox-protection{border:2px solid #a2a9b1}.mw-parser-output .ombox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .ombox .mbox-image{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .ombox .mbox-imageright{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .ombox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ombox .mbox-invalid-type{text-align:center}@media(min-width:720px){.mw-parser-output .ombox{margin:4px 10%}.mw-parser-output .ombox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;width:238px}}body.skin--responsive .mw-parser-output table.ombox img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .ombox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .ombox-speedy{background-color:#310402}}</style><table class="plainlinks ombox ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><a href="/wiki/File:Crystal_Clear_accepted_bot.png" class="mw-file-description" title="This is a bot account."><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ee/Crystal_Clear_accepted_bot.png/75px-Crystal_Clear_accepted_bot.png" decoding="async" width="75" height="75" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ee/Crystal_Clear_accepted_bot.png/113px-Crystal_Clear_accepted_bot.png 1.5x, //upload.wikimedia.org/wikipedia/commons/e/ee/Crystal_Clear_accepted_bot.png 2x" data-file-width="128" data-file-height="128" /></a></span></td><td class="mbox-text"><b>This <a href="/wiki/Wikipedia:Sockpuppetry#Legit" title="Wikipedia:Sockpuppetry">user account</a> is a <a href="/wiki/Wikipedia:Bots" title="Wikipedia:Bots">bot</a><span class="nowrap"> </span>that uses <a href="/wiki/Node.js" title="Node.js">Node.js</a>,<span class="nowrap"> </span>operated by <a href="/wiki/User:SD0001" title="User:SD0001">SD0001</a> (<a href="/wiki/User_talk:SD0001" title="User talk:SD0001">talk</a>).</b><span class="nowrap"> </span>It is used to make repetitive <a href="/wiki/Wikipedia:Bots/Dictionary#Automated_editing" title="Wikipedia:Bots/Dictionary">automated</a> or <a href="/wiki/Wikipedia:Bots/Dictionary#Assisted_editing" title="Wikipedia:Bots/Dictionary">semi-automated</a> edits that would be extremely tedious to do manually, in accordance with the <a href="/wiki/Wikipedia:Bot_policy" title="Wikipedia:Bot policy">bot policy</a>. The bot is approved and currently active – the relevant <a href="/wiki/Wikipedia:BOTAPPROVAL" class="mw-redirect" title="Wikipedia:BOTAPPROVAL">request for approval</a>(s) or tasks can be seen <a href="/wiki/Special:PrefixIndex/Wikipedia:Bots/Requests_for_approval/SDZeroBot" title="Special:PrefixIndex/Wikipedia:Bots/Requests for approval/SDZeroBot">here</a>. <br /><small> <span class="sysop-show"><i>Administrators: if this bot is malfunctioning or causing harm, please <a class="external text" href="https://en.wikipedia.org/w/index.php?title=Special:Block&wpTarget=SDZeroBot&wpExpiry=indefinite&wpHardBlock=0&wpAutoBlock=0&wpCreateAccount=0&wpReason=other&wpReason-other=Bot%20malfunctioning:%20">block it</a>.</i></span></small></td><td class="mbox-imageright"></td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238436933"><table class="plainlinks ombox ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><a href="/wiki/File:Toolforge_logo_with_text.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Toolforge_logo_with_text.svg/40px-Toolforge_logo_with_text.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Toolforge_logo_with_text.svg/60px-Toolforge_logo_with_text.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/89/Toolforge_logo_with_text.svg/80px-Toolforge_logo_with_text.svg.png 2x" data-file-width="225" data-file-height="225" /></a></span></td><td class="mbox-text"><b>This <a href="/wiki/Wikipedia:Bot_policy" title="Wikipedia:Bot policy">bot</a> runs on <a href="https://wikitech.wikimedia.org/wiki/Portal:Toolforge" class="extiw" title="wikitech:Portal:Toolforge">Wikimedia Toolforge</a>.</b> <small>It runs on the <a class="external text" href="https://toolsadmin.wikimedia.org/tools/id/sdzerobot">sdzerobot</a> tool account (<a class="external text" href="https://k8s-status.toolforge.org/namespaces/tool-sdzerobot/">k8s-status</a> · <a rel="nofollow" class="external text" href="https://grafana.wmcloud.org/d/TJuKfnt4z/kubernetes-namespace?orgId=1&var-namespace=tool-sdzerobot">k8s grafana</a>).</small> <small class="sysop-show"><br /><i>Administrators: If this bot needs to be blocked due to a malfunction, please remember to disable autoblocks so that other Toolforge bots are not affected.</i></small></td></tr></tbody></table> <div style="display:inline-flex; flex-direction:row; align-items: center; background-color: #e0e0e0; border-radius: 4px; border: 1px solid #49acca; float: right; clear: right; box-shadow: 0 2px 1px rgba(0,0,0,0.1); margin: 5px 10px;"> <div style="padding: 7px 10px; background-color: white; border-radius: 4px 0 0 4px;"><span typeof="mw:File"><a href="/wiki/File:Coolest_Tool_Award_2020_square_logo.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Coolest_Tool_Award_2020_square_logo.svg/120px-Coolest_Tool_Award_2020_square_logo.svg.png" decoding="async" width="120" height="121" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Coolest_Tool_Award_2020_square_logo.svg/180px-Coolest_Tool_Award_2020_square_logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Coolest_Tool_Award_2020_square_logo.svg/240px-Coolest_Tool_Award_2020_square_logo.svg.png 2x" data-file-width="1565" data-file-height="1583" /></a></span></div> <div style="text-align:center; padding: 5px 10px;"> <p style="margin-top: 0;">SDZeroBot</p> <p style="font-family: Impact, Charcoal, sans-serif; text-transform: uppercase; line-height:1.1;"> <a href="https://meta.wikimedia.org/wiki/Coolest_Tool_Award" class="extiw" title="m:Coolest Tool Award"><span style="font-size: 18px; color: #666666;"><span style="color: #49acca">2020</span> Coolest Tool</span><br /><span style="font-size: 22px; color: black;">Award Winner</span></a> </p> <p style="line-height:1.1; margin-bottom: 0;"> <span style="font-size:smaller">in the category</span> <br /> <span style="font-weight:bold;color:#49acca;">Newcomer</span> </p> </div> </div> <div style="position: absolute; top: 3.5em; width: 150px; right: 2em;"><figure class="mw-halign-right" typeof="mw:File"><a href="/wiki/Wikipedia:List_of_cabals#Bot_Cabal" title="Wikipedia:List of cabals"><img alt="There is no Cabal" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/05/Cabal_approved.svg/150px-Cabal_approved.svg.png" decoding="async" width="150" height="66" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/05/Cabal_approved.svg/225px-Cabal_approved.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/05/Cabal_approved.svg/300px-Cabal_approved.svg.png 2x" data-file-width="765" data-file-height="339" /></a><figcaption></figcaption></figure></div> <p>SDZeroBot runs on <a href="/wiki/Node.js" title="Node.js">Node.js</a> and uses the <a rel="nofollow" class="external text" href="https://github.com/siddharthvp/mwn"><b>mwn</b></a> bot framework, also developed by <a href="/wiki/User:SD0001" title="User:SD0001">SD0001</a>. Most tasks are written in <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a>, while the newer ones are in <a href="/wiki/TypeScript" title="TypeScript">TypeScript</a>. The source code is available on <a rel="nofollow" class="external text" href="https://github.com/siddharthvp/SDZeroBot">GitHub</a>. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238436933"><table class="plainlinks ombox ombox-content" role="presentation" style="border:1px solid #B22222; display: table-cell;"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><a href="//en.wikipedia.org/wiki/User:SDZeroBot/Shutoff" title="Emergency block button"><img alt="Emergency block button" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8c/Shutdown_button.svg/40px-Shutdown_button.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8c/Shutdown_button.svg/60px-Shutdown_button.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8c/Shutdown_button.svg/80px-Shutdown_button.svg.png 2x" data-file-width="48" data-file-height="48" /></a></span></td><td class="mbox-text">Please use <a href="/wiki/User:SDZeroBot/Shutoff" title="User:SDZeroBot/Shutoff">User:SDZeroBot/Shutoff</a> for shutting off specific bot tasks. If the bot appears to be malfunctioning across multiple tasks, it should be blocked.</td></tr></tbody></table> <div class="mw-heading mw-heading2"><h2 id="Tasks">Tasks</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:SDZeroBot&action=edit&section=1" title="Edit section: Tasks"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Reports">Reports</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:SDZeroBot&action=edit&section=2" title="Edit section: Reports"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div style="clear:both;" class=""></div> <table class="wikitable sortable"> <tbody><tr> <th>Report</th> <th>Description</th> <th>Frequency</th> <th>Last update</th> <th>Logs </th></tr> <tr> <td><a href="/wiki/Wikipedia:User_scripts/Most_imported_scripts" title="Wikipedia:User scripts/Most imported scripts">WP:User scripts/Most imported scripts</a></td> <td>List of user scripts by number of users and active users</td> <td>Every 2 weeks</td> <td>15 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-mostimported">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-mostimported">err</a> </td></tr> <tr> <td><a href="/wiki/Wikipedia:AfC_sorting" title="Wikipedia:AfC sorting">WP:AfC sorting</a> +subpages</td> <td>Classification of pending AfC submissions by topics predicted by <a href="https://www.mediawiki.org/wiki/ORES" class="extiw" title="mw:ORES">ORES</a></td> <td>Every 8 hours</td> <td>24 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-afc">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-afc">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/NPP_sorting" title="User:SDZeroBot/NPP sorting">User:SDZeroBot/NPP sorting</a> +subpages</td> <td>Classification of unreviewed articles by ORES topics</td> <td>Every 12 hours</td> <td>24 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-npp">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-npp">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/PROD_sorting" title="User:SDZeroBot/PROD sorting">User:SDZeroBot/PROD sorting</a></td> <td>Classification of articles proposed for PROD deletion by ORES topics</td> <td>Every 4 hours</td> <td>24 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-prod">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-prod">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/AfD_sorting" title="User:SDZeroBot/AfD sorting">User:SDZeroBot/AfD sorting</a></td> <td>Classification of articles nominated for deletion at AfD by ORES topics</td> <td>Every 4 hours</td> <td>24 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-afd">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-afd">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/Draftify_Watch" title="User:SDZeroBot/Draftify Watch">User:SDZeroBot/Draftify Watch</a></td> <td>Tracks articles being moved to draftspace</td> <td>Weekly</td> <td>19 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-draft">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-draft">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/PROD_Watch" class="mw-redirect" title="User:SDZeroBot/PROD Watch">User:SDZeroBot/PROD Watch</a></td> <td>Tracks the status of articles proposed for deletion per <a href="/wiki/Wikipedia:PROD" class="mw-redirect" title="Wikipedia:PROD">WP:PROD</a></td> <td>Weekly</td> <td>20 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-pwatch">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-pwatch">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/Redirectify_Watch" title="User:SDZeroBot/Redirectify Watch">User:SDZeroBot/Redirectify Watch</a></td> <td>Tracks conversions of articles to redirects</td> <td>Daily</td> <td>24 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-rwatch">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-rwatch">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/G13_Watch" title="User:SDZeroBot/G13 Watch">User:SDZeroBot/G13 Watch</a></td> <td>Records excerpts of drafts that have been deleted per G13</td> <td>Daily</td> <td>24 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-g13watch">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-g13watch">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/Recent_AfC_declines" title="User:SDZeroBot/Recent AfC declines">User:SDZeroBot/Recent AfC declines</a></td> <td>Lists recently declined AFC drafts with excerpts and other data</td> <td>Daily</td> <td>24 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-declined">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-declined">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/G13_soon" title="User:SDZeroBot/G13 soon">User:SDZeroBot/G13 soon</a></td> <td>Lists drafts that would be-G13-eligible in a week</td> <td>Daily</td> <td>24 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-g131week">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-g131week">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/G13_soon_sorting" title="User:SDZeroBot/G13 soon sorting">User:SDZeroBot/G13 soon sorting</a></td> <td>Classifies soon-to-be-G13-eligible drafts by ORES topics</td> <td>Weekly</td> <td>18 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-g13-soon">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-g13-soon">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/G13_eligible" title="User:SDZeroBot/G13 eligible">User:SDZeroBot/G13 eligible</a></td> <td>Lists G13-eligible drafts with descriptions and excerpts</td> <td>Daily</td> <td>24 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-g13-elig">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-g13-elig">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/GAN_sorting" title="User:SDZeroBot/GAN sorting">User:SDZeroBot/GAN sorting</a></td> <td>Classifies articles awaiting GA review using ORES topics</td> <td>Daily</td> <td>23 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-gan">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-gan">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/Peer_reviews" title="User:SDZeroBot/Peer reviews">User:SDZeroBot/Peer reviews</a></td> <td>Annotated listing of articles for which peer review is requested</td> <td>Weekly</td> <td>19 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-peer">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-peer">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/Pending_AfC_submissions" title="User:SDZeroBot/Pending AfC submissions">User:SDZeroBot/Pending AfC submissions</a></td> <td>Lists pending AfC submissions with excerpts and other data</td> <td>Daily</td> <td>24 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-pafc">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-pafc">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/Unreferenced_BLPs" title="User:SDZeroBot/Unreferenced BLPs">User:SDZeroBot/Unreferenced BLPs</a></td> <td>Annotated listing of unreferenced BLPs, for Women in Red</td> <td>Daily</td> <td>23 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-unref">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-unref">err</a> </td></tr> <tr> <td><a href="/wiki/Wikipedia:List_of_Wikipedians_by_good_article_nominations" title="Wikipedia:List of Wikipedians by good article nominations">WP:List of Wikipedians by good article nominations</a></td> <td>List of users by most GAs</td> <td>Daily</td> <td>23 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=gans-list">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=gans-list">err</a> </td></tr> <tr> <td><a href="/wiki/User:SDZeroBot/DYK_nomination_counts.json" title="User:SDZeroBot/DYK nomination counts.json">User:SDZeroBot/DYK nomination counts.json</a></td> <td>List of users by most DYK nominations</td> <td>Continuous</td> <td>23 November 2024</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=SDZeroBot/eventstream-router/dyk-counts">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=SDZeroBot/eventstream-router/dyk-counts">err</a> </td></tr> </tbody></table> <div class="mw-heading mw-heading3"><h3 id="Other_continuous_tasks">Other continuous tasks</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:SDZeroBot&action=edit&section=3" title="Edit section: Other continuous tasks"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <table class="wikitable" style="float: right; font-size: smaller;"> <caption>Internal tracking </caption> <tbody><tr> <th scope="col" style="width: 100px;">Job</th> <th>Logs </th></tr> <tr> <td>stream</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=stream">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=stream">err</a> </td></tr> <tr> <td>routerlog</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=SDZeroBot/eventstream-router/routerlog">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=SDZeroBot/eventstream-router/routerlog">err</a> </td></tr> <tr> <td>gans</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=SDZeroBot/eventstream-router/gans">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=SDZeroBot/eventstream-router/gans">err</a> </td></tr> <tr> <td>db-tabulator</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=SDZeroBot/eventstream-router/db-tabulator-metadata">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=SDZeroBot/eventstream-router/db-tabulator-metadata">err</a> </td></tr> </tbody></table> <table class="wikitable"> <tbody><tr> <th scope="col" style="width: 100px;">BRFA</th> <th>Description</th> <th>Frequency</th> <th>Logs </th></tr> <tr> <td><a href="/wiki/Wikipedia:Bots/Requests_for_approval/SDZeroBot_6" title="Wikipedia:Bots/Requests for approval/SDZeroBot 6">BRFA</a></td> <td><a href="/wiki/User:SDZeroBot/AfD_notifier" title="User:SDZeroBot/AfD notifier">AfD notifier</a> Notify users of AfD nominations of articles to which they've significantly contributed</td> <td>Daily</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=job-notifier">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=job-notifier">err</a> </td></tr> <tr> <td><a href="/wiki/Wikipedia:Bots/Requests_for_approval/SDZeroBot_9" title="Wikipedia:Bots/Requests for approval/SDZeroBot 9">BRFA</a></td> <td><a href="/wiki/Wikipedia:Bot_activity_monitor" title="Wikipedia:Bot activity monitor">Bot activity monitor</a>: Keeps track of activity of fully automatic bots and reports the ones that are not working. Optionally also notifies the respective operators.</td> <td>Continuous</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=bot-monitor">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=bot-monitor">err</a> </td></tr> <tr> <td><a href="/wiki/Wikipedia:Bots/Requests_for_approval/SDZeroBot_10" title="Wikipedia:Bots/Requests for approval/SDZeroBot 10">BRFA</a></td> <td><span class="nowrap">{{</span><a href="/wiki/Template:Database_report" title="Template:Database report">Database report</a><span class="nowrap">}}</span>: Updates tables with result of specified SQL queries.</td> <td>Continuous</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=db-tabulator">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=db-tabulator">err</a> </td></tr> <tr> <td><a href="/wiki/Wikipedia:Bots/Requests_for_approval/SDZeroBot_12" title="Wikipedia:Bots/Requests for approval/SDZeroBot 12">BRFA</a></td> <td>Purges pages linked from <a href="/wiki/User:SDZeroBot/Purge_list" title="User:SDZeroBot/Purge list">User:SDZeroBot/Purge list</a></td> <td>Continuous</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=SDZeroBot/eventstream-router/purger">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=SDZeroBot/eventstream-router/purger">err</a> </td></tr> <tr> <td><a href="/wiki/Wikipedia:Bots/Requests_for_approval/SDZeroBot_13" title="Wikipedia:Bots/Requests for approval/SDZeroBot 13">BRFA</a></td> <td>Raise edit requests to keep gadgets in sync with upstream sources per <a href="/wiki/User:SDZeroBot/Gadgets-sync-config.json" class="mw-redirect" title="User:SDZeroBot/Gadgets-sync-config.json">User:SDZeroBot/Gadgets-sync-config.json</a>.</td> <td>Continuous</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=gadgets-sync">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=gadgets-sync">err</a> </td></tr> <tr> <td>—</td> <td>Track sizes of categories listed on <a href="/wiki/User:SDZeroBot/Category_counter" title="User:SDZeroBot/Category counter">User:SDZeroBot/Category counter</a>.</td> <td>Continuous</td> <td><a class="external text" href="https://sdzerobot.toolforge.org/logs?type=out&log=cat-count">out</a> <a class="external text" href="https://sdzerobot.toolforge.org/logs?type=err&log=cat-count">err</a> </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="One-time_/_on-demand"><span id="One-time_.2F_on-demand"></span>One-time / on-demand</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:SDZeroBot&action=edit&section=4" title="Edit section: One-time / on-demand"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <table class="wikitable"> <tbody><tr> <th scope="col" style="width: 100px;">BRFA</th> <th>Description</th> <th>Frequency </th></tr> <tr> <td><a href="/wiki/Wikipedia:Bots/Requests_for_approval/SDZeroBot" title="Wikipedia:Bots/Requests for approval/SDZeroBot">BRFA</a></td> <td>Consolidate stub tags on page where possible (replace X-stub and Y-stub with X-Y-stub or Y-X-stub if either exists)</td> <td>One-time </td></tr> <tr> <td><a href="/wiki/Wikipedia:Bots/Requests_for_approval/SDZeroBot_2" title="Wikipedia:Bots/Requests for approval/SDZeroBot 2">BRFA</a></td> <td><a href="/wiki/Wikipedia:WSS" class="mw-redirect" title="Wikipedia:WSS">Re-sort</a> geographical stub articles with more specific stub tags</td> <td>On demand </td></tr> <tr> <td>—</td> <td>Created the lists at <a href="/wiki/User:SDZeroBot/Category_cycles" title="User:SDZeroBot/Category cycles">User:SDZeroBot/Category cycles</a> identifying cycles in the category tree</td> <td>One-time </td></tr> <tr> <td><a href="/wiki/Wikipedia:Bots/Requests_for_approval/SDZeroBot_5" title="Wikipedia:Bots/Requests for approval/SDZeroBot 5">BRFA</a></td> <td>Adding <span class="nowrap">{{</span><a href="/wiki/Template:Drafts_moved_from_mainspace" title="Template:Drafts moved from mainspace">Drafts moved from mainspace</a><span class="nowrap">}}</span> to drafts that were moved from mainspace</td> <td>One-time </td></tr> <tr> <td><a href="/wiki/Wikipedia:Bots/Requests_for_approval/SDZeroBot_8" title="Wikipedia:Bots/Requests for approval/SDZeroBot 8">BRFA</a></td> <td>Adding <span class="nowrap">{{</span><a href="/wiki/Template:Set_category" title="Template:Set category">Set category</a><span class="nowrap">}}</span> to <a href="/wiki/Wikipedia:SETCAT" class="mw-redirect" title="Wikipedia:SETCAT">set categories</a>.</td> <td>On-demand </td></tr></tbody></table> <p><small>Tasks which edit only in the userspace don't require a BRFA.</small> </p> <div class="mw-heading mw-heading2"><h2 id="How_do_you_generate_article_excerpts?"><span id="How_do_you_generate_article_excerpts.3F"></span>How do you generate article excerpts?</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:SDZeroBot&action=edit&section=5" title="Edit section: How do you generate article excerpts?"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Good question. Excerpts of articles used on many of SDZeroBot's classification pages are generated using a combination of regex and some slightly more formal parsing methods. The Node.js source code used can be seen <a rel="nofollow" class="external text" href="https://github.com/siddharthvp/SDZeroBot/blob/master/TextExtractor.ts">here</a>, which also relies on <a rel="nofollow" class="external text" href="https://github.com/siddharthvp/mwn/blob/master/src/wikitext.ts">mwn's wikitext class</a>. This excerpt generator is also available as a webservice hosted on Toolforge at <a class="external free" href="https://summary-generator.toolforge.org/">https://summary-generator.toolforge.org/</a> with a horrible bare minimum UI, but a better API endpoint. See the <a rel="nofollow" class="external text" href="https://github.com/siddharthvp/summary-generator">GitHub README</a> for usage instructions. </p><p>I initially considered using the code from <a href="/wiki/Wikipedia:Navigation_popups" class="mw-redirect" title="Wikipedia:Navigation popups">popups</a>, but it was all too messy and integrated with a lot of other popups code that I couldn't get it to work standalone. </p><p>All excerpts are short enough, so that attribution and copyright concerns are avoided. </p> <div class="mw-heading mw-heading2"><h2 id="Source_code">Source code</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:SDZeroBot&action=edit&section=6" title="Edit section: Source code"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><i>All</i> source code that drives SDZeroBot is publicly available via the <a rel="nofollow" class="external text" href="https://github.com/siddharthvp/SDZeroBot">GitHub repository</a>, as well as on the /data/project/sdzerobot directory on Toolforge. Even the logs (*.out and *.err files) are publicly visible, which is by default not the case on Toolforge. The jobs.yml file used to schedule the tasks can also be viewed there. </p> <div class="mw-heading mw-heading2"><h2 id="To_do">To do</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:SDZeroBot&action=edit&section=7" title="Edit section: To do"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/User:SD0001/Scripts#To-do" title="User:SD0001/Scripts">User:SD0001/Scripts § To-do</a></div> <p>If you're interested in helping out with these tasks, please contact me. </p> <ul><li>Split certain sortlists into subtopics. <ul><li>For the <a href="/wiki/User:SDZeroBot/NPP_sorting/Culture/Sports" title="User:SDZeroBot/NPP sorting/Culture/Sports">sports list</a> (1500+ pages), use machine learning to section this list by sport.</li> <li>Split the biography list by professions - this can be done just by looking at the other topics the bios have been classified with.</li> <li>For the STEM lists, make sections for core articles, STEM biographies, STEM media, STEM companies, ... (<a href="/wiki/User_talk:SD0001#More_NPPSORT" title="User talk:SD0001">discussion</a>)</li></ul></li></ul> <ul><li>Automatically produce short descriptions for articles and drafts. <ul><li>Drafts mostly don't have short descriptions at all. They'd be <i>very</i> useful on <a href="/wiki/Wikipedia:AFCS" class="mw-redirect" title="Wikipedia:AFCS">AfC sorting</a>. Also useful for the AfD, NPP, and PROD lists.</li> <li>Explore use of machine learning for this, failing which other methods such as Trialpears' <a href="/wiki/User:PearBOT/Biography_short_descriptions/source" title="User:PearBOT/Biography short descriptions/source">bio shortdesc generator</a>.</li> <li>If that also doesn't give desired level of accuracy (esp. for non-bio articles), don't actually add the shortdescs to the article, but show it on the sortlists.</li></ul></li></ul> <ul><li>Consider creating a Toolforge-hosted web UI for AfD sorting list, so that more columns can be added (whose visibility can be toggled using javascript), based on ideas in <a href="/wiki/Wikipedia_talk:WikiProject_Women_in_Red#AfD_visualization" title="Wikipedia talk:WikiProject Women in Red">here</a>.</li> <li>Automate <a href="/wiki/Wikipedia:DELSORT" class="mw-redirect" title="Wikipedia:DELSORT">delsort tagging</a> of AfDs using ORES. Works only for select delsort lists which have a corresponding ORES topic, or</li> <li>Automate delsort taggings using some custom machine learning model. The model can be trained on basis of delsort tagging done so far by humans. Difficulty here is that unbiased training of the model requires access to content of deleted articles as well. Simply training it on articles that were kept at AfD would not give good results.</li> <li>Big one: identify promising AFC drafts using ML.</li> <li>Probably using TemplateStyles, improve the appearance of the tables on very small and very wide screens.</li> <li>Create unified lists for PROD and AFD which include <i>both</i> deletion rationale and lead text. <span typeof="mw:File"><span><img alt="Green tick" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/03/Green_check.svg/13px-Green_check.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/03/Green_check.svg/20px-Green_check.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/03/Green_check.svg/26px-Green_check.svg.png 2x" data-file-width="600" data-file-height="600" /></span></span><span style="display:none">Y</span> PROD</li> <li>Don't duplicate nomination text on AFD sorting report for multi-article nominations.</li> <li><a href="/wiki/User:SDZeroBot/Declined_AFCs" class="mw-redirect" title="User:SDZeroBot/Declined AFCs">User:SDZeroBot/Declined AFCs</a>, <a href="/wiki/User:SDZeroBot/G13_soon" title="User:SDZeroBot/G13 soon">G13 soon</a> figure out ways to better identify bad and good drafts? <ul><li>integrate unreliable source detection using <a href="/wiki/User:Headbomb/unreliable.js" title="User:Headbomb/unreliable.js">user:headbomb/unreliable.js</a></li></ul></li> <li>Create articlesearch tool – shows excerpts of articles from CirrusSearch queries – use ReactJS</li></ul> <div class="mw-heading mw-heading2"><h2 id="Tips_and_tricks_for_bot_operators">Tips and tricks for bot operators</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:SDZeroBot&action=edit&section=8" title="Edit section: Tips and tricks for bot operators"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Monitoring_failures">Monitoring failures</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:SDZeroBot&action=edit&section=9" title="Edit section: Monitoring failures"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>For each SDZeroBot task, most of the code is in an async function <a rel="nofollow" class="external text" href="https://github.com/siddharthvp/SDZeroBot/blob/e0f2606586d9005d8dc956f8dc9598c6c455dffc/reports/g13-watch/g13-watch.ts#L314">with a catch</a> that traps errors and formats it as an email sent to the tool account, which lands in my inbox. For good measure, there's also a <a rel="nofollow" class="external text" href="https://github.com/siddharthvp/SDZeroBot/blob/master/botbase.ts#L37">process-level uncaughtException handler</a>. </p><p>The only kinds of errors the above wouldn't handle are the ones that occur even before the javascript code starts executing (such as the file accidentally losing its executable permission) or <a href="/wiki/Out_of_memory" title="Out of memory">OOMs</a>, which are both handled by using <code>--emails onfailure</code> while using <a href="https://wikitech.wikimedia.org/wiki/Help:Toolforge/Jobs_framework" class="extiw" title="wikitech:Help:Toolforge/Jobs framework">Toolforge Jobs framework</a>. </p><p>In addition, for the report pages, this user page lists them above along with their last updated timestamps. Along with the expected frequency of the updates, it is fed into a <a href="/wiki/Module:User:SDZeroBot" title="Module:User:SDZeroBot">Lua module</a> which prints the timestamp in bold red if it's delayed. </p><p>There's also <a href="/wiki/Wikipedia:BAM" class="mw-redirect" title="Wikipedia:BAM">WP:BAM</a> which although maintained by SDZeroBot, is not used for monitoring itself. </p><p>A good combination of failure monitoring techniques is essential for operating bots that reliably perform a number of tasks without requiring you to spend time and energy on making sure everything is running. </p> <div class="mw-heading mw-heading3"><h3 id="Handling_blacklisted_links">Handling blacklisted links</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:SDZeroBot&action=edit&section=10" title="Edit section: Handling blacklisted links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>If SDZeroBot is unable to save an edit because it is introducing a spam-blacklisted link (which of course isn't the bot's fault since it likely just picked up the text to be added from another place), it identifies the problematic link from the API response, and removes the protocol ("http:" or "https:") from the link, and then attempts to save the page again. This does mean that a link that was supposed to look like <a rel="nofollow" class="external text" href="https://google.com">Link label</a> ends up looking like [google.com Link label], but it is closest to the original while allowing the edit to go through. Besides, the link was blacklisted anyway so probably shouldn't be clickable. </p> <div class="mw-heading mw-heading3"><h3 id="Use_OAuth">Use OAuth</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=User:SDZeroBot&action=edit&section=11" title="Edit section: Use OAuth"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Always use OAuth instead of BotPasswords. There are all these advantages: </p> <ul><li>Faster: BotPasswords requires at least 3 API calls just to get the bot off the block: one to fetch a login token, another to actually log in, and usually another one to fetch editing tokens. Since OAuth doesn't require any API call to begin the authentication, you just need one API call – to fetch the tokens.</li> <li>Lesser errors: Session loss often occurs using cookie-based authentication methods. Good bot frameworks should handle these automatically by logging in again on getting the assertbotfailed or assertuserfailed API response, but if yours doesn't, you can avoid these problems just by using OAuth. OAuth tokens don't expire.</li> <li>No need to cache cookies: If your bot task is too frequent (say every 10 minutes), you're likely to have a high login rate unless you cache the login cookies and use them across bot runs. High login rates are <a class="external text" href="https://phabricator.wikimedia.org/T256533">frowned upon by server admins</a>. Again, with OAuth, you don't have to worry about this.</li> <li>More secure: OAuth is more secure.</li></ul> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐czcdm Cached time: 20241124043657 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, no‐toc] CPU time usage: 0.285 seconds Real time usage: 0.419 seconds Preprocessor visited node count: 1060/1000000 Post‐expand include size: 18169/2097152 bytes Template argument size: 1044/2097152 bytes Highest expansion depth: 18/100 Expensive parser function count: 2/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 5307/5000000 bytes Lua time usage: 0.071/10.000 seconds Lua memory usage: 2128658/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 352.198 1 -total 26.41% 93.025 1 Template:Bot 13.97% 49.203 1 Template:Subpage_other 13.41% 47.236 1 Template:User_other 12.85% 45.254 1 Template:Short_description 9.99% 35.169 3 Template:Ombox 8.84% 31.143 1 Template:Pagetype 5.07% 17.839 1 Template:See_also 1.69% 5.968 1 Template:Tinc 1.47% 5.172 1 Template:Toolforge_bot --> <!-- Saved in parser cache with key enwiki:pcache:idhash:63301750-0!canonical and timestamp 20241124043657 and revision id 1256089058. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=User:SDZeroBot&oldid=1256089058">https://en.wikipedia.org/w/index.php?title=User:SDZeroBot&oldid=1256089058</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Active_Wikipedia_bots" title="Category:Active Wikipedia bots">Active Wikipedia bots</a></li><li><a href="/wiki/Category:All_Wikipedia_bots" title="Category:All Wikipedia bots">All Wikipedia bots</a></li><li><a href="/wiki/Category:Wikipedia_bots_running_on_Wikimedia_Toolforge" title="Category:Wikipedia bots running on Wikimedia Toolforge">Wikipedia bots running on Wikimedia Toolforge</a></li><li><a href="/wiki/Category:Wikipedia_bots_with_JavaScript_source_code_published" title="Category:Wikipedia bots with JavaScript source code published">Wikipedia bots with JavaScript source code published</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 8 November 2024, at 04:05<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=User:SDZeroBot&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-czcdm","wgBackendResponseTime":563,"wgPageParseReport":{"limitreport":{"cputime":"0.285","walltime":"0.419","ppvisitednodes":{"value":1060,"limit":1000000},"postexpandincludesize":{"value":18169,"limit":2097152},"templateargumentsize":{"value":1044,"limit":2097152},"expansiondepth":{"value":18,"limit":100},"expensivefunctioncount":{"value":2,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":5307,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 352.198 1 -total"," 26.41% 93.025 1 Template:Bot"," 13.97% 49.203 1 Template:Subpage_other"," 13.41% 47.236 1 Template:User_other"," 12.85% 45.254 1 Template:Short_description"," 9.99% 35.169 3 Template:Ombox"," 8.84% 31.143 1 Template:Pagetype"," 5.07% 17.839 1 Template:See_also"," 1.69% 5.968 1 Template:Tinc"," 1.47% 5.172 1 Template:Toolforge_bot"]},"scribunto":{"limitreport-timeusage":{"value":"0.071","limit":"10.000"},"limitreport-memusage":{"value":2128658,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-czcdm","timestamp":"20241124043657","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>