Skip to content

更新日志(截至0.0.5)

bleatingsheep edited this page Apr 14, 2021 · 1 revision

0.0.2

  • 优化了多次获取 ReceivedMessage.Sections 属性时的性能。
  • 增加 ReceivedMessage.TryGetPlainText(out string text) 方法
  • 现在转发时将保持头部中的 X-Signature 不变。

0.0.3

API

  • 将 API 访问网络的方法移到 HttpApiClient 类,并提取 CallRawAsync() 方法,方便重载。
  • 增加 HttpApiClient.CallAsync() 方法,方便调用本类库没提供的 API。可以使用继承或扩展方法的方式封装。

Section

  • Section 增加 Raw 属性,方便查看其字符串形式。
  • Section 增加几个构造方法,方便构造自己的消息段。
  • 修复 Section 在参数顺序不同时 GetHashCode() 返回不同结果的 bug。现在参数顺序不分先后。潜在可能影响现有代码行为,但目前未找到真正有影响的情况。

Message 及其子类

  • Message 类的构造方法改为 protectedSerializing 属性改为 protected internal abstract(原来是 internal abstract)。所以你可以继承并实现自己的 Message。
  • 修改了现有的 Message 子类 Serializing 属性的修饰符,以配合上一项。
  • SendingMessage 增加 Sections 属性,返回类型为 IReadOnlyList<Section>

Message 及其子类不兼容的更改 (注意:不向后兼容)

  • 修改了 SectionMesssage 的大部分内容。现在 SectionMessage 的构造方法均被限制,也就是说,无法从外部继承。可能在以后重新开放。

框架

  • 支持 .NET Framework 4.5。

0.0.4

  • 修改 HttpApiClient 类中的部分虚方法,以便更好地支持 WebSocket。主要更改是把 url 参数改为了 action如果您重载过 CallRawAsync 方法,您需要修改代码以确保代码正常运行。
  • GroupMemberInfo 中的属性被补齐。
  • 增加禁言匿名成员、禁言发送人(通过 MessageSource 自动识别是不是匿名成员)、全体禁言的 API。
  • ApiPostListenerStartListen 方法、PostAddressIsListening 属性改为 virtual,方便实现 WebSocket。
  • ApiPostListener.RepeatAsync 方法使用 try-catch 包围,以免发生异常导致程序崩溃。
  • 增加 SenderInfo 类。GroupMessage 类中增加 Sender 字段(需要 CoolQ HTTP API 插件版本 >= 4.7.0)。

0.0.4.2

  • 修复使用 array 上报类型时,访问 Content 出错的问题。
  • 细节特性更新。

0.0.5

  • 新增 get_statusget_group_listget_friend_list API。
  • 新增群禁言事件。
  • 处理了加群、好友等请求时,请求消息含有 CQ 码的情况。
  • 增加了 EndpointMessageSourceToString() 方法重载。
  • HttpClient 改为单例模式。
  • 减少了转发时的重新编码损耗。