Skip to content

.Net 6异步机器人框架,跨平台,OneBot协议(原CQHTTP协议),在兼容协议的同时主要为Go-Cqhttp提供支持

License

Notifications You must be signed in to change notification settings

Kerwin1202/Sora

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


LOGO
Sora

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

文档

对.Net5的支持在1.0.0-rc26之后的版本将会停止,1.0将会发布单独的.Net5版本

之后的开发将会转为.Net6,由于.Net6为LTS的.Net版本,之后将会在.Net6的生命周期内使用.Net6进行开发

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

查看框架的说明文档 Docs 更新日志

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

详细的介绍文档还在编写

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

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

有关QQ频道的适配

本框架的正式版本和正常发布版本目前将不会支持Guild相关的API

可能之后V12协议成熟后会考虑支持

具有Guild API的测试版本已经在extra/guild分支中编写,如果需要这部分的API请自行clone引用或打包

警告:请勿将Guild分支测试版本在生产环境中使用,其中很多API都是实验性或不稳定的!

extra/guild 分支不一定会和主分支同步,可能我会直接摆烂(API和事件实在是太乱了)

所以Guild相关的API的适配,在经过一段时间考虑后,个人认为需要等到相关API成熟且V12协议同时也能够较好的支持相关API/事件的抽象化,才有可能考虑去适配

开发注意事项

目前框架并没有发布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,异步扩展工具箱

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

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

About

.Net 6异步机器人框架,跨平台,OneBot协议(原CQHTTP协议),在兼容协议的同时主要为Go-Cqhttp提供支持

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%