一个简易(?),基于 mirai-api-http v2
的 Python SDK。
本项目适用于 mirai-api-http 2.0 以上版本。
项目仍处于开发阶段,部分内容可能会有较大改变
注: mirai-api-http 需要启用ws adapter和http adapter
本项目依赖于ArcletProject
下的Letoderea与Alconna
pip install cesloi
from arclet.cesloi.bot_client import Cesloi
from arclet.cesloi.model.relation import Friend
from arclet.cesloi.communicate_with_mah import BotSession
bot = Cesloi(bot_session=BotSession(host="http://localhost:8080", account=1234567890, verify_key="INITKEYWylsVdbr"),debug=False)
@bot.register("FriendMessage")
async def test(app: Cesloi, friend: Friend):
await app.send_with(friend, "Hello, World!", nudge=True)
bot.start()
In main.py
:
from arclet.cesloi.bot_client import Cesloi
from arclet.cesloi.communicate_with_mah import BotSession
bot = Cesloi(bot_session=BotSession(host="http://localhost:8080", account=1234567890, verify_key="INITKEYWylsVdbr"), debug=False)
bot.install_plugins("test_plugins")
bot.start()
In test_plugins/example_plugin.py
:
from arclet.cesloi.bot_client import Cesloi
from arclet.cesloi.model.relation import Friend
from arclet.cesloi.plugin import Bellidin as bd
@bd.model_register("FriendMessage")
async def test(app: Cesloi, friend: Friend):
await app.send_with(friend, "Hello, World!", nudge=True)
一期计划
- CommandAnalysis, 一个抽象的命令/命令参数处理器
- TimeScheduler, 一个根据时间选择是否执行目标函数的容器
- PluginManager, 不局限于在一个文件中运行方法
二期计划
- Interrupt, 中断处理
- Decorator,用户自定义的处理器
三期计划
- Commander, 基于Alconna的指令系统
- 网络层调整
- 完善文档
这些项目也很棒, 去他们的项目页看看, 点个
Star
以鼓励他们的开发工作, 毕竟没有他们也没有Cesloi
.
特别感谢 mamoe
给我们带来这些精彩的项目:
mirai
: 一个高性能, 高可扩展性的 QQ 协议库mirai-console
: 一个基于mirai
开发的插件式可扩展开发平台mirai-api-http
: 为本项目提供与mirai
交互方式的mirai-console
插件
GraiaProject
下的项目:
Broadcast Control
: 本项目关于参数解析与事件循环的的解剖学习对象。Application
: 本项目的通用功能的解剖学习与参考对象。Ariadne
: 本项目关于网络部分的学习与参考对象。
GNU AGPLv3
是本项目的开源许可证.