A bot is common parlance on the Internet for a software program that is a software agent. Bots interact with other network services intended for people as if it was a real person. One typical use of bots is to gather information. The term is derived from the word "robot", reflecting the autonomous character in the "virtual robot"-ness of the concept.
The most common bots are web agents that interface with web pages. Web crawlers or spiders are web robots that recursively gather web-page information, such as the bot used by Google. They may also be used to interact dynamically with a site in a particular way, for example to exploit or locate arbitrage opportunities for financial gain.
Some bots communicate with other users of Internet based services, for example via IM or IRC, or another web interface. These chatterbots may allow people to ask questions in plain English and then formulate a proper response. These bots can often handle many tasks including reporting weather, zip code information, sports scores, converting currency or other units, and much more.
An additional role of IRC-bots may be to lurk in the background of a conversation channel, commenting on certain phrases uttered by the participants (based on pattern matching). This is sometimes used as a help service for new users, or even for mild censorship (e.g., bad language).
There has been a great deal of controversy about the use of bots in an automated trading function. eBay has been to court in an attempt to suppress a third party company from using bots to traverse their site looking for bargains; this approach backfired on eBay and attracted the attentions of further bots. The UK based bet exchange Betfair believe they have also experienced some difficulties with bots on their site but are taking a more "hands off" approach in the light of the eBay experience.
The term bot is used frequently in videogames, referring to computer controlled enemies in a multiplayer game that simulate the actions of a human player. These bots are used in training, before playing over Internet, or simply to maximise the experience when there are not enough players in the game. In some multiplayer computer games (often MMORPGs and MUDs), a bot is software that automates simple in-game tasks. Most bots in this sense are configured to repeat an action continually in order to improve the player character's abilities. A related example in first-person shooter games is the aimbot.
Another more malicious use for bots is the coordination and operation of an automated attack on networked computers, such as a distributed denial-of-service attack.
A BOT is a Build-Operate-Transfer contract.