Edoves 是 Arclet Project 基于同项目下的 Cesloi 的 第二代 框架实现, 采取了模块化设计, 最大程度上简化了交互操作
该框架目前处于快速迭代状态, API 可能会发生 剧烈 变化, 建议根据changelog选择合适的版本
pip install --upgrade arclet-edoves
-
主要部分
-
InteractiveObject: 对Unity3d中GameObject的简易模仿-
Monomer: 代表逻辑关系的IO-
PremissonGroup存储权限相关信息
-
-
Module: 负责处理事件的IO-
ServerDocker: 负责网络会话交互 -
Commander: 基于Arclet Alconna的指令触发系统
-
-
DataParser: 负责低层级的数据处理
-
-
Component: IO的主要属性, 负责实际的数据管理与事件响应 -
Medium: 传输事件信息的载体 -
Protocol: 作为数据源与IO的转接层, 负责数据解析与Medium的调度 -
Scene: 对IO统一的生命周期管理, 是多账号功能的实现 -
Server: 对IO的管理, 包括Scene的管理 -
Permission: 权限管理
-
-
杂项
-
NetworkClient: 对网络端的抽象处理 -
Filter: 对事件内容的限制操作
-
-
实现支持
-
Edoves for mirai-api-http: 对mirai-api-http的支持. -
Edoves for OneBot: 对OneBot的协议实现. -
Edoves for go-cqhttp: 对go-cqhttp的扩展 API 支持.
-
main.py:
from arclet.edoves.mah.module import MessageModule
from arclet.edoves.mah import MAHConfig
from arclet.edoves.builtin.medium import Message
from arclet.edoves.builtin.event.message import MessageReceived
from arclet.edoves.builtin.client import AiohttpClient
from arclet.edoves.main import Edoves
async def test_message_reaction(message: Message):
if message.content.startswith("Hello World"):
await message.set("I received 'Hello World'!").send()
app = Edoves(
configs={
"MAH-default": (
MAHConfig,
{"verify_token": "INITKEYWylsVdbr", "port": "9080", "client": AiohttpClient, "account": 3542928737}
)
}
)
with app["MAH-default"].context() as scene:
scene.require_module(MessageModule).add_handler(MessageReceived, test_message_reaction)
app.run()这些项目都非常优秀, 我相信你听说过他们
Edoves 及其拓展 使用 MIT 作为开源协议.
但如果你若引用到了使用具有传染性开源协议(如 GPL/AGPL/LGPL 等)的项目, 请遵循相关规则.