A Node.js framework for building conversational user interfaces across multiple messaging platforms.
Bottender is a Node.js framework for building conversational user interfaces that work across multiple messaging platforms like Messenger, LINE, Slack, Telegram, and Viber. It provides declarative abstractions that handle platform-specific complexities, allowing developers to create consistent chatbot experiences while leveraging native platform features.
JavaScript/Node.js developers building production chatbots that need to work across multiple messaging platforms without rewriting logic for each channel.
Developers choose Bottender because it offers a unified declarative API for all supported platforms, handles production concerns like request batching automatically, and provides full access to native platform features while maintaining a consistent development experience.
⚡️ A framework for building conversational user interfaces.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Bottender uses actions and states to make bot logic predictable and debuggable, simplifying complex conversational flows as highlighted in its declarative architecture feature.
Supports Messenger, LINE, Slack, Telegram, and Viber with minimal configuration, allowing developers to write once and deploy everywhere while leveraging native features like LINE's LIFF.
Includes automatic request batching and has been battle-tested by thousands of real-world bots, ensuring performance and reliability in production environments.
Provides full access to platform-specific capabilities such as Messenger's Handover Protocol and Telegram's Payments without compromising user experience, as listed in the Notable Features.
Installation can fail on Windows due to native dependencies with node-gyp, requiring additional tools like windows-build-tools, which complicates setup for some users.
The ecosystem is small, with only a few companion libraries like bottender-compose, lacking the extensive plugins and integrations found in more mature bot frameworks.
Documentation is split between versions (v1 and legacy v0.15) and hosted externally, which can be confusing and hinder quick access to up-to-date information.