A bot (short for "robot") is an automated program that runs over the Internet. Some bots run automatically, while others only execute commands when they receive specific input. There are many different types of bots, but some common examples include web crawlers, chat room bots, and malicious bots.
Web crawlers are used by search engines to scan websites on a regular basis. These bots "crawl" websites by following the links on each page. The crawler saves the contents of each page in the search index. By using complex algorithms, search engines can display the most relevant pages discovered by web crawlers for specific search queries.
Chat bots were one of the first types of automated programs to be called "bots" and became popular in the 1990s, with the rise of online chatrooms. These bots are scripts that look for certain text patterns submitted by chat room participants and respond with automated actions. For example, a chat bot might warn a user if his or language is inappropriate. If the user does not heed the warning, the bot might kick the user from the channel and may even block the user from returning. A more advanced type of chat bot, called a "chatterbot" can respond to messages in plain English, appearing to be an actual person. Both types of chat bots are used for chatroom moderation, which eliminates the need for an individual to monitor individual chatrooms.
While most bots are used for productive purposes, some are considered malware, since they perform undesirable functions. For example, spambots capture email addresses from website contact forms, address books, and email programs, then add them to a spam mailing list. Site scrapers download entire websites, enabling unauthorized duplication of a website's contents. DoS bots send automated requests to websites, making them unresponsive. Botnets, which consist of many bots working together, may be used to gain unauthorized access to computer systems and infect computers with viruses.