A simply asynchronous python chatbot framework.
Project description
简介
AliceBot 是一个简单的 Python 异步多后端机器人框架,支持多种协议适配,可以轻松地编写易于学习和使用的插件来拓展其功能。
本项目受到了 NoneBot 项目的启发,您可以在对比小节中查看这两个项目的异同,以便您选择更适合自己的机器人框架。
特点
- 简单:AliceBot 使用了非常灵活且易于使用的插件编写方式,您只需要编写两个方法即可实现一个功能强大的插件。
- 灵活:AliceBot 的适配协议并不与任何一种库或网络协议绑定,您可以自由选择或编写适合您的适配器。
- 高效:AliceBot 基于 Python 的异步 I/O,轻松处理大量请求。较少的封装,在保持易用的同时追求最好的性能。
目前 AliceBot 官方维护了以下协议适配:
- OneBot (CQHTTP) 协议 (支持 QQ 等) ws 和 ws-reverse 连接方式
- OneBot v12 协议 的 ws 和 ws-reverse 连接方式
- mirai-api-http 协议 2.0+ ws 和 reverse-ws 连接方式
- 钉钉企业机器人的 outgoing (回调) 连接方式
- Telegram 机器人的 polling 和 webhook 连接方式
更多协议正在适配中 ...
更多信息:简介 - AliceBot 文档
即刻开始
-
安装:
pip install alicebot[all]
-
第一个 AliceBot 项目:
from alicebot import Bot bot = Bot() bot.load_adapters("alicebot.adapter.cqhttp") bot.run()
-
第一个 AliceBot 插件:
from alicebot import Plugin class Echo(Plugin): async def handle(self) -> None: await self.event.reply(self.event.message.replace("echo ", "")) async def rule(self) -> bool: if self.event.adapter.name != "cqhttp": return False if self.event.type != "message": return False return self.event.message.startswith("echo ")
更多信息请参阅 AliceBot 文档。
对比
本项目受到了 NoneBot 项目的启发,以下简单介绍两者的异同。
相同点:
- 两者都是使用 Python 编写的,使用了协程异步的高性能机器人框架。
- 两者都支持多种协议。
- 两者都会对机器人收到的事件进行解析和处理,并按优先级分发给插件 (事件响应器) 来完成具体的功能。
- 两者都基于 MIT 协议开源,这意味着您可以在遵循协议的前提下任意使用本项目。
不同点:
- 总的来说,NoneBot 是一个较为全面的机器人框架,而 AliceBot 是一个小巧简洁的机器人框架,它不包含一些复杂的高级特性,但更加灵活且易于学习。
- AliceBot 的插件编写风格和 NoneBot 不同,相对而言,AliceBot 更加注重于易于入门和“渐进式框架”,这意味着 AliceBot 大部分的功能都是可选的,您只需要了解很少的知识即可开始使用,随着项目规模的扩大和复杂性的增加,您可以继续深入需要的特性,而不需要一开始就掌握全部的特性。“它是一个可以与你共同成长、适应你不同需求的框架。”
- NoneBot 在实现上与 HTTP / WebSocket 通讯协议深度绑定,它需要一个支持 ASGI 服务器协议的“驱动器”,而 AliceBot 并不与任何协议绑定,它甚至可以用来驱动您的树莓派智能音箱。当然,如果您只需要一个支持常见网络聊天工具的机器人框架的话,它们并没有什么区别。
- NoneBot 拥有相对庞大的用户基数和社区规模,也拥有数量众多的插件,而 AliceBot 则是一个新生项目,这意味着如果您使用 NoneBot 您可能会更加容易找到已经编写完毕的您感兴趣的插件,并且您当您遇到问题时也能够更快地查找到相关资料或者获得解答。
总而言之,两者有着各自的特点,您可以根据需要选用。
许可证
AliceBot 采用 MIT 许可证开放源代码。
本项目的图标由迷糊小梦神绘制,作为本项目的一部分,使用与本项目相同的许可证开放使用。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alicebot-0.11.0.tar.gz.
File metadata
- Download URL: alicebot-0.11.0.tar.gz
- Upload date:
- Size: 30.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.4.29
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0910fb1cba098ae5f01c38ea16ceb36eb51dde998352764ebfe7591e767ed713
|
|
| MD5 |
bb7f639446ef4d79c497422539e61014
|
|
| BLAKE2b-256 |
ba9a9710241c4a1d4f9b791ee03eee9b5db874a688788ee605cd84b537a3e198
|
File details
Details for the file alicebot-0.11.0-py3-none-any.whl.
File metadata
- Download URL: alicebot-0.11.0-py3-none-any.whl
- Upload date:
- Size: 34.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.4.29
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f686c9732181d5a655ff59c17f1bc9ba98a521842217c1650c0381565f070cb3
|
|
| MD5 |
73bbf9ad439c36ca1e984151b310b24b
|
|
| BLAKE2b-256 |
1a2f91570caf7c39a4846b2ef7121510d2d05852d4e515e66bc3bbdabded0160
|