Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

更新至v2.0.0-rc.1 #60

Merged
merged 2 commits into from
Sep 24, 2021
Merged

更新至v2.0.0-rc.1 #60

merged 2 commits into from
Sep 24, 2021

Conversation

Executor-Cheng
Copy link
Owner

@Executor-Cheng Executor-Cheng commented Sep 23, 2021

close #59
close #57
close #56
close #55
close #51
close #50
close #49
close #48
close #32
close #26
close #24
现拆分为 Mirai-CSharpMirai-CSharp.HttpApi 两个项目

重大更改

  • 更改根命名空间。从 Mirai_CSharp 改为 Mirai.CSharp
  • 删除所有位于 Mirai_CSharp.Plugin 以及子命名空间下的所有类型
  • 消息处理方法的返回值从 Task<bool> 改为 Task, 若要中断消息处理队列, 请将消息对象(e)下的 BlockRemainingHandlers 属性改为 true
  • 将所有消息链类型移至 Mirai.CSharp.Model.ChatMessagesMirai.CSharp.HttpApi.Model.ChatMessages
  • 将所有的消息类型移动至 Mirai.CSharp.Models.EventArgs
  • Mirai_CSharp.Models.MessageBase 拆分为 Mirai.CSharp.Model.ChatMessages.(I)ChatMessage
  • Mirai_CSharp.Models.MessageBuilder 拆分为 Mirai.CSharp.Builders.(I)MessageChainBuilder
  • 删除对原 Mirai_CSharp.Models.MessageBuilder 的扩展类, 将其下所有方法移动至 Mirai.CSharp.Builders.(I)MessageChainBuilder
  • Mirai_CSharp.MiraiHttpSession 拆分为 Mirai.CSharp.Session.IMiraiSession, Mirai.CSharp.HttpApi.Session.(I)MiraiHttpSession
  • 删除原 Mirai_CSharp.MiraiHttpSession 下的所有事件
  • Mirai.CSharp.Models.PokeMessage.PokeType 移动至 Mirai.CSharp.Models.PokeType

新增功能

  • 所有异步api均支持使用给定的 CancellationToken 取消操作, 必要时添加了 ConfigureAwait(false)
  • 允许获取 机器人/好友/群员 的个人资料, 定义位于 Mirai-CSharp/Session/IMiraiSession.FetchProfile.cs
  • 允许对群文件进行操作, 定义位于 Mirai-CSharp/Session/IMiraiSession.GroupFile.cs
  • 允许设置群精华消息, 方法签名是 IMiraiSession.SetEssenceMessageAsync(int, CancellationToken)
  • 允许删除好友, 方法签名是 IMiraiSession.DeleteFriendAsync(long, CancellationToken)
  • 允许戳一戳, 方法签名是 IMiraiSession.NudgeAsync(NudgeTarget, long, long?, CancellationToken)
  • 支持解析消息链中的转发消息。定义参考 Mirai.CSharp.Models.ChatMessages.IForwardMessageMirai.CSharp.Models.ChatMessages.IForwardMessageNode
  • 支持解析消息链中的摇骰子消息。定义参考 Mirai.CSharp.Models.ChatMessages.IDiceMessage
  • 支持解析消息链中的分享音乐消息。定义参考 Mirai.CSharp.Models.ChatMessages.ISharedMusicMessage
  • 支持处理群荣誉更改消息。消息接口是 Mirai.CSharp.Models.EventArgs.IGroupMemberHonorChangedEventArgs
  • 支持处理陌生人消息。消息接口是 Mirai.CSharp.Models.EventArgs.IStrangerMessageEventArgs
  • 支持处理其它客户端消息。消息接口是 Mirai.CSharp.Models.EventArgs.IOtherClientMessageEventArgs

注意事项

  • Mirai-CSharp基础项目, Mirai-CSharp.HttpApi实现项目, 即对接 mirai-api-http, 将来也可能有 Mirai-CSharp,Native, 对接 mirai-native
  • 基础项目中, 有关消息、消息链的抽象模型均为接口, 在实现项目中才有实现类, 且接口名称完全一致, 请注意将要使用到的接口位于哪一个项目中

迁移方法

看一看示例项目里边的代码注释就好辽
还是不懂那就在上边的 Discussion 里边开一贴询问吧

详见PR #60
详细一下示例项目中的注释
@Executor-Cheng Executor-Cheng merged commit d6dae9e into master Sep 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment