Reference data

Bot frameworks and libraries compared by language and platform

Pick a library your team can maintain in a language you already deploy. Licenses link through to each project; check the repository for the current one before you ship.

Last checked against official documentation:

LibraryLanguagePlatformLicenseNotes
grammYTypeScript / JavaScriptTelegramMITRuns on Node.js, Deno, Bun and edge runtimes.
TelegrafTypeScript / JavaScriptTelegramMITMiddleware-based.
python-telegram-botPythonTelegramLGPL-3.0asyncio-based, extensive docs.
aiogramPythonTelegramMITAsync, routers and finite state machines.
pyTelegramBotAPIPythonTelegramGPL-2.0Sync and async interfaces.
teloxideRustTelegramMIT
Telegram.BotC# / .NETTelegramMIT
discord.jsTypeScript / JavaScriptDiscordApache-2.0The most widely used Node.js library.
discord.pyPythonDiscordMIT
PycordPythonDiscordMITFork of discord.py.
hikariPythonDiscordMITTyped, low-level.
JDAJavaDiscordApache-2.0
Discord4JJavaDiscordLGPL-3.0Reactive.
serenityRustDiscordISC
twilightRustDiscordISCModular.
DSharpPlusC# / .NETDiscordMIT
discordgoGoDiscordBSD-3-Clause
Bolt for JavaScriptTypeScript / JavaScriptSlackMITOfficial. Socket Mode or HTTP.
Bolt for PythonPythonSlackMITOfficial.
Bolt for JavaJavaSlackMITOfficial.
slack-goGoSlackBSD-2-ClauseCommunity.
matrix-bot-sdkTypeScript / JavaScriptMatrixMIT
matrix-nioPythonMatrixISCSupports end-to-end encryption.
HubotJavaScriptMulti-platformMITAdapters for chat services.
ErrbotPythonMulti-platformGPL-3.0Plugin-based chatops bot.
Rasa (Open Source)PythonMulti-platformApache-2.0Conversational AI framework.
Bot Framework SDKC# / JavaScript / PythonMulti-platformMITMicrosoft; Teams and other channels.
LangChainPython / TypeScriptLLMMITChains, tools, retrieval.
LlamaIndexPython / TypeScriptLLMMITRetrieval and data connectors.
HaystackPythonLLMApache-2.0RAG pipelines.
Semantic KernelC# / Python / JavaLLMMIT
AI SDKTypeScriptLLMApache-2.0Streaming 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.