Help:Creating a bot
Robots or bots are automatic processes that interact with Wikipedia as though they were a human editor. This article attempts to explain how to carry out the development of a bot for use on wikipedia.
Overview of the process of developing a bot
Actually coding or writing a bot is only one part of developing a bot. You should generally follow the development cycle below:
- Come up with an idea. If you don't have an idea of what to write a bot for, you could pick up ideas at requests for work to be done by a bot.
- Make sure it isn't being used already. You can see a list of what tasks are already performed by a bot, see Wikipedia:Registered bots.
- Come up with a detailed proposal of what you want it to do
- Make sure your proposal meets the criteria of wikipedia bot policy
- Think about how you might create it. There are different types of bot and the main body of the article below will cover this technical side.
- Post your proposal and post it to Wikipedia:Bots/Requests_for_approval
- People will comment on your proposal and it will be either accepted or rejected.
- If accepted, it would probably be put on a trial period during which it may be run to fine-tune it and iron out any bugs.
- At the end of the trial period it would hopefully be accepted.
- If you want to make a change of major functionality to your bot in the future, you should request this as above using the request process.
How do I make a new bot?
Bot clones
There are already a number of bots that require manual assistance which you can subscribe to, download and run a clone of in order to perform useful tasks whilst browsing wikipedia. List examples.
Developing a truly new bot
There are client-side and server-side bots. The differences are outlined below.
Developing a client-side bots
Using Javascript, for example. These run on your machine.
Developing a erver-side bot
Can be written in Perl or Python and then hosted either on your own machine (with an appropriate compiler) or on a remote webserver.
Using existing code chunks and wikipedia modules.