Last checked against official documentation:
| Library | Language | Platform | License | Notes |
|---|---|---|---|---|
| grammY | TypeScript / JavaScript | Telegram | MIT | Runs on Node.js, Deno, Bun and edge runtimes. |
| Telegraf | TypeScript / JavaScript | Telegram | MIT | Middleware-based. |
| python-telegram-bot | Python | Telegram | LGPL-3.0 | asyncio-based, extensive docs. |
| aiogram | Python | Telegram | MIT | Async, routers and finite state machines. |
| pyTelegramBotAPI | Python | Telegram | GPL-2.0 | Sync and async interfaces. |
| teloxide | Rust | Telegram | MIT | |
| Telegram.Bot | C# / .NET | Telegram | MIT | |
| discord.js | TypeScript / JavaScript | Discord | Apache-2.0 | The most widely used Node.js library. |
| discord.py | Python | Discord | MIT | |
| Pycord | Python | Discord | MIT | Fork of discord.py. |
| hikari | Python | Discord | MIT | Typed, low-level. |
| JDA | Java | Discord | Apache-2.0 | |
| Discord4J | Java | Discord | LGPL-3.0 | Reactive. |
| serenity | Rust | Discord | ISC | |
| twilight | Rust | Discord | ISC | Modular. |
| DSharpPlus | C# / .NET | Discord | MIT | |
| discordgo | Go | Discord | BSD-3-Clause | |
| Bolt for JavaScript | TypeScript / JavaScript | Slack | MIT | Official. Socket Mode or HTTP. |
| Bolt for Python | Python | Slack | MIT | Official. |
| Bolt for Java | Java | Slack | MIT | Official. |
| slack-go | Go | Slack | BSD-2-Clause | Community. |
| matrix-bot-sdk | TypeScript / JavaScript | Matrix | MIT | |
| matrix-nio | Python | Matrix | ISC | Supports end-to-end encryption. |
| Hubot | JavaScript | Multi-platform | MIT | Adapters for chat services. |
| Errbot | Python | Multi-platform | GPL-3.0 | Plugin-based chatops bot. |
| Rasa (Open Source) | Python | Multi-platform | Apache-2.0 | Conversational AI framework. |
| Bot Framework SDK | C# / JavaScript / Python | Multi-platform | MIT | Microsoft; Teams and other channels. |
| LangChain | Python / TypeScript | LLM | MIT | Chains, tools, retrieval. |
| LlamaIndex | Python / TypeScript | LLM | MIT | Retrieval and data connectors. |
| Haystack | Python | LLM | Apache-2.0 | RAG pipelines. |
| Semantic Kernel | C# / Python / Java | LLM | MIT | |
| AI SDK | TypeScript | LLM | Apache-2.0 | Streaming and tool calling across providers. |
Choosing well
- Prefer libraries that track the platform API closely: look at release frequency and how fast new API features appear.
- Copyleft licenses (GPL, LGPL) have obligations when you distribute software; for a hosted bot the impact is usually smaller, but read the license.
- For Slack, the official Bolt SDKs handle signature verification, retries and Socket Mode for you.
Related: Starter templates, Directory.