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 (回调) 连接方式
更多协议正在适配中 ...
更多信息:简介 - 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.8.1.tar.gz
(29.4 kB
view details)
Built Distribution
alicebot-0.8.1-py3-none-any.whl
(33.1 kB
view details)
File details
Details for the file alicebot-0.8.1.tar.gz
.
File metadata
- Download URL: alicebot-0.8.1.tar.gz
- Upload date:
- Size: 29.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.8.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9aa7a20607c727143ddd16f53ef8b5cb4ce0847f65ee26c29fce52aa6917915 |
|
MD5 | cd4ded756b3ba003ca3fba9a1265f3e4 |
|
BLAKE2b-256 | ea9c2769b4ab9e1e61cf4898aa0671f3659d05ebfb42e9135b164c0655cfaf4c |
File details
Details for the file alicebot-0.8.1-py3-none-any.whl
.
File metadata
- Download URL: alicebot-0.8.1-py3-none-any.whl
- Upload date:
- Size: 33.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.8.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbf2b3a4f76078044d4883b8468a053300ac18c5336e0d0865f1a8f4471dbe44 |
|
MD5 | d7b20e122e23ed216668b9f93f20932a |
|
BLAKE2b-256 | e160f0129b956caeb4c9ecf17d9c2229af9eec2455ea431244746c8df431ab69 |