Hoshikawa-Kaguya / Sora

.Net 6异步机器人框架,跨平台,OneBot协议(原CQHTTP协议),在兼容协议的同时主要为Go-Cqhttp提供支持
Apache License 2.0
177 stars 30 forks source link
bot cqhttp csharp go-cqhttp onebot onebot-sdk sora websocket


LOGO
Sora

一个基于OneBot协议的 C#/.Net 6 异步机器人开发框架 | 框架文档

nuget onebot license stars workflow gocq-ver

重要信息

go-cqhttp 因为qq官方的一系列协议升级,可能后续会停止开发

详细的原因:go-cqhttp#2471

目前的情况是,gocq能用就不要做任何迁移,如果一定要迁移,哈哈,我也不知道迁移到哪,替代的已经无了

文档

=====本框架只支持Array的上报格式!=====

本页面不会对框架的特性做介绍,如果需要详细了解框架的功能一定要看文档

->Docs<-

->更新日志<- 更新日志中会标注框架所对应的go-cqhttp版本号

文档目前只有简单的向导和自动生成API文档

详细的介绍文档还在编写

如需要查看最新自动生成的文档请前往 Sora on fuget.org

支持的连接方式 - 正向Websocket - 反向Websocket

关于本框架

本框架从开始到今后都只会支持onebot协议,非onebot的平台并不会考虑进行支持

这是一个以轻量为主的 onebot 机器人开发框架,主要的支持方向为 go-cqhttp

这个框架将会一直以简单易用为主,也会向着更加便捷的方向进行开发

所以不会有什么特别复杂的功能

同时也不会将框架拆分为多个不同功能的包 毕竟本来就没有什么功能

如果希望拥有 指令路由 多IM平台支持 等等功能,推荐使用 OneBot-Framework

这个项目同时也是我学习C#这个语言的过程中的产物,所以里面可能会部分拉高血压的代码 屎山

如果有什么建议的话,可以在Discussions里提出哦

开发注意事项

开源协议 本项目使用了 `Apache-2.0`开源协议 这意味着在引用/修改本类库时需要遵守相关的协议规定
代码复查 ### 我复查了某一段代码 如果有代码复查,请在函数上面贴上Reviewed以代表是谁以及什么时候进行了代码复查 例如: ```csharp [Reviewed("XiaoHe321", "2021-03-11 00:45")] internal async ValueTask METHOD_NAME() ``` 若修改了这段代码,请将Reviewed注解及时删除,以方便代码复查人员知道,你改了这段代码,方便进行复查。 对于自己代码的复查,请不要贴上Reviewed。 ### 我修改了一段代码需要复查 如果有代码需要复查,请在函数上面贴上NeedReview以代表这段代码需要复查 例如: > 行号也可以是 `ALL`一代表这整个方法都需要检查 ```csharp [NeedReview("L12-L123")] internal async ValueTask METHOD_NAME() ```
QQ频道 本框架的正式版本和正常发布版本目前将不会支持Guild相关的API 具有Guild API的测试版本已经在 `extra/guild`分支中编写,如果需要这部分的API请自行clone引用或打包 **警告:请勿将Guild分支测试版本在生产环境中使用,其中很多API都是实验性或不稳定的!** `extra/guild` 分支不会和主分支同步,这是一个完全实验性质的分支 把这两套IM的协议做在一个框架里会导致API非常混乱(我都不知道QQ项目组的人怎么想的) 并且鉴于频道也没什么人用,而且通话质量依旧是中东战场音质,本框架将会在V12协议适配频道协议后再考虑适配问题

关于ISSUE

ISSUE 目前只接受bug的提交和新功能的建议

如果有使用问题或者不确定的问题请使用Discussions

请注意, 开发者并没有义务回复您的问题. 您应该具备基本的提问技巧。

如果不知道该怎么样提问,那么请在提问前阅读 提问的智慧

以下ISSUE会被直接关闭

关于命名

Sora这个名字来源于日语中"空"的罗马音

一拍脑袋想的.jpg

鸣谢

感谢以下大佬对本框架开发的帮助

Mrs4s | wdvxdr1123 在使用go-cqhttp调试时提供了帮助

Kengxxiao | ExerciseBook 对框架做出了改进

使用到的开源库

Fleck | 反向WS服务器

Websocket.Client | 正向WS客户端

Newtonsoft.Json | Json序列化/反序列化

protobuf-net | ProtoBuf序列化/反序列化

System.Reactive | 响应式异步API支持

YukariToolBox | Log,异步扩展工具箱

感谢 JetBrains 为开源项目提供免费的全家桶授权

本项目使用了免费的ReSharper插件/Rider开发环境

jetbrains

jetbrains

jetbrains