Sora
Sora copied to clipboard
.Net 6异步机器人框架,跨平台,OneBot协议(原CQHTTP协议),在兼容协议的同时主要为Go-Cqhttp提供支持
Sora
一个基于OneBot协议的 C#/.Net 6 异步机器人开发框架
文档
对.Net5的支持在1.0.0-rc26之后的版本将会停止,1.0将会发布单独的.Net5版本
之后的开发将会转为.Net6,由于.Net6为LTS的.Net版本,之后将会在.Net6的生命周期内使用.Net6进行开发
=====本框架只支持Array的上报格式!=====
文档目前只有简单的向导和自动生成API文档
详细的介绍文档还在编写
支持的连接方式
- 正向Websocket
- 反向Websocket
有关QQ频道的适配
本框架的正式版本和正常发布版本目前将不会支持Guild相关的API
具有Guild API的测试版本已经在extra/guild
分支中编写,如果需要这部分的API请自行clone引用或打包
警告:请勿将Guild分支测试版本在生产环境中使用,其中很多API都是实验性或不稳定的!
extra/guild
分支不会和主分支同步,这是一个完全实验性质的分支
把这两套IM的协议做在一个框架里会导致API非常混乱(我都不知道QQ项目组的人怎么想的)
并且鉴于频道也没什么人用,而且通话质量依旧是中东战场音质,本框架将会在V12协议适配频道协议后再考虑适配问题
开发注意事项
目前框架并没有发布LTS版本
目前会和go-cqhttp同步进行更新和调整
并在go-cqhttp正式更新LTS版本时更新第一个LTS版本
框架在LTS版本前可能会因为各种调整而做出毁灭性调整
详细内容请关注 更新日志
更新日志中会标注框架所对应的go-cqhttp版本号,并且框架对所对应的go-cqhttp均具有完整的API支持/扩展
开源协议
本项目使用了Apache-2.0
开源协议
这意味着在引用/修改本类库时需要遵守相关的协议规定
代码复查
我复查了某一段代码
如果有代码复查,请在函数上面贴上Reviewed以代表是谁以及什么时候进行了代码复查
例如:
[Reviewed("XiaoHe321", "2021-03-11 00:45")]
internal async ValueTask METHOD_NAME()
若修改了这段代码,请将Reviewed注解及时删除,以方便代码复查人员知道,你改了这段代码,方便进行复查。
对于自己代码的复查,请不要贴上Reviewed。
我修改了一段代码需要复查
如果有代码需要复查,请在函数上面贴上NeedReview以代表这段代码需要复查
例如:
行号也可以是
ALL
一代表这整个方法都需要检查
[NeedReview("L12-L123")]
internal async ValueTask METHOD_NAME()
关于ISSUE
ISSUE 目前只接受bug的提交和新功能的建议
如果有使用问题或者不确定的问题请使用Discussions
请注意, 开发者并没有义务回复您的问题. 您应该具备基本的提问技巧。
如果不知道该怎么样提问,那么请在提问前阅读 提问的智慧
以下ISSUE会被直接关闭
- 提交BUG时没有使用Template
- 提交当前版本下已经被修复的BUG
- 询问问题(为什么不用用Discussions呢)
关于本框架
Sora这个名字来源于日语中"空"的罗马音
当初只是想到了空灵这个词就想到了这么个字 ~~假装自己会起名~~
这个项目同时也是我学习C#这个语言的过程中的产物,所以里面可能会部分拉高血压的代码 ~~屎山~~
如果有什么建议的话,可以在Discussions里提出哦
鸣谢
感谢以下大佬对本框架开发的帮助
Mrs4s | wdvxdr1123 在使用go-cqhttp调试时提供了帮助
Kengxxiao | ExerciseBook 对框架做出了改进
使用到的开源库
Fleck | 反向WS服务器
Websocket.Client | 正向WS客户端
Newtonsoft.Json | Json序列化/反序列化
System.Reactive | 响应式异步API支持
YukariToolBox | Log,异步扩展工具箱