The next version of Apibot is ready. You can find it on the Apibot site, or to download it from this link.
It was intended primarily as a bugfix release, and a lot of bugs were squashed indeed. However, you will find some new things, too.
The first is the ability to use HTTP over SSL – in short, HTTPS. Just put a “https://”-starting API URL in the wiki description, and you are in the business. Useful for those who value their privacy. 🙂
The Page object has now the functions replace_category(), replace_langlink() and replace_file(). These allow you not only to modify, but also to add or delete the corresponding elements. Other new functions there are is_actual() and reset_text_changes(). Enjoy!
The apibot_actionobjects.php file was restructured into “official” and “unofficial” sections. The latter acquired some new actionobjects, mostly doing re-categorization of pages – moving the members of one category to another, joining a category to another, etc. I hope these will gradually move into the official section.
A propos, if writing a specific actionobject seems too much of a work, now you can supply to the iterator a simple callback function instead. A perfect convenience for small tasks.
… Thinking of all this, Apibot seems to be the most powerful MediaWiki bot, written in PHP, currently in existence. I guess it starts coming close to a mainstay like pywikibot. Which is a good thing. 🙂
However, I am not satisfied with it. The monstrous apibot.php is a mess. I’d like to split it into modules, matching the modules of the MediaWiki API. This will allow for more maintainability, more abilities and less bugs. It will also allow adding modules that service the API extensions added by the different MediaWiki extensions. (Apibot gets the extensions and API parameters info after logging, unless told otherwise, so it will be able to configure itself to use the extensions present at any specific wiki.)
Other interesting idea might be to add filter actionobjects. They will allow for more precise selection of the info elements to be processed than the MediaWiki API allows (currently). And, what is more important, they will be connectable one to another, forming chains of processing, much like the UNIX utilities can be stringed together to provide for complex processing of information. This way, a bot operator with only basic knowledge of PHP will be able to quickly assemble a processing chain capable of performing even very complex tasks. Moreover, an appropriate software (eg. a relatively simple web frontend) will be able to allow even a bot operator without PHP knowledge at all to do this… 🙂
Okay. Enough dreaming. Get it, enjoy it and supply back bug and wish reports! 🙂
Join us now and share the software… 🙂