An adapter-based chat bot framework for Elixir applications, inspired by Hubot.
Hedwig is an adapter-based chat bot framework for Elixir applications, inspired by GitHub's Hubot. It allows developers to create and manage multiple bots that can interact with various chat platforms through a flexible adapter system. The framework supports both standalone deployments and integration into existing OTP applications, providing tools for building, testing, and extending bot functionality.
Elixir developers building chat bots for platforms like XMPP, Slack, or custom chat systems, especially those needing modular, scalable bot solutions within OTP applications.
Developers choose Hedwig for its Elixir-native design, adapter-based extensibility, and seamless integration with OTP supervision trees. It offers a structured way to build and test responders, with official adapters for popular platforms and support for dynamic bot management.
An Adapter-based Bot Framework for Elixir Applications
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multiple chat platforms through official adapters for XMPP and Slack, with community extensions like Flowdock, enabling extensible bot development.
Can be run as a standalone OTP application or embedded in larger Elixir systems, fitting naturally into supervision trees for scalable deployments.
Allows spawning multiple bots at runtime with distinct configurations, useful for handling different chat rooms or services simultaneously.
Includes Hedwig.RobotCase for ExUnit-based testing, making it easy to write and run tests for responders without external dependencies.
Only offers two official adapters (XMPP and Slack), with limited community options, which may require custom development for unsupported platforms.
Requires familiarity with Elixir's OTP and supervision trees, adding complexity for developers new to the ecosystem or those building simple bots.
Uses macros like `hear` and `respond` to define handlers, which can be less intuitive for developers not comfortable with Elixir's metaprogramming.
hedwig is an open-source alternative to the following products: