Wikipedia:PHP bot functions
Appearance
Here are the functions provided by some major PHP bot frameworks.
| Bot | wikibot.classes | botclasses.php | Phpwikibot | Wikibot | Pillar |
| Classes | 4 classes (http, wikipediaquery, wikipediaapi, wikipediaindex) | 3 classes (http, wikipedia, extended) | 1 class (phpwikibot) | 1 class (Wikibot) | 7 classes (MWRequest, MWSite, Page, Pillar, Request, Site, User) |
| Post to a url | http->post | http->post | |||
| Get a url | http->get | http->post | |||
| Reinitialize queryurl | wikipediaquery->checkurl | ||||
| Get contents of a page | wikipediaquery->getpage | wikipedia->getpage | phpwikibot->get_page | Wikibot->get_page | Page->get_text |
| Get pageid for a page | wikipediaquery->getpageid | wikipedia->getpageid | |||
| Get number of contributions a user has | wikipediaquery->contribcount | wikipedia->getpagecontribcount | |||
| Log you into wikipedia | wikipediaapi->login | wikipedia->login | Wikibot->login | ||
| Get tokens | wikipediaapi->gettokens | wikipedia->getedittoken | |||
| Return recent changes for a wiki | wikipediaapi->recentchanges | ||||
| Return search results from wikipedia's internal search engine | wikipediaapi->search | ||||
| Retrieve entries from the wikilog | wikipediaapi->logs | ||||
| Retrieve metadata about a user's contributions | wikipediaapi->usercontribs | User->get_usercontribs | |||
| Return revision data | wikipediaapi->revisions | ||||
| Enumerate user metadata | wikipediaapi->users | ||||
| Get members of a category | wikipediaapi->categorymembers | wikipedia->categorymembers | phpwikibot->category | Wikibot->category | MWSite->get_categorymembers |
| Enumerate all categories | wikipediaapi->listcategories | Wikibot->get_cats_of_page | Page->get_categories | ||
| Enumerate all backlinks to a page | wikipediaapi->backlinks | wikipedia->whatlinkshere | phpwikibot->backlinks | ||
| Get a list of transcludes embedded in a page | wikipediaapi->embeddedin | Page->get_templates | |||
| Get a list of pages with a common prefix | wikipediaapi->listprefix | ||||
| Edit a page | wikipediaapi->edit | wikipedia->edit | phpwikibot->put_page | wikibot->edit_page | Page->put |
| Move a page | wikipediaapi->move | wikipedia->move | Page->move | ||
| Roll back an edit | wikipediaapi->rollback | wikipedia->rollback | |||
| Post data to a page, nicely | wikipediaindex->post | ||||
| Post data to a page | wikipediaindex->forcepost | ||||
| Get a diff | wikipediaindex->diff | MWSite->diff | |||
| Roll back an edit | wikipediaindex->rollback | ||||
| Move a page | wikipediaindex->move | ||||
| Upload a file | wikipediaindex->upload | wikipedia->upload | MWSite->upload | ||
| Send email to a user | wikipediaindex->email | wikipedia->email | User->email | ||
| Send a query to the API | wikipedia->query | ||||
| Return a list of pages that include the image | wikipedia->whereisincluded | MWSite->get_imageuse | |||
| Return an array with all the subpages of $page | wikipedia->subpages | ||||
| Login using cookies from old sessions | wikipedia->setLogin | ||||
| Check if we're allowed to edit $page | wikipedia->nobots | Wikibot->allowBots | Page->checkexcluded | ||
| Purge the cache of $page | wikipedia->purgeCache | ||||
| Check if $user has email enabled | wikipedia->checkEmail | ||||
| Return all pages $page is transcluded to | wikipedia->getTransclusions | ||||
| Add a text at the bottom of a page | wikipedia->addtext | ||||
| Block a user | wikipedia->block | User->block | |||
| Unblock a user | wikipedia->unblock | User->unblock | |||
| Delete a page | wikipedia->delete | Page->delete | |||
| Undelete a page | wikipedia->undelete | ||||
| Protect/unprotect a page | wikipedia->protect | Page->protect | |||
| Create an account | wikipedia->createaccount | ||||
| Change a user's rights | wikipedia->userrights | ||||
| Get the number of images matching a hash | wikipedia->imagematches | ||||
| Add a category to a page | extended->addcategory | ||||
| Find a string in a page | extended->findstring | ||||
| Replace a string in a page | extended->replacestring | ||||
| Replace all the pages from $page | phpwikibot->single_replace | ||||
| Replace all the pages from $page | phpwikibot->multi_replace | ||||
| Create a new page | phpwikibot->create_page | Wikibot->create_page | |||
| Put a notice template | phpwikibot->put_notice | ||||
| Get the values of a template | phpwikibot->get_template | ||||
| Put the values of a template | phpwikibot->put_template | ||||
| Delete the values of a template | phpwikibot->delete_template | ||||
| Correct the redirect's links | phpwikibot->correct_redirect | ||||
| Manager wiki different from default wiki | phpwikibot->wiki | Wikibot->wiki | |||
| Replace text | phpwikibot->replace | ||||
| Confirm changes by user | phpwikibot->confirm | Pillar->confirmaction | |||
| Replace content of the all pages | phpwikibot->replace_all | ||||
| Edit a page, regardless of whether it exists or not | Wikibot->put_page | ||||
| Call API | Wikibot->callAPI | ||||
| Post API | Wikibot->postAPI | ||||
| Delete cookies | Pillar->deletecookies | ||||
| Force quit | Pillar->shutdown | ||||
| Add a new MediaWiki site to the index | Pillar->add_mwsite | ||||
| Add a new non-MediaWiki site to the index | Pillar->add_site | ||||
| Return the index of sites | Pillar->list_sites | ||||
| Return the site given the id | Pillar->get_site | ||||
| Set current site | Pillar->set_cursite | ||||
| Remove site from the index | Pillar->remove_site | ||||
| Launch from configuration file | Pillar->ini_launch | ||||
| Set the default action to take when doing show changes | Pillar->set_browser | ||||
| Get the default action to take when doing page previews | Pillar->get_browser | ||||
| Set reporting level | Pillar->set_reporting | ||||
| Get reporting level | Pillar->get_reporting | ||||
| Get current page title | Page->get_title | ||||
| Get move protection | Page->get_moveprotection | ||||
| Get edit protection | Page->get_editprotection | ||||
| Get timestamp of last revision | Page->get_edittime | ||||
| Get whether page exists | Page->get_exists | ||||
| Get interwiki language links for this page | Page->get_langlinks | ||||
| Get links in this page | Page->get_links | ||||
| Get images in page | Page->get_images | ||||
| Get external links in a page | Page->get_extlinks | ||||
| Show changes between current page text and $new | Page->show_changes | ||||
| Remove slashes from each end of string | Request->remove_slashes | ||||
| Split headers and body out of raw result | Request->split_reply | ||||
| Get host used in request | Request->get_host | ||||
| Return path to script in request | Request->get_path | ||||
| Return query sent in request | Request->get_query | ||||
| Return additional cURL options sent in request | Request->get_opts | ||||
| Return method used in request | Request->get_method | ||||
| Return raw text | Request->get_raw | ||||
| Return headers | Request->get_headers | ||||
| Return body | Request->get_body | ||||
| Get username | User->get_username | ||||
| Get edit count | User->get_editcount | ||||
| Get block status | User->get_blockstatus | ||||
| Get user groups | User->get_groups | ||||
| Get user registration | User->get_registration | ||||
| Get emailable | User->get_emailable | ||||
| Check is a user is an email address | User->is_ip | ||||
| Get unserialized result | MWRequest->get_result | ||||
| Get plain result | MWRequest->get_plain_result | ||||
| Logout | MWSite->logout | ||||
| Set action confirmations | MWSite->set_confirmaction | ||||
| Get action confirmations | MWSite->get_confirmaction | ||||
| Set maximum loops when server lagged | MWSite->set_maxlagloops | ||||
| Get the maximum number of maxlag loops | MWSite->get_maxlagloops | ||||
| Return bot status | MWSite->get_bot | ||||
| Return admin status | MWSite->get_admin | ||||
| Return login status | MWSite->get_loggedin | ||||
| Return if a user has new messages or not | MWSite->get_newmessages | ||||
| Get pages in which $page is embedded. | MWSite->get_embeddedin | ||||
| Get all pages that link to the external site $url | MWSite->get_extlinksto | ||||
| Get info from Special:Log | MWSite->logs | ||||
| Set a new maximum rate for GET requests | Site->set_getrate | ||||
| Set a new maximum rate for POST requests | Site->set_postrate | ||||
| Set a new maximum rate for all requests | Site->set_allrate | ||||
| Do any necessary throttling before a GET request | Site->throttle_get | ||||
| Do any necessary throttling before a POST request | Site->throttle_post |