Knowledge (XXG)

Help:Creating a bot

Source 📝

506:) content. This can be done by including a line "Accept-Encoding: gzip" in the HTTP request header; if the HTTP reply header contains "Content-Encoding: gzip", the document is in GZIP form, otherwise, it is in the regular uncompressed form. Note that this is specific to the web server and not to the MediaWiki software. Other sites employing MediaWiki may not have this feature. If you are using an existing bot framework, it should handle low-level operations like this. 146: 774: 291: 162: 1272:
bot for renaming categories. You could create an HTML form into which you will type the current and desired names of a category. When the form is submitted, your bot could read these inputs, then edit all the articles in the current category and move them to the desired category. (Obviously, any bot with a form interface would need to be secured somehow from random web surfers.)
697:, the edit token is just '+\') then the bot most likely is not logged in. This might be due to a number of factors: failure in authentication with the server, a dropped connection, a timeout of some sort, or an error in storing or returning the correct cookies. If it is not because of a programming error, just log in again to refresh the login cookies. The bots 896:, the bot will most likely be given a trial period (usually with a restriction on the number of edits or days it is to run for) during which it may actually edit to enable fine-tuning and iron out any bugs. At the end of the trial period, if everything went according to plan, the bot should get approval for full-scale operation. 1271:
can also be used for programming bots. MediaWiki developers are already familiar with PHP, since that is the language MediaWiki and its extensions are written in. PHP is an especially good choice if you wish to provide a webform-based interface to your bot. For example, suppose you wanted to create a
753:
Generally speaking, if an edit fails to complete the bot should check the page again before trying to make a new edit, to make sure the edit is still appropriate. Further, if a bot rechecks a page to resubmit a change, it should be careful to avoid any behavior that could lead to an infinite loop and
398:
Because bots access pages the same way people do, bots can experience the same kind of difficulties that human users do. They can get caught in edit conflicts, have page timeouts, or run across other unexpected complications while requesting pages or making edits. Because the volume of work done by a
647:
The editing process involves two HTTP requests. First, a request for an edit token must be made. Then, a second HTTP request must be made that sends the new content of the page along with the edit token just obtained. It is not possible to make an edit in a single HTTP request. An edit token remains
514:
Approved bots need to be logged in to make edits. Although a bot can make read requests without logging in, bots that have completed testing should log in for all activities. Bots logged in from an account with the bot flag can obtain more results per query from the MediaWiki API (api.php). Most bot
390:
Just like a human editor, a Knowledge (XXG) bot reads Knowledge (XXG) pages, and makes changes where it thinks changes need to be made. The difference is that, although bots are faster and less prone to fatigue than humans, they are nowhere near as bright as we are. Bots are good at repetitive tasks
324:
and many of these bots publish their source code, which can sometimes be reused with little additional development time. There are also a number of standard bot frameworks available. Modifying an existing bot or using a framework greatly speeds development time. Also, because these code bases are in
394:
In the most typical case, a bot logs in to its own account and requests pages from Knowledge (XXG) in much the same way as a browser does – although it does not display the page on screen, but works on it in memory – and then programmatically examines the page code to see if any changes need to be
244:
are automatic processes that interact with Knowledge (XXG) (and other Wikimedia projects) as though they were human editors. This page attempts to explain how to carry out the development of a bot for use on Wikimedia projects and much of this is transferable to other wikis based on MediaWiki. The
1158:
There are many options available for users wishing to make their code open. Hosting the code in a subpage of the bot's userspace can be a hassle to maintain if not automated and results in the code being multi-licensed under Knowledge (XXG)'s licensing terms in addition to any other terms you may
1050:
It should be easy to quickly disable your bot. If your bot goes bad, it is your responsibility to clean up after it! You could have the bot refuse to run if a message has been left on its talk page, on the assumption that the message may be a complaint against its activities; this can be checked
811:
is the task of precisely describing the software to be written, possibly in a rigorous way. You should come up with a detailed proposal of what you want it to do. Try to discuss this proposal with some editors and refine it based on feedback. Even a great idea can be made better by incorporating
1041:
If your bot is doing anything that requires judgment or evaluation of context (e.g., correcting spelling) then you should consider making your bot manually-assisted, which means that a human verifies all edits before they are saved. This significantly reduces the bot's speed, but it also
1201:
Bots can be written in almost any programming language. The choice of a language depends on the experience and preferences of the bot writer, and on the availability of libraries relevant to bot development. The following list includes some languages commonly used for bots:
908:
the internal design of your bot for the purpose of future maintenance and enhancement. This is especially important if you are going to allow clones of your bot. Ideally, you should post the source code of your bot on its userpage or in a revision control system (see
1851:– A library actively maintained and written in modern ES6 using promises (supporting async–await). This is a large library, and has classes for conveniently working with page titles and wikitext (including limited wikitext parsing capabilities). Also supports 345:
Writing a new bot requires significant programming ability. A completely new bot must undergo substantial testing before it will be approved for regular operation. To write a successful bot, planning is crucial. The following considerations are important:
844:
is concerned with making sure the software system will meet the requirements of the product as well as ensuring that future requirements can be addressed. Certain programming languages are better suited to some tasks than others, for more details see
384: 2317: 861:(or coding) involves turning design and planning into code. It may be the most obvious part of the software engineering job, but it is not necessarily the largest portion. In the implementation stage you should: 936:
and enhancing your bot to cope with newly discovered bugs or new requirements can take far more time than the initial development of the software. To ease maintenance, document your code from the beginning.
270:
It is often far simpler to request a bot job from an existing bot. If you have only periodic requests or are uncomfortable with programming, this is usually the best solution. These requests can be made at
1775:
on .NET, that allows to build programs and web robots easily to manage information on MediaWiki-powered sites. Now translated to several languages. Detailed compiled documentation is available in English.
1538:
Supports main article and file stuff. Authentication, checking if pages exist, reading and editing pages/sections. Getting file information, downloading and uploading files. Aims to be easy to use.
1259:– A fairly complete MediaWiki bot framework written in Perl. Provides a higher level of abstraction than MediaWiki::API. Plugins provide administrator and steward functionality. Currently unsupported. 1243:
from your browser. If your internet service provider provides you with webspace, the chances are good that you have access to a Perl build on the webserver from which you can run your Perl programs.
593:. The bot must save these cookies and send them back every time it makes a request (this is particularly crucial for editing). On the English Knowledge (XXG), the following cookies should be used: 952:
In addition to the official bot policy, which covers the main points to consider when developing your bot, there are a number of more general advisory points to consider when developing your bot.
888:
A good way of testing your bot as you are developing is to have it show the changes (if any) it would have made to a page, rather than actually editing the live wiki. Some bot frameworks (such as
632:
for making edits to Knowledge (XXG) pages, as well as other operations that modify existing content such as rollback. The token looks like a long hexadecimal number followed by '+\', for example:
3231: 1127:
Many bot operators choose to make their code open source, and occasionally it may be required before approval for particularly complex bots. Making your code open source has several advantages:
337:. For some of these bot frameworks, such as PWB, a general familiarity with scripts is all that is necessary to run the bot successfully (it is important to update these frameworks regularly). 1115:
If the bot is fully automated and performs regular edits, you should periodically check it runs as specified, and its behaviour has not been altered by software changes. Consider adding it to
2736: 787:
The first task in creating a Knowledge (XXG) bot is extracting the requirements or coming up with an idea. If you don't have an idea of what to write a bot for, you could pick up ideas at
275:. In addition, there are a number of tools available to anyone. Most of these take the form of enhanced web browsers with MediaWiki-specific functionality. The most popular of these is 3348: 1180: 2059: 325:
common usage and are maintained community projects, it is far easier to get bots based on these frameworks approved for use. The most popular and common of these frameworks is
3069: 1418:
Base library for interaction with the MediaWiki API, provides you with ways to handle logging in, out and handling tokens as well as easily getting and posting requests.
921:
You should be ready to respond to queries about or objections to your bot on your user talk page, especially if it is operating in a potentially sensitive area, such as
333:. It is thoroughly documented and tested and many standardized Pywikibot scripts (bot instructions) are already available. Other examples of bot frameworks can be found 399:
bot is larger than that done by a live person, the bot is more likely to encounter these issues. Thus, it is important to consider these situations when writing a bot.
245:
explanation is geared mainly towards those who have some prior programming experience, but are unsure of how to apply this knowledge to creating a Knowledge (XXG) bot.
91: 2641: 2480: 876:
Create a user page for your bot. Your bot's edits must not be made under your own account. Your bot will need its own account with its own username and password.
253:
Bots can automate tasks and perform them much faster than humans. If you have a simple task that you need to perform lots of times (an example might be to add a
1991: 766:
Actually, coding or writing a bot is only one part of developing a bot. You should generally follow the development cycle below to ensure that your bot follows
3074: 3010: 279:(AWB), a browser specifically designed to assist with editing on Knowledge (XXG) and other Wikimedia projects. A mostly complete list of tools can be found at 1089:, unless the edits are set to indicate a bot. Once the bot has been approved and given its bot flag permission, one can add "bot=True" to the API call - see 879:
Add the same information to the user page of the bot. It would be a good idea to add a link to the approval page (whether approved or not) for each function.
320:
If you decide you need a bot of your own due to the frequency or novelty of your requirements, you don't need to write one from scratch. There are already a
2897: 2838: 869:
when logged in to create the account, linking it to yours. (If you do not create the bot account while logged in, it is likely to be blocked as a possible
185:; rather, its purpose is to explain certain aspects of Knowledge (XXG)'s norms, customs, technicalities, or practices. It may reflect differing levels of 1134:
Others can use your code to build their own bots. A user new to bot writing may be able to use your code as an example or a template for their own bots.
407:
In order to make changes to Knowledge (XXG) pages, a bot necessarily has to retrieve pages from Knowledge (XXG) and send edits back. There are several
988:
whenever possible, and set the query limits to the largest values that the server permits, to minimize the total number of requests that must be made.
2693: 2571: 2052: 3256: 979:
If writing a bot in a framework that does not support maxlag, limit the total requests (read and write requests together) to no more than 10/minute.
131: 3129: 2651: 1785:, is a library of stuff useful for bots, such as generating lists, loading/editing articles, connecting to the recent changes IRC channel and more. 1176: 3401: 3330: 3198: 3183: 2688: 2566: 1069:
Just like a human, if your bot makes edits to a talk page on Knowledge (XXG), it should sign its post with four tildes (~~~~). Signatures belong
976:
with a maximum lag of 5 seconds. This will enable the bot to run quickly when server load is low, and throttle the bot when server load is high.
941: 86: 2624: 515:
frameworks should handle login and cookies automatically, but if you are not using an existing framework, you will need to follow these steps.
2490: 1910: 717:
eventually get caught in an edit conflict of one sort or another, and should include some mechanism to test for and accommodate these issues.
648:
the same for the duration of a logged-in session, so the edit token needs to be retrieved only once and can be used for all subsequent edits.
55: 1131:
It allows others to review your code for potential bugs. As with prose, it is often difficult for the author of code to adequately review it.
794:
Make sure an existing bot isn't already doing what you think your bot should do. To see what tasks are already being performed by a bot, see
3210: 3064: 3059: 2818: 2087: 991:
Edit (write) requests are more expensive in server time than read requests. Be edit-light and design your code to keep edits to a minimum.
586:
where TOKEN is the token from the previous result. The HTTP cookies from the previous request must also be passed with the second request.
3273: 3166: 2629: 2045: 424:). This library was specifically written to permit automated processes such as bots to make queries and post changes. Data is returned in 182: 1648:– A Python-2 only lightweight bot framework that uses the MediaWiki API exclusively for getting data and editing, used and maintained by 1061:). Or you could have a page that will turn the bot off when changed; this can be checked by loading the page contents before each edit. 3203: 3134: 2998: 2823: 2698: 1934:– API client. Last updated January 2016. Tested up to MediaWiki 1.22, was then compatible with Wikimedia wikis. Unknown if still works. 1997: 1027:
Test your code thoroughly before making large automated runs. Individually examine all edits on trial runs to verify they are perfect.
2666: 1152:
Open-source code, while rarely required, is typically encouraged in keeping with the open and transparent nature of Knowledge (XXG).
616:
Main-account login via "action=login" is deprecated and may stop working without warning. To continue login with "action=login", see
3368: 2979: 2892: 2091: 408: 124: 3363: 2927: 2159: 1987:
programming language. There are no published bot frameworks for VBScript, but some examples of bots that use it can be seen below:
1116: 913:) if you want others to be able to run clones of it. This code should be well documented (usually using comments) for ease of use. 795: 178: 119: 438:
Built-in feature of MediaWiki, available on all Wikimedia servers. Other non-Wikimedia wikis may disable or restrict write access.
2230: 3380: 3336: 3193: 3188: 2904: 2561: 454: 280: 48: 3341: 2799: 770:. Failure to comply with the policy may lead to your bot failing to be approved or being blocked from editing Knowledge (XXG). 644:
The role of edit tokens is to prevent "edit hijacking", where users are tricked into making an edit by clicking a single link.
3375: 3156: 2988: 2843: 2683: 2336: 2237: 2125: 1919: 2443: 1155:
Before sharing code, make sure that sensitive information such as passwords is separated into a file that isn't made public.
610: 3353: 3161: 2964: 2731: 2120: 1276: 356:
Will the bot's requests, edits, or other actions be logged? If so, will the logs be stored on local media, or on wiki pages?
254: 170: 2661: 1623: 1239:
If located on a webserver, you can start your program running and interface with your program while it is running via the
1013:
Back off upon receiving errors from the server. Errors such as timeouts are often an indication of heavy server load. Use
818:
The bot is harmless (it must not make edits that could be considered disruptive to the smooth running of the encyclopedia)
330: 2656: 2213: 64: 3139: 2448: 1579: 1553: 659: 3323: 3241: 2746: 2346: 2312: 2024:
started developing Lua's bot framework for Wikimedia projects. Please contact Jim Carter on their talk page to discuss.
276: 32: 3049: 2453: 1896: 1804: 1253:– Basic interface to the API, allowing scripts to automate editing and extraction of data from MediaWiki driven sites. 2954: 2914: 2828: 2285: 1883:– A simple way to access MediaWiki API via JavaScript with simple wikitext parser, using CeJS MediaWiki module. See 2974: 2947: 2804: 1750: 1142: 1000: 3406: 3099: 2858: 2307: 2115: 2105: 1693:– a preliminary (as of Feb 2019) MATLAB R2016b(9.1.x) client supporting just bot-logins and semantic #ask queries. 395:
made. It then makes and submits whatever edits it was designed to do, again in much the same way a browser would.
136: 2758: 2753: 2181: 3151: 3015: 2242: 2169: 1796: 969:. If you don't, your bot may encounter errors and may end up blocked by the technical staff at the server level. 788: 272: 81: 3005: 2782: 2539: 2428: 1706: 1240: 359:
Will the bot run inside a web browser (for example, written in JavaScript), or will it be a standalone program?
3288: 2280: 2006:– Several scripts showing the usage of VBScript (Javascript, XMLHTTP, MSHTML, XMLDOM, COM) for batch uploads. 2710: 2500: 2485: 2383: 2225: 1615:
Where possible. Excludes uploading images and other such tasks which are not currently supported by the API.
1160: 3236: 2993: 2218: 1218: 767: 41: 3079: 2705: 2544: 2329: 905: 713:
Edit conflicts occur when multiple, overlapping edit attempts are made on the same page. Almost every bot
362:
If the bot is a standalone program, will it run on your local computer, or on a remote server such as the
3293: 3084: 2922: 2863: 2196: 2083: 1148:
If you abandon the project, it allows other users to run your bot tasks without having to write new code.
190: 186: 71: 3054: 2789: 2191: 1284: 1094: 1086: 973: 841: 114: 2777: 2671: 2079: 200: 1010:
Do not make multi-threaded requests. Wait for one server request to complete before beginning another.
369:
If the bot runs on a remote server, will other editors be able to operate the bot or start it running?
257:
to all pages in a category with 1000 pages), then this is a task better suited to a bot than a human.
2833: 2770: 2505: 2393: 2361: 2259: 2031: 2003: 933: 858: 808: 617: 363: 3283: 3278: 3146: 3124: 2549: 2356: 2295: 1014: 3268: 3263: 3114: 2959: 2937: 2636: 2351: 1342: 3089: 2512: 2458: 2324: 2176: 2142: 1980: 1730: 1374: 1329: 442: 429: 101: 3306: 3301: 3178: 2603: 1792: 1484: 1196: 476:
GET request to index.php will give the unprocessed wikitext source code of a page. For example:
1778: 966: 3027: 2887: 2870: 2726: 2270: 2247: 2186: 2147: 1714: 1164: 545:
https://en.wikipedia.org/w/api.php?action=query&meta=tokens&type=login&format=json
3246: 3119: 2378: 1373:
Large framework, currently undergoing rewrite. Documentation currently non-existent, so poke
893: 870: 240: 25: 3109: 2678: 2578: 2438: 1138: 1004: 746:
attributes, and check the server responses for indications of errors. For more details, see
629: 283:. Tools, such as AWB, can often be operated with little or no understanding of programming. 3022: 2853: 2164: 2095: 1782: 1074: 821:
The bot is useful (it provides a useful service more effectively than a human editor could)
321: 3358: 3173: 2969: 2588: 2583: 2495: 2416: 2371: 2290: 2137: 2017: 1734: 1672: 1633: 1500: 889: 419: 326: 922: 755: 720:
Bots that use the Mediawiki API (api.php) should retrieve the edit token, along with the
1192: 2880: 2388: 2366: 2201: 2152: 2068: 1906: 1702: 1492: 1337: 1168: 450: 290: 1870: 773: 3395: 2932: 2813: 2741: 2646: 2465: 2411: 2403: 2275: 2208: 1649: 1423: 1382: 1333: 1310: 1090: 3215: 1228: 415: 2470: 2423: 2132: 1984: 1791:— is a portable & asynchronous MediaWiki API client library on .NET Standard. ( 1722: 1585: 1548: 1543: 840:
you might create a bot, and which programming language(s) and tools you would use.
1915: 1606:
Does not include those who worked on frameworks forked to create listed framework.
1279:
table may provide some insight into the capabilities of the major bot frameworks.
1073:
on talk namespaces with the exception of project pages used for discussion (e.g.,
502:
Some Knowledge (XXG) web servers are configured to grant requests for compressed (
1256: 1250: 609:
cookie is required to actually send an edit or commit some change, otherwise the
2341: 2021: 1948: 1931: 1788: 1589: 1413: 1387: 1224: 590: 1965: 1925: 1866: 994:
Try to consolidate edits. One single large edit is better than 10 smaller ones.
688:
https://en.wikipedia.org/w/api.php?action=query&meta=tokens&format=json
589:
A successful login attempt will result in the Wikimedia server setting several
2942: 2875: 2765: 2619: 2614: 2475: 1852: 1726: 1663: 1496: 1021: 962: 702: 1668: 815:
In the most basic form, your specified bot must meet the following criteria:
2556: 2534: 2526: 2522: 2433: 1710: 1172: 519: 2037: 2027: 1454: 1428: 383: 1645: 747: 488:
action=query&prop=revisions&rvprop=content&rvexpandtemplates=1
2848: 2593: 2302: 1976: 1826: 1653: 693:
If the edit token the bot receives does not have the hexadecimal string (
523: 490:
is roughly equivalent, and allows for retrieving additional information.
479:
https://en.wikipedia.org/search/?title=Help:Creating_a_bot&action=raw
1880: 1768: 391:
that have easily defined patterns, where few decisions have to be made.
1758: 1718: 1677: 1659: 1210: 732:
can be used to retrieve both the token and page contents in one query (
1884: 1680:– A read-only MediaWiki API wrapper in Python, which is simple to use. 1533: 1505: 1463:
mentioned above, this adds more advanced services for the API such as
1368: 1888: 1874: 1860: 1856: 1820: 1639: 353:
Will you create the bot alone, or with the help of other programmers?
1944: 1922:. Last updated December 2017, no longer maintained, but still works. 1848: 1690: 1832: 1592:). Updated for 2010 and 2015 API changes. Supports file uploading. 453:
can be used to obtain bulk export of page content in XML form. See
1869:– An implementation of the MediaWiki JS interface in Node.js. See 1754: 1738: 1015:
a sequence of increasingly longer delays between repeated requests
772: 496:
Built-in feature of MediaWiki, available on all Wikimedia servers.
463:
Built-in feature of MediaWiki, available on all Wikimedia servers.
526:
requests are easily visible in URL, logins via GET are disabled.
3037: 1952: 1814: 1742: 1103:
to the edit/save command will set the edit as a bot edit - e.g.
985: 530: 503: 425: 2041: 1213:
is an easy language for bots small and large, including OAuth.
560:
https://en.wikipedia.org/w/api.php?action=login&format=json
3041: 1928:– API client. Last updated March 2018. Unknown if still works. 1772: 1746: 1268: 285: 156: 15: 1105:
PageObject.edit(text=pagetext, bot=True, summary=pagesummary)
1097:. In Python, using either mwclient or wikitools, then adding 382: 289: 2000:– Login, get raw watchlist, save to file, logout, close IE 1057: 734: 687: 559: 544: 537:
Request 1 – this is a GET request to obtain a login token
846: 334: 2030:
is an example using Lua to write a wikibot, created by
1175:. Knowledge (XXG) has articles comparing the different 892:) have pre-coded methods for showing diffs. During the 866: 478: 222: 215: 208: 1955:
as a query data format. Supports maxlag and assertion.
1281: 940:
Major functionality changes of approved bots must be
350:
Will the bot be manually assisted or fully automated?
1032:
Common bot features you should consider implementing
658:. Make a request with the following parameters (see 3224: 3098: 3036: 2913: 2798: 2719: 2602: 2521: 2402: 2258: 2104: 1104: 728:loading the page text in preparation for the edit; 1835:– A simple and easy-to-use Java wiki bot framework 518:For security, login data must be passed using the 484:action=query&prop=revisions&rvprop=content 306: 1823:– A Java wiki bot framework that is only one file 777:Overview of Knowledge (XXG) bot development cycle 552:Request 2 – this is a POST to complete the login 873:or unauthorised bot until you verify ownership) 2053: 1992:User:Smallman12q/Scripts/cleanuplistingtowiki 1642:– An interface for interacting with MediaWiki 651:To obtain an edit token, follow these steps: 445:for those wanting to test api.php's features. 8: 1966:http://hackage.haskell.org/package/mediawiki 904:An important (and often overlooked) task is 762:Overview of the process of developing a bot 468:Raw (Wikitext) page processing: sending an 3331:Category:Knowledge (XXG) information pages 2060: 2046: 2038: 748:MediaWiki:API:Edit - Create and Edit pages 1119:to be notified if the bot stops working. 1007:in your HTTP client library, if possible. 322:number of bots running on Knowledge (XXG) 1829:– The library used by the WPCleaner tool 824:The bot does not waste server resources. 724:and the last revision "base" timestamp, 183:Knowledge (XXG)'s policies or guidelines 1909:– API client. Actively maintained. See 1662:– An API-based framework maintained by 1636:– Probably the most used bot framework. 1599: 1584:Fork of older wikibot.classes (used by 1159:specify. A better solution is to use a 685:The URL will look something like this: 1223:Example bots in the GitHub account of 865:Create an account for your bot. Click 754:any behavior that could even resemble 705:to make sure that they are logged in. 2016:During the Lua Annual Workshop 2016, 910: 847:§ Programming languages and libraries 789:requests for work to be done by a bot 738:). When submitting the edit, set the 7: 1117:Knowledge (XXG):Bot activity monitor 1093:in order to hide the bot's edits in 948:General guidelines for running a bot 796:the list of currently operating bots 374:How does a Knowledge (XXG) bot work? 261:Considerations before creating a bot 3070:User CSS for monospaced coding font 2318:Non-admin and admin-only page moves 1671:– A wikitext parser, maintained by 1187:Programming languages and libraries 660:mw:API:Edit - Create&Edit pages 455:Manual:Parameters to Special:Export 411:(APIs) available for that purpose. 281:Knowledge (XXG):Tools/Editing tools 1998:User:Smallman12q/VBS/Savewatchlist 1920:Wikimedia Release Engineering Team 676:The token will be returned in the 638:d41d8cd98f00b204e9800998ecf8427e+\ 409:application programming interfaces 329:(PWB), a bot framework written in 14: 3402:Knowledge (XXG) information pages 1085:A bot's edits will be visible at 628:Knowledge (XXG) uses a system of 249:Why would I need to create a bot? 3011:Bug reports and feature requests 1994:– Login and give preview of edit 1947:– implements MediaWiki API as a 1737:, .NET programs can also run on 1705:is a set of languages including 1024:to ensure your bot is logged in. 613:error message will be returned. 160: 154:Knowledge (XXG) information page 144: 3324:Category:Knowledge (XXG) how-to 2839:Template sandbox and test cases 2078:Get personal technical help at 1298:PHP versions confirmed working 474:action=raw&templates=expand 2069:Knowledge (XXG) technical help 1183:, many of which have no cost. 1042:significantly reduces errors. 611:MediaWiki:Session fail preview 522:method. Because parameters of 1: 2004:Commons:User:Smallbot#Sources 965:header for your bot, per the 2694:How to improve image quality 2572:Complete diff and link guide 1885:Knowledge (XXG) bot examples 768:Knowledge (XXG)'s bot policy 273:Knowledge (XXG):Bot requests 3130:Cleaning up vandalism tools 3016:TimedMediaHandler extension 2652:Preparing images for upload 1951:package. Is planned to use 1817:– A Java wiki bot framework 1001:HTTP persistent connections 967:Wikimedia User-Agent policy 680:attribute of the response. 533:, two requests are needed: 309:to explore available tools. 3423: 3216:Beta Features at MediaWiki 2689:Basic bitmap image editing 2567:Simple diff and link guide 1779:WikiFunctions .NET library 1190: 1143:security through obscurity 529:To log a bot in using the 198: 3317: 2491:Advanced table formatting 2075: 1771:– a full-featured client 1304:Last master branch update 1217:Framework and libraries: 1181:websites for code hosting 1111:Monitoring the bot status 812:ideas from other editors. 3211:Wikimedia Cloud Services 3065:Common.js and common.css 3060:Catalogue of CSS classes 2819:Advanced template coding 2662:Options to hide an image 2088:village pump (technical) 1241:Common Gateway Interface 3335:Further navigation at: 3075:Classes in microformats 2630:Moving files to Commons 2449:Conditional expressions 1815:Java Wiki Bot Framework 1769:DotNetWikiBot Framework 1161:revision control system 1139:good security practices 656:MediaWiki API (api.php) 3135:Customizing watchlists 3050:Cascading Style Sheets 2824:Template documentation 2699:Graphics Lab resources 2642:Introduction to images 2454:Switch parser function 1197:mw:Alternative parsers 1091:mw:API:Edit#Parameters 923:fair-use image cleanup 778: 574:lgpassword=BOTPASSWORD 387: 294: 2948:File description page 2667:Extended image syntax 1095:Special:RecentChanges 1087:Special:RecentChanges 1075:articles for deletion 831:Software architecture 776: 386: 379:Overview of operation 293: 87:Requests for Approval 3407:Knowledge (XXG) bots 3199:Navigation shortcuts 3184:Alternative browsing 2182:Multilingual support 2160:How to create a page 2032:User:Alexander Misel 624:Editing; edit tokens 618:Special:BotPasswords 482:. An API query with 179:encyclopedic article 2905:Guide to Scribbling 2783:EasyTimeline syntax 2562:Simplest diff guide 2429:Line-break handling 1311:Exclusion compliant 1288: 730:prop=info|revisions 432:for more details). 341:Important questions 266:Reuse existing bots 49:Bot Approvals Group 2898:Costs and benefits 2844:Citation templates 2711:Visual file markup 2684:Graphics tutorials 2625:Creation and usage 2501:Conditional tables 2384:User contributions 2325:Notifications/Echo 2238:User access levels 2226:Special Characters 2126:Keyboard shortcuts 2034:, with simple API. 1981:scripting language 1932:MediaWiki::Gateway 1916:mediawiki/ruby/api 1731:Windows PowerShell 1461:mediawiki-api-base 1388:mediawiki-api-base 1375:User:Cyberpower678 1282: 1193:mw:API:Client code 956:Bot best practices 917:Queries/Complaints 779: 569:lgname=BOTUSERNAME 388: 295: 3389: 3388: 3369:Citation metadata 3274:Navigation popups 3232:AfC helper script 3225:Automated editing 3080:Markup validation 2965:Project/Wikipedia 2732:Graphs and charts 2706:Sound file markup 2608:videos and sounds 2471:Sections and TOCs 2271:Special page help 1918:– API client by 1789:WikiClientLibrary 1757:as well as under 1715:Visual Basic .NET 1596: 1595: 1485:chunked uploading 1477:RevisionPatroller 1277:PHP bot functions 1046:Disabling the bot 1037:Manual assistance 911:#Open-source bots 894:approvals process 565:POST parameters: 441:There is also an 313: 312: 233: 232: 152: 151: 3414: 3204:Optimum tool set 3055:HTML in wikitext 2999:User page design 2790:WikiHiero syntax 2657:Uploading images 2647:Picture tutorial 2214:Software notices 2192:Page information 2062: 2055: 2048: 2039: 1926:wikipedia-client 1669:mwparserfromhell 1616: 1613: 1607: 1604: 1483:, etc. Supports 1482: 1478: 1474: 1470: 1466: 1462: 1459:Built on top of 1289: 1177:software options 1123:Open-source bots 1106: 1101: 1060: 1054: 974:maxlag parameter 745: 741: 737: 731: 723: 690: 679: 672: 667: 580: 575: 570: 562: 547: 489: 485: 481: 475: 471: 422: 303: 286: 225: 218: 211: 171:information page 164: 163: 157: 148: 147: 120:Activity monitor 106: 100: 16: 3422: 3421: 3417: 3416: 3415: 3413: 3412: 3411: 3392: 3391: 3390: 3385: 3313: 3242:AutoWikiBrowser 3220: 3094: 3032: 2909: 2893:Labeled section 2834:Template limits 2794: 2771:Musical symbols 2747:To scale charts 2715: 2598: 2517: 2506:Sortable tables 2398: 2394:What links here 2362:Related changes 2347:Pending changes 2313:History merging 2296:Reset passwords 2254: 2100: 2071: 2066: 2013: 1974: 1962: 1941: 1907:MediaWiki::Butt 1900: 1842: 1808: 1781:– Bundled with 1700: 1687: 1627: 1620: 1619: 1614: 1610: 1605: 1601: 1480: 1476: 1472: 1468: 1464: 1460: 1315:Admin functions 1266: 1237: 1208: 1199: 1189: 1125: 1113: 1099: 1083: 1067: 1056: 1052: 1048: 1039: 1034: 958: 950: 931: 919: 902: 886: 856: 833: 805: 784: 764: 743: 739: 733: 729: 721: 711: 686: 677: 670: 665: 626: 578: 573: 568: 558: 543: 512: 487: 483: 477: 473: 469: 457:for arguments; 420: 405: 381: 376: 343: 318: 304: 299: 277:AutoWikiBrowser 268: 263: 251: 229: 228: 221: 214: 207: 203: 195: 194: 161: 155: 145: 141: 104: 98: 77: 12: 11: 5: 3420: 3418: 3410: 3409: 3404: 3394: 3393: 3387: 3386: 3384: 3383: 3378: 3373: 3372: 3371: 3361: 3356: 3351: 3346: 3345: 3344: 3342:Administrators 3334: 3327: 3318: 3315: 3314: 3312: 3311: 3310: 3309: 3304: 3296: 3291: 3286: 3281: 3276: 3271: 3266: 3261: 3260: 3259: 3254: 3244: 3239: 3234: 3228: 3226: 3222: 3221: 3219: 3218: 3213: 3208: 3207: 3206: 3201: 3196: 3191: 3186: 3176: 3171: 3170: 3169: 3164: 3159: 3149: 3144: 3143: 3142: 3132: 3127: 3125:Citation tools 3122: 3117: 3112: 3106: 3104: 3102: 3096: 3095: 3093: 3092: 3087: 3082: 3077: 3072: 3067: 3062: 3057: 3052: 3046: 3044: 3034: 3033: 3031: 3030: 3025: 3020: 3019: 3018: 3013: 3003: 3002: 3001: 2991: 2986: 2985: 2984: 2983: 2982: 2967: 2962: 2957: 2952: 2951: 2950: 2940: 2935: 2930: 2925: 2919: 2917: 2915:Data structure 2911: 2910: 2908: 2907: 2902: 2901: 2900: 2895: 2885: 2884: 2883: 2873: 2868: 2867: 2866: 2861: 2851: 2846: 2841: 2836: 2831: 2829:Template index 2826: 2821: 2816: 2810: 2808: 2803: 2796: 2795: 2793: 2792: 2787: 2786: 2785: 2775: 2774: 2773: 2766:Musical scores 2763: 2762: 2761: 2751: 2750: 2749: 2744: 2739: 2729: 2723: 2721: 2720:Other graphics 2717: 2716: 2714: 2713: 2708: 2703: 2702: 2701: 2696: 2691: 2681: 2676: 2675: 2674: 2669: 2664: 2659: 2654: 2649: 2644: 2634: 2633: 2632: 2627: 2617: 2611: 2609: 2607: 2606:files: images, 2600: 2599: 2597: 2596: 2591: 2586: 2581: 2576: 2575: 2574: 2569: 2564: 2554: 2553: 2552: 2547: 2542: 2531: 2529: 2519: 2518: 2516: 2515: 2510: 2509: 2508: 2503: 2498: 2493: 2488: 2483: 2473: 2468: 2463: 2462: 2461: 2456: 2451: 2446: 2436: 2431: 2426: 2421: 2420: 2419: 2408: 2406: 2400: 2399: 2397: 2396: 2391: 2386: 2381: 2376: 2375: 2374: 2364: 2359: 2357:Recent changes 2354: 2349: 2344: 2339: 2334: 2333: 2332: 2322: 2321: 2320: 2315: 2305: 2300: 2299: 2298: 2288: 2286:Emailing users 2283: 2278: 2273: 2267: 2265: 2261: 2256: 2255: 2253: 2252: 2251: 2250: 2240: 2235: 2234: 2233: 2223: 2222: 2221: 2211: 2206: 2205: 2204: 2194: 2189: 2184: 2179: 2174: 2173: 2172: 2162: 2157: 2156: 2155: 2150: 2145: 2140: 2130: 2129: 2128: 2123: 2112: 2110: 2108:technical help 2107: 2102: 2101: 2076: 2073: 2072: 2067: 2065: 2064: 2057: 2050: 2042: 2036: 2035: 2025: 2012: 2009: 2008: 2007: 2001: 1995: 1973: 1970: 1969: 1968: 1961: 1958: 1957: 1956: 1940: 1937: 1936: 1935: 1929: 1923: 1913: 1899: 1894: 1893: 1892: 1878: 1871:mock-mediawiki 1867:mock-mediawiki 1864: 1841: 1838: 1837: 1836: 1830: 1824: 1818: 1807: 1802: 1801: 1800: 1786: 1776: 1703:Microsoft .NET 1699: 1698:Microsoft .NET 1696: 1695: 1694: 1686: 1683: 1682: 1681: 1675: 1666: 1657: 1643: 1637: 1626: 1621: 1618: 1617: 1608: 1598: 1597: 1594: 1593: 1582: 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1554:botclasses.php 1551: 1547: 1540: 1539: 1536: 1531: 1528: 1525: 1522: 1519: 1516: 1513: 1511: 1508: 1503: 1489: 1488: 1465:RevisionGetter 1457: 1452: 1449: 1446: 1443: 1440: 1437: 1434: 1431: 1426: 1420: 1419: 1416: 1411: 1408: 1405: 1402: 1399: 1396: 1393: 1390: 1385: 1379: 1378: 1371: 1366: 1363: 1360: 1357: 1354: 1351: 1348: 1345: 1340: 1326: 1325: 1322: 1319: 1316: 1313: 1308: 1305: 1302: 1299: 1296: 1293: 1265: 1262: 1261: 1260: 1257:MediaWiki::Bot 1254: 1251:MediaWiki::API 1236: 1233: 1232: 1231: 1221: 1207: 1204: 1188: 1185: 1150: 1149: 1146: 1141:, rather than 1137:It encourages 1135: 1132: 1124: 1121: 1112: 1109: 1082: 1079: 1066: 1063: 1051:using the API 1047: 1044: 1038: 1035: 1033: 1030: 1029: 1028: 1025: 1018: 1011: 1008: 997: 996: 995: 989: 982: 981: 980: 970: 957: 954: 949: 946: 930: 927: 918: 915: 901: 898: 885: 882: 881: 880: 877: 874: 859:Implementation 855: 854:Implementation 852: 851: 850: 832: 829: 828: 827: 826: 825: 822: 819: 813: 804: 801: 800: 799: 792: 783: 780: 763: 760: 740:starttimestamp 722:starttimestamp 710: 709:Edit conflicts 707: 683: 682: 674: 673: 668: 642: 641: 640: 633: 625: 622: 607:enwiki_session 603:enwikiUserName 584: 583: 582: 581: 576: 571: 563: 549: 548: 511: 508: 500: 499: 498: 497: 466: 465: 464: 451:Special:Export 448: 447: 446: 439: 430:output formats 404: 401: 380: 377: 375: 372: 371: 370: 367: 360: 357: 354: 351: 342: 339: 317: 316:Reuse codebase 314: 311: 310: 298: 296: 267: 264: 262: 259: 250: 247: 231: 230: 227: 226: 219: 212: 204: 199: 196: 176: 175: 167: 165: 153: 150: 149: 142: 140: 139: 134: 129: 128: 127: 122: 112: 110:Creating a Bot 107: 96: 95: 94: 84: 78: 76: 75: 68: 61: 60: 59: 45: 38: 37: 36: 21: 19: 13: 10: 9: 6: 4: 3: 2: 3419: 3408: 3405: 3403: 3400: 3399: 3397: 3382: 3379: 3377: 3374: 3370: 3367: 3366: 3365: 3362: 3360: 3357: 3355: 3352: 3350: 3349:Accessibility 3347: 3343: 3340: 3339: 3338: 3333: 3332: 3328: 3326: 3325: 3320: 3319: 3316: 3308: 3305: 3303: 3300: 3299: 3297: 3295: 3292: 3290: 3287: 3285: 3282: 3280: 3277: 3275: 3272: 3270: 3267: 3265: 3262: 3258: 3255: 3253: 3250: 3249: 3248: 3245: 3243: 3240: 3238: 3235: 3233: 3230: 3229: 3227: 3223: 3217: 3214: 3212: 3209: 3205: 3202: 3200: 3197: 3195: 3194:Editing tools 3192: 3190: 3189:Browser tools 3187: 3185: 3182: 3181: 3180: 3177: 3175: 3172: 3168: 3165: 3163: 3160: 3158: 3155: 3154: 3153: 3150: 3148: 3145: 3141: 3138: 3137: 3136: 3133: 3131: 3128: 3126: 3123: 3121: 3118: 3116: 3113: 3111: 3108: 3107: 3105: 3101: 3100:Customisation 3097: 3091: 3090:Useful styles 3088: 3086: 3083: 3081: 3078: 3076: 3073: 3071: 3068: 3066: 3063: 3061: 3058: 3056: 3053: 3051: 3048: 3047: 3045: 3043: 3039: 3035: 3029: 3026: 3024: 3021: 3017: 3014: 3012: 3009: 3008: 3007: 3004: 3000: 2997: 2996: 2995: 2992: 2990: 2987: 2981: 2978: 2977: 2976: 2973: 2972: 2971: 2968: 2966: 2963: 2961: 2958: 2956: 2953: 2949: 2946: 2945: 2944: 2941: 2939: 2936: 2934: 2931: 2929: 2926: 2924: 2921: 2920: 2918: 2916: 2912: 2906: 2903: 2899: 2896: 2894: 2891: 2890: 2889: 2886: 2882: 2879: 2878: 2877: 2874: 2872: 2869: 2865: 2862: 2860: 2857: 2856: 2855: 2852: 2850: 2847: 2845: 2842: 2840: 2837: 2835: 2832: 2830: 2827: 2825: 2822: 2820: 2817: 2815: 2812: 2811: 2809: 2806: 2801: 2797: 2791: 2788: 2784: 2781: 2780: 2779: 2776: 2772: 2769: 2768: 2767: 2764: 2760: 2757: 2756: 2755: 2754:Math formulas 2752: 2748: 2745: 2743: 2740: 2738: 2737:How to create 2735: 2734: 2733: 2730: 2728: 2725: 2724: 2722: 2718: 2712: 2709: 2707: 2704: 2700: 2697: 2695: 2692: 2690: 2687: 2686: 2685: 2682: 2680: 2677: 2673: 2670: 2668: 2665: 2663: 2660: 2658: 2655: 2653: 2650: 2648: 2645: 2643: 2640: 2639: 2638: 2635: 2631: 2628: 2626: 2623: 2622: 2621: 2618: 2616: 2613: 2612: 2610: 2605: 2601: 2595: 2592: 2590: 2587: 2585: 2582: 2580: 2577: 2573: 2570: 2568: 2565: 2563: 2560: 2559: 2558: 2555: 2551: 2548: 2546: 2543: 2541: 2540:Interlanguage 2538: 2537: 2536: 2533: 2532: 2530: 2528: 2524: 2520: 2514: 2513:Using colours 2511: 2507: 2504: 2502: 2499: 2497: 2494: 2492: 2489: 2487: 2484: 2482: 2479: 2478: 2477: 2474: 2472: 2469: 2467: 2464: 2460: 2459:Time function 2457: 2455: 2452: 2450: 2447: 2445: 2444:For beginners 2442: 2441: 2440: 2437: 2435: 2432: 2430: 2427: 2425: 2422: 2418: 2415: 2414: 2413: 2410: 2409: 2407: 2405: 2401: 2395: 2392: 2390: 2387: 2385: 2382: 2380: 2377: 2373: 2370: 2369: 2368: 2365: 2363: 2360: 2358: 2355: 2353: 2350: 2348: 2345: 2343: 2340: 2338: 2337:Page Curation 2335: 2331: 2328: 2327: 2326: 2323: 2319: 2316: 2314: 2311: 2310: 2309: 2308:Moving a page 2306: 2304: 2301: 2297: 2294: 2293: 2292: 2289: 2287: 2284: 2282: 2279: 2277: 2274: 2272: 2269: 2268: 2266: 2263: 2257: 2249: 2246: 2245: 2244: 2241: 2239: 2236: 2232: 2229: 2228: 2227: 2224: 2220: 2217: 2216: 2215: 2212: 2210: 2207: 2203: 2200: 2199: 2198: 2195: 2193: 2190: 2188: 2185: 2183: 2180: 2178: 2177:Mobile access 2175: 2171: 2168: 2167: 2166: 2163: 2161: 2158: 2154: 2151: 2149: 2146: 2144: 2143:Edit conflict 2141: 2139: 2136: 2135: 2134: 2131: 2127: 2124: 2122: 2119: 2118: 2117: 2116:Browser notes 2114: 2113: 2111: 2109: 2103: 2099: 2097: 2093: 2089: 2085: 2081: 2074: 2070: 2063: 2058: 2056: 2051: 2049: 2044: 2043: 2040: 2033: 2029: 2026: 2023: 2019: 2015: 2014: 2010: 2005: 2002: 1999: 1996: 1993: 1990: 1989: 1988: 1986: 1983:based on the 1982: 1978: 1971: 1967: 1964: 1963: 1959: 1954: 1950: 1946: 1943: 1942: 1938: 1933: 1930: 1927: 1924: 1921: 1917: 1914: 1912: 1908: 1905: 1904: 1903: 1898: 1895: 1890: 1886: 1882: 1879: 1876: 1872: 1868: 1865: 1862: 1858: 1854: 1850: 1847: 1846: 1845: 1839: 1834: 1831: 1828: 1825: 1822: 1819: 1816: 1813: 1812: 1811: 1806: 1803: 1798: 1794: 1790: 1787: 1784: 1780: 1777: 1774: 1770: 1767: 1766: 1765: 1762: 1760: 1756: 1752: 1748: 1744: 1740: 1736: 1732: 1728: 1724: 1720: 1716: 1712: 1708: 1704: 1697: 1692: 1689: 1688: 1684: 1679: 1676: 1674: 1670: 1667: 1665: 1661: 1658: 1655: 1651: 1647: 1644: 1641: 1638: 1635: 1632: 1631: 1630: 1625: 1622: 1612: 1609: 1603: 1600: 1591: 1587: 1583: 1581: 1578: 1575: 1572: 1569: 1566: 1563: 1560: 1557: 1555: 1552: 1550: 1545: 1542: 1541: 1537: 1535: 1532: 1529: 1526: 1523: 1520: 1517: 1514: 1509: 1507: 1504: 1502: 1498: 1494: 1491: 1490: 1486: 1481:RevisionSaver 1458: 1456: 1453: 1450: 1447: 1444: 1441: 1438: 1435: 1432: 1430: 1429:mediawiki-api 1427: 1425: 1422: 1421: 1417: 1415: 1412: 1409: 1406: 1403: 1400: 1397: 1394: 1391: 1389: 1386: 1384: 1381: 1380: 1376: 1372: 1370: 1367: 1364: 1361: 1358: 1355: 1352: 1349: 1346: 1344: 1341: 1339: 1335: 1331: 1330:Cyberpower678 1328: 1327: 1323: 1320: 1317: 1314: 1312: 1309: 1306: 1303: 1300: 1297: 1294: 1291: 1290: 1286: 1280: 1278: 1273: 1270: 1263: 1258: 1255: 1252: 1249: 1248: 1247: 1244: 1242: 1234: 1230: 1226: 1222: 1220: 1216: 1215: 1214: 1212: 1205: 1203: 1198: 1194: 1186: 1184: 1182: 1178: 1174: 1170: 1166: 1162: 1156: 1153: 1147: 1144: 1140: 1136: 1133: 1130: 1129: 1128: 1122: 1120: 1118: 1110: 1108: 1102: 1096: 1092: 1088: 1080: 1078: 1076: 1072: 1064: 1062: 1059: 1053:meta=userinfo 1045: 1043: 1036: 1031: 1026: 1023: 1019: 1016: 1012: 1009: 1006: 1002: 998: 993: 992: 990: 987: 983: 978: 977: 975: 971: 968: 964: 961:Set a custom 960: 959: 955: 953: 947: 945: 943: 938: 935: 928: 926: 924: 916: 914: 912: 907: 900:Documentation 899: 897: 895: 891: 883: 878: 875: 872: 868: 864: 863: 862: 860: 853: 848: 843: 839: 835: 834: 830: 823: 820: 817: 816: 814: 810: 809:Specification 807: 806: 803:Specification 802: 797: 793: 790: 786: 785: 781: 775: 771: 769: 761: 759: 757: 751: 749: 744:basetimestamp 736: 727: 718: 716: 708: 706: 704: 700: 696: 691: 689: 681: 669: 664: 663: 661: 657: 654: 653: 652: 649: 645: 639: 636: 635: 634: 631: 623: 621: 619: 614: 612: 608: 604: 600: 596: 592: 587: 579:lgtoken=TOKEN 577: 572: 567: 566: 564: 561: 556: 555: 554: 553: 546: 541: 540: 539: 538: 534: 532: 531:MediaWiki API 527: 525: 521: 516: 509: 507: 505: 495: 492: 491: 480: 467: 462: 459: 458: 456: 452: 449: 444: 440: 437: 434: 433: 431: 427: 423: 417: 416:MediaWiki API 414: 413: 412: 410: 403:APIs for bots 402: 400: 396: 392: 385: 378: 373: 368: 365: 361: 358: 355: 352: 349: 348: 347: 340: 338: 336: 332: 328: 323: 315: 308: 302: 297: 292: 288: 287: 284: 282: 278: 274: 265: 260: 258: 256: 248: 246: 243: 242: 237: 224: 220: 217: 213: 210: 206: 205: 202: 197: 192: 188: 184: 181:, nor one of 180: 177:It is not an 174: 172: 166: 159: 158: 143: 138: 135: 133: 130: 126: 125:Status report 123: 121: 118: 117: 116: 113: 111: 108: 103: 97: 93: 90: 89: 88: 85: 83: 80: 79: 74: 73: 69: 67: 66: 62: 58: 57: 53: 52: 51: 50: 46: 44: 43: 39: 35: 34: 30: 29: 28: 27: 23: 22: 20: 18: 17: 3381:User scripts 3329: 3322: 3251: 3152:User scripts 2928:Main/Article 2888:Transclusion 2871:Substitution 2759:Math symbols 2727:Family trees 2481:Introduction 2352:Random pages 2243:VisualEditor 2187:Page history 2148:Edit toolbar 2121:Bypass cache 2080:the Teahouse 2077: 1985:Visual Basic 1975: 1945:CL-MediaWiki 1901: 1843: 1809: 1793:see on nuget 1763: 1735:Mono Project 1723:JScript .NET 1701: 1628: 1611: 1602: 1301:Last release 1274: 1267: 1245: 1238: 1209: 1200: 1157: 1154: 1151: 1126: 1114: 1098: 1084: 1070: 1068: 1049: 1040: 1020:Make use of 951: 939: 932: 920: 903: 887: 857: 842:Architecture 837: 836:Think about 765: 756:edit warring 752: 725: 719: 714: 712: 698: 694: 692: 684: 675: 666:action=query 655: 650: 646: 643: 637: 627: 615: 606: 602: 598: 595:enwikiUserID 594: 591:HTTP cookies 588: 585: 551: 550: 536: 535: 528: 517: 513: 501: 493: 460: 435: 428:format (see 406: 397: 393: 389: 344: 319: 300: 269: 252: 239: 235: 234: 216:WP:CREATEBOT 168: 115:List of bots 109: 82:Bot Requests 70: 63: 54: 47: 40: 31: 24: 3364:Referencing 3289:Ultraviolet 3147:IRC Scripts 3110:Preferences 2854:Lua project 2679:Gallery tag 2579:Colon trick 2439:Magic words 2342:Page import 2281:Edit filter 1949:Common Lisp 1939:Common Lisp 1902:Libraries: 1844:Libraries: 1810:Libraries: 1764:Libraries: 1678:pymediawiki 1629:Libraries: 1473:PageDeleter 1287:frameworks 1246:Libraries: 1225:User:GreenC 1005:compression 934:Maintaining 929:Maintenance 906:documenting 671:meta=tokens 630:edit tokens 599:enwikiToken 443:API sandbox 169:This is an 65:Noticeboard 3396:Categories 3337:Help pages 3321:See also: 3237:AntiVandal 3174:User style 3167:Techniques 3140:Hide pages 2923:Namespaces 2615:Media help 2589:Pipe trick 2584:Link color 2496:Collapsing 2417:Cheatsheet 2372:Linksearch 2291:Logging in 2219:Editnotice 2138:CharInsert 2092:talk pages 2018:Jim Carter 1911:evaluation 1853:TypeScript 1727:IronPython 1673:The Earwig 1501:Waldyrious 1469:UserGetter 1451:extra libs 1410:extra libs 1377:for help. 1321:Repository 1292:Key people 1219:BotWikiAwk 1191:See also: 963:User-Agent 871:sockpuppet 510:Logging in 470:action=raw 72:Newsletter 42:Bot policy 33:Dictionary 3376:Templates 3298:Inactive 3294:WPCleaner 3103:and tools 3085:Span tags 3006:MediaWiki 2975:Archiving 2881:Job queue 2859:Resources 2814:Templates 2800:Templates 2742:Barcharts 2550:Permanent 2545:Interwiki 2466:Redirects 2389:Watchlist 2367:Searching 2197:Page name 2153:Reverting 2084:help desk 1827:WPCleaner 1821:wiki-java 1654:downloads 1646:wikitools 1634:Pywikibot 1512:7.x, 8.x 1493:Nzhamstar 1338:Jarry1250 1173:Mercurial 1065:Signature 1022:assertion 890:pywikibot 703:assertion 678:csrftoken 520:HTTP POST 364:Toolforge 327:Pywikibot 201:Shortcuts 187:consensus 102:BAG Tools 92:Adminbots 3354:Accounts 3252:Creating 2989:Template 2933:Category 2849:Lua help 2778:Timeline 2672:SVG help 2412:Wikitext 2404:Wikitext 2276:AllPages 2264:-related 2231:Entering 2209:Printing 2170:Tutorial 1977:VBScript 1972:VBScript 1733:. Using 1660:mwclient 1650:Mr.Z-man 1640:ceterach 1510:5.3-5.6, 1506:Wikimate 1424:Addshore 1383:Addshore 1334:Addshore 1307:Uses API 1283:Current 1163:such as 1100:bot=True 1081:Bot Flag 984:Use the 972:Use the 942:approved 524:HTTP GET 255:template 223:WP:MKBOT 26:Overview 3284:Twinkle 3279:RedWarn 3257:history 3115:Gadgets 3028:Special 2807:modules 2424:Columns 2260:Special 2133:Editing 2106:General 1960:Haskell 1881:wikiapi 1840:Node.js 1759:Windows 1751:Solaris 1711:C++/CLI 1691:MatWiki 1586:ClueBot 1580:on wiki 1549:wbm1058 1544:Chris G 1318:Plugins 1285:PHP bot 1211:GNU Awk 1058:example 1055:query ( 999:Enable 884:Testing 735:example 494:Status: 461:Status: 436:Status: 421:api.php 307:Toolhub 191:vetting 132:History 3269:Huggle 3264:HotCat 3023:Module 2980:Simple 2960:Portal 2637:Images 2486:Basics 2476:Tables 2028:mwtest 2022:Dfavro 1889:GitHub 1875:GitHub 1861:GitHub 1855:. See 1729:, and 1685:MATLAB 1624:Python 1590:SoxBot 1534:GitHub 1455:GitHub 1414:GitHub 1369:GitHub 1347:5.2.1 1343:Peachy 1324:Notes 1229:GitHub 726:before 605:. The 601:, and 472:or an 331:Python 236:Robots 209:WP:CAB 3307:STiki 3302:igloo 3179:Tools 3157:Guide 3120:Skins 2938:Draft 2876:Purge 2864:To do 2620:Files 2604:Media 2557:Diffs 2535:Links 2527:diffs 2523:Links 2434:Lists 1979:is a 1833:jwiki 1755:macOS 1739:Linux 1664:Bryan 1497:Xymph 1171:, or 557:URL: 542:URL: 335:below 137:Types 56:Guide 3359:Bots 3247:Bots 3162:List 3040:and 3038:HTML 2994:User 2970:Talk 2955:Help 2943:File 2594:URLs 2525:and 2379:Tags 2303:Logs 2262:page 2248:Help 2202:Help 2020:and 1953:JSON 1897:Ruby 1805:Java 1797:docs 1753:and 1743:Unix 1588:and 1564:2024 1558:8.2 1518:2024 1515:2023 1448:some 1439:2022 1436:2021 1433:7.4 1398:2022 1395:2021 1392:7.4 1353:2022 1350:2013 1295:Name 1275:The 1235:Perl 1195:and 1179:and 1071:only 1003:and 867:here 782:Idea 742:and 715:will 701:use 699:must 695:i.e. 504:GZIP 426:JSON 305:Use 241:bots 189:and 3042:CSS 2805:Lua 2802:and 2330:FAQ 2165:IRC 2096:IRC 2094:or 2011:Lua 1887:on 1873:on 1859:on 1857:mwn 1849:mwn 1783:AWB 1773:API 1747:BSD 1573:Yes 1570:Yes 1567:Yes 1561:n/a 1521:Yes 1442:Yes 1407:N/A 1404:N/A 1401:Yes 1365:Yes 1362:Yes 1359:Yes 1356:Yes 1269:PHP 1264:PHP 1227:at 1206:Awk 1169:Git 1165:SVN 1077:). 986:API 838:how 662:). 486:or 301:Tip 238:or 3398:: 2090:, 2086:, 2082:, 1799:). 1795:, 1761:. 1749:, 1745:, 1741:, 1725:, 1721:, 1719:J# 1717:, 1713:, 1709:, 1707:C# 1576:No 1530:No 1527:No 1524:No 1499:, 1495:, 1487:. 1479:, 1475:, 1471:, 1467:, 1445:No 1336:, 1332:, 1167:, 1107:. 944:. 925:. 758:. 750:. 620:. 597:, 105:}} 99:{{ 2098:. 2061:e 2054:t 2047:v 1891:. 1877:. 1863:. 1656:) 1652:( 1546:, 1145:. 1017:. 849:. 798:. 791:. 418:( 366:? 193:. 173:.

Index

Overview
Dictionary
Bot policy
Bot Approvals Group
Guide
Noticeboard
Newsletter
Bot Requests
Requests for Approval
Adminbots
BAG Tools
Creating a Bot
List of bots
Activity monitor
Status report
History
Types
information page
encyclopedic article
Knowledge (XXG)'s policies or guidelines
consensus
vetting
Shortcuts
WP:CAB
WP:CREATEBOT
WP:MKBOT
bots
template
Knowledge (XXG):Bot requests
AutoWikiBrowser

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.