A software bot is nothing but a set of scripts or an independent program that connects to web services or chat services as a client to perform automated functions. Often, bots are deployed from a server. It runs in background and performer various activities such as giving out information, providing an answer to common questions, deleting spam and much more. Here is a list of 7 of them that you must know.
What is ChatOps?
The name ChatOps is believed to have introduced at GitHub. Chatops includes your development team, chat app, bot, and infrastructure. From this page:
ChatOps is a new operational paradigm where work that is already happening in the background today is brought into a common chatroom. By doing this, you are unifying the communication about what work should get done with actual history of the work being done. Things like deploying code from Chat, viewing graphs from a TSDB or logging tool, or creating new Jira tickets…all of these are examples of tasks that can be done via ChatOps.
Not only does ChatOps reduce the feedback loop of work output, it also empowers others to accomplish complex self-service tasks that they otherwise would not be able to do. Combining ChatOps and StackStorm is an ideal combination, where from Chat users will be able to execute actions and workflows to accelerate the IT delivery pipeline.
My lover affair with bot started with an IRC bot called Eggdrop. It is a popular IRC bot and the oldest still being maintained.
It is a feature rich program designed to be easily used and expanded upon (using Tcl scripting) by both novice and advanced IRC users on a variety of hardware and software platforms.
Eggdrop is freely available for anyone to copy, distribute and modify under the terms of the GNU General Public License (GPL).
- Basic IRC channel administrative functions
- Runs on Linux, *BSD, SunOs, Mac OS X and Friends.
- IPv6 support
- SSL protection of IRC and botnet traffic
- Base functionality can be extended with customized Tcl scripts and/or C modules
- The ability to form botnets and share partylines and userfiles between bots
=> Download Eggdrop
It is a customizable, life betterment robot. GitHub, Inc., wrote the first version of Hubot to automate our company chat room. Hubot knew how to deploy the site, automate many tasks, and be a source of fun around the office. It is written in CoffeeScript on Node.js and quickly implemented on platforms like Heroku. Feature includes:
- Posting images
- Translating languages
- Integrating with Google Maps
- A repository of community Hubot scripts and an organization of community Hubot packages that you can add to your own robot and more.
=> Download Hubot
Another IRC bot software. It is often described as the simple, fast, expandable, open-source Python IRC bot. CloudBot is licensed under the GPL v3 license. CloudBot will only run on Python 3.4 or higher due use of the asyncio module. If you know Python, give it a try to CloudBot. You will not be disappointed.
=> Download CloudBot
Lita is a chat bot written in Ruby. A robot companion for your company’s chat room. It connects with your favorite chat service and helps keep you efficient while having fun. You can turn tedious, time-consuming, and error-prone tasks into simple commands with Lita bot.
- Connect to any chat service
- Easy to install
- Easily extendable with plugins
- Data persistence with Redis
- Built-in web server and routing
- Event system for behavior triggered in response to arbitrary events
- Support for outgoing HTTP requests
- Group-based authorization
- Configurable logging
=> Download Lita
Another bot is written in Python. It is a plugin based chatbot designed to be easily deployable, extensible and maintainable. Errbot is free software, available under the GPL-3 license:
Errbot is a chatbot, a daemon that connects to your favorite chat service and brings your tools into the conversation.
The goal of the project is to make it easy for you to write your own plugins so you can make it do whatever you want: a deployment, retrieving some information online, trigger a tool via an API, troll a co-worker, and more.
Errbot is being used in a lot of different contexts: chatops (tools for devops), online gaming chatrooms like EVE, video streaming chatrooms like livecoding tv, home security, etc.
- Easy setup and installation
- Multiple server backends
- Core features
- Built-in administration and security
- Extensive plugin framework
=> Download Errbot
StackStorm is a powerful open-source automation platform that wires together all of your apps, services and workflows. It’s extendable, flexible, and built with love for DevOps and ChatOps. StackStorm helps automate common operational patterns. Some examples are:
* Facilitated Troubleshooting – triggering on system failures captured by Nagios, Sensu, New Relic and other monitoring systems, running a series of diagnostic checks on physical nodes, OpenStack or Amazon instances, and application components, and posting results to a shared communication context, like HipChat or JIRA.
* Automated remediation – identifying and verifying hardware failure on OpenStack compute node, properly evacuating instances and emailing admins about potential downtime, but if anything goes wrong – freezing the workflow and calling PagerDuty to wake up a human.
* Continuous deployment – build and test with Jenkins, provision a new AWS cluster, turn on some traffic with the load balancer, and roll-forward or roll-back, based on NewRelic app performance data.
=> Download StackStorm
A chatops automation framework for Slack in Go:
The prototypical IRC bot responds to text. Generally, the pattern is you provide a regex to match on, and some code to run when someone says something in chat that matches your regular expression. Your plugin runs when a pattern match happens, and then returns.
=> Download Lazlo
Know better FOSS based ChatOps software? Let me know in the comments section below.