A simply asynchronous python chatbot framework.
Project description
简介
AliceBot 是一个简单的 Python 异步多后端机器人框架,支持多种协议适配,可以轻松地编写易于学习和使用的插件来拓展其功能。
本项目受到了 NoneBot 项目的启发,您可以在 对比 小节中查看这两个项目的异同,以便您选择更适合自己的机器人框架。
特点
- 简单:AliceBot 使用了非常灵活且易于使用的插件编写方式,您只需要编写两个方法即可实现一个功能强大的插件。
- 灵活:AliceBot 的适配协议并不与任何一种库或网络协议绑定,您可以自由选择或编写适合您的适配器。
- 高效:AliceBot 基于 Python 的异步 I/O,轻松处理大量请求。较少的封装,在保持易用的同时追求最好的性能。
目前 AliceBot 官方维护了以下协议适配:
- OneBot (CQHTTP) 协议 (支持 QQ 等)ws 和 ws-reverse 连接方式
- mirai-api-http 协议 2.0+ ws 和 reverse-ws 连接方式
- 钉钉 企业机器人的 outgoing (回调)连接方式
更多协议正在适配中 ...
更多信息:简介 - 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
alicebot-0.7.1.tar.gz
(30.7 kB
view details)
Built Distribution
alicebot-0.7.1-py3-none-any.whl
(32.8 kB
view details)
File details
Details for the file alicebot-0.7.1.tar.gz
.
File metadata
- Download URL: alicebot-0.7.1.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.0 CPython/3.10.6 Linux/5.15.0-1037-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab91fbee9883f70a4b2a4ad7ccbc494994e963447d9246f406375bf46a9052e0 |
|
MD5 | 176ffd65f79f5896dae11670282349c1 |
|
BLAKE2b-256 | 02f6fc7eab2a14496da343efc3168ae9967652076db9054f223b77d0472f34af |
File details
Details for the file alicebot-0.7.1-py3-none-any.whl
.
File metadata
- Download URL: alicebot-0.7.1-py3-none-any.whl
- Upload date:
- Size: 32.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.0 CPython/3.10.6 Linux/5.15.0-1037-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76228d76b32897df75fdc5a8ddb80d15dcd8cf7232a458286ddaa19c7b823428 |
|
MD5 | 442c3b6f89a3779f0dceff2fad435e64 |
|
BLAKE2b-256 | 47c5b74e6c470d4cce11681adbe8a40f245923d11ab3da9709f0ef09bd8845a7 |