Skip to content

Meloland/melobot

melobot

插件化管理、基于异步会话机制的机器人开发框架

license - BSD-3-Clause license - CC-BY-SA-4.0 melobot docs GitHub Repo stars cqhttp

Made with Python PDM - Managed PyPI Code style: black Checked with mypy

🔄 工作计划

主分支为 melobot v2 的代码,melobot v3 正在其他分支开发。v3 计划支持各种协议以扩展至各种平台提供机器人服务。主分支目前不再接受功能新增,但仍然接受 bug 修复直至 melobot v3 发布。

我们不建议您现在迁移到 melobot,因为 v3 版本会在 24 年 6 月初发布,届时 v2 将会停止维护。现在迁移到 melobot v2 是不必要的。

有任何意见或建议,欢迎加入 qq 群与我们讨论:535705163

⚠️ 声明

melobot 是由热爱技术的开发者共同维护的开源项目。我们致力于提供一个可靠、高效的软件工具,以促进技术交流和创新。以下简称 melobot 项目为“本项目”。

本项目严禁用于任何非法目的,包括但不限于侵犯版权、商标、商业机密或其他知识产权,以及违反任何适用的法律和法规。我们不对因非法使用本项目而产生的任何直接、间接、附带、特殊、惩罚性或后果性损害承担责任。

🎉 简介

melobot 是基于 Python 的机器人开发框架。目前已完成版本为 v2,只适用于搭建 qq 机器人,v3 正在开发中。

melobot v2 以Onebot 标准的实现程序作为前端,通过对来自“前端”的各种“事件”的处理,产生“行为”提交给“前端”,让“前端”与 qq 服务器交互,从而实现各种复杂的功能。

✨ 特色

为什么选择 melobot?因为 melobot 更自由、优雅和强大

  • 异步性能:基于 asyncio,但使用性能更优秀的事件循环策略:uvloop/winloop
  • 插件管理:更低耦合度的插件加载与通信
  • 会话控制:自动传递的、可自定义的会话
  • 预处理流程:可传播会话信息的、灵活的、可自定义的事件预处理
  • 生命周期控制:支持 bot 生命周期 hook
  • 多实例协同:多 bot 实例运行,跨实例通信
  • 异步接口:常用异步逻辑的封装,使各种业务逻辑更简洁
  • 日志支持:日志记录兼容标准库和绝大多数日志框架

使用本框架的机器人项目如下:

你可以将这些项目作为 melobot 使用的实例参考。欢迎你基于 melobot 实现完整的机器人项目后,向本文档提出 PR,在此处展示。

💬 文档

项目文档:melobot 文档(v2 版本且不完整)

对于文档可能出现的纰漏,恳请各位包涵。欢迎提出修正和优化文档的 PR:文档源文件

📦️ 安装使用

通过 pip 命令安装:

pip install melobot

或从源码构建:

本项目通过 pdm 管理,你首先需要安装 pdm

# 随后在本项目根目录:
pdm install
pdm build

之后可在 .pdm-build 目录获取本地构建,pip 本地安装即可。提示:首次运行 pdm 需要初始化虚拟环境,请参照 pdm 文档操作。

🪄 版本特性

  • python 版本需要 >=3.10
  • 可跨平台使用
  • 通信标准:OneBot v11

📜 开源许可

本项目使用双许可证。

docs 目录内所有内容在 CC-BY-SA-4.0 许可下发行。

此部分版权主体为:

melobot 文档的所有贡献者

docs 目录外所有内容在 BSD 3-Clause 许可下发行。

此部分版权主体为:

melobot 项目代码的所有贡献者