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.

Share this video