github.com/nonebot/nonebot2 ↗
跨平台 Python 异步聊天机器人框架 / Asynchronous multi-platform chatbot framework written in Python
Open this visualization on its own page →
Contributors
326
Lines of Code
11,328
From
2016-12-02
To
2023-07-21
About nonebot/nonebot2
NoneBot2 is a modern, cross-platform Python chatbot framework designed for building asynchronous bots that can connect to multiple messaging platforms. It leverages Python's async capabilities and type annotations to provide developers with a flexible, reliable foundation for chatbot development. The framework prioritizes async-first architecture, allowing it to handle high message volumes efficiently while maintaining clean, minimal code.
The framework's standout feature is its extensive multi-platform support through customizable protocol adapters. It officially supports numerous platforms including QQ, Telegram, Lark (飞书), Discord, DoDo, GitHub, and many others, with community-contributed adapters expanding compatibility to services like WeChat, Minecraft, and even Bilibili livestreams. Users can work with various web frameworks as drivers, including FastAPI, Quart, aiohttp, httpx, and websockets. The project provides 100% type annotation coverage, which enables IDE type inference to catch bugs during development rather than at runtime.
NoneBot2 is backed by an active community of over one hundred thousand direct and indirect users. The project includes a rich ecosystem of official and third-party plugins available through the NoneBot plugin store, and provides comprehensive documentation with community resources including FAQ, forums, and tutorials. Development is streamlined through the NB-CLI scaffolding tool, which simplifies project setup and allows developers to focus on business logic rather than boilerplate code.