Skip to content

Releases: RF-Tar-Railt/satori-python

Satori-Python 0.10.0

11 Mar 07:37
Compare
Choose a tag to compare
  • 更换新的message content 解析逻辑
  • 调整许多elements的构造方法
  • Account.custom 可以传入自定义 SessionType 来拓展 api

Full Changelog: v0.9.2...v0.10.0

Satori-Python 0.9.2

06 Dec 07:05
Compare
Choose a tag to compare
  • 修复 UserMember 的字段问题
  • 事件体中的 Message 类改名为 MessageObject,以与作为消息元素的 Message 区分
  • Element 添加了 docstring

Full Changelog: v0.9.1...v0.9.2

Satori-Python 0.9.1

29 Nov 15:22
Compare
Choose a tag to compare
  • 修复 Channel.type 未转为 ChannelType 的问题

Full Changelog: v0.9.0...v0.9.1

Satori-Python 0.9.0

26 Nov 18:05
Compare
Choose a tag to compare

破坏性改动

  • 将整体结构区分为 core,client 与 server,同时原有包不变:
    • satori-python-core: 包括 Element, Config, Model, Exception 等
    • satori-python-client: 包括 App, Account, Session, Network
    • satori-python-server: 包括 Server, Adapter 等
    • satori-python: 以上三者的合体包
  • Config.network 取消

新增

  • 增加了枚举类 EventType
  • 增加了 App.register_config 类方法,用来增加配置 -> 网络连接的映射

Full Changelog: v0.8.0...v0.9.0

Satori-Python 0.8.0

16 Nov 04:40
Compare
Choose a tag to compare

新增

Full Changelog: v0.7.0...v0.8.0

Satori-Python 0.7.0

08 Nov 05:37
Compare
Choose a tag to compare

新增

  • 允许用户使用拓展的消息元素
    • Custom: 自定义消息元素
    • Raw: 原生消息元素

改进

  • Link 增加属性 display
  • Image 等增加参数 extra, 表示额外的属性
  • Message, Quote, Custom 可用 __call__ 方法来增加子类元素

Full Changelog: v0.6.1...v0.7.0

Satori-Python 0.6.1

31 Oct 07:02
Compare
Choose a tag to compare
  • 支持配置 path (即api的前缀)

Full Changelog: v0.6.0...v0.6.1

Satori-Python 0.6.0

29 Oct 05:25
Compare
Choose a tag to compare

新增

Server.apply 方法现在能可以接受满足 ProviderRouter 协议的类

Provider 是负责推送事件,以及ws连接时鉴权的类:

class Provider(Protocol):
    def publisher(self) -> AsyncIterator[Event]:
        ...

    def authenticate(self, token: str) -> bool:
        ...

    async def get_logins(self) -> list[Login]:
        ...

Router 是负责接口响应的类:

class Router(Protocol):
    def validate_headers(self, headers: dict[str, Any]) -> bool:
        ...

    async def call_api(self, request: Request[Api]) -> Any:
        ...

    async def call_internal_api(self, request: Request[str]) -> Any:
        ...

显然, Adapter 同时满足上述协议

改进

  • server 现在会对内部接口的请求做单独处理

Full Changelog: v0.5.0...v0.6.0

Satori-Python 0.5.0

25 Oct 08:26
Compare
Choose a tag to compare

破坏性改动

  • 移除 Adapter.bind_event_callback,由 Adapter.publisher 替代

新增

  • 新增枚举 Api,包含 satori 协议下的所有 API 字段

改进

  • Server.override 改名为 Server.route,支持传入 Api 枚举 或字符串路径 (若为字符串路径则认为是一个内部接口)
  • Config 增加属性 network,返回一个 BaseNetwork 子类 (即允许自定义 network)

Full Changelog: v0.4.0...v0.5.0

Satori-Python 0.4.0

23 Oct 07:29
Compare
Choose a tag to compare

破坏性改动

  • Account 移除 client 属性

新增

  • App 支持 webhook 配置与连接,使用 WebhookInfo
  • Server 支持 webhook 配置,同样使用 WebhookInfo
  • 新增 Account.session 属性,负责 api 的请求
  • 新增 Account.custom 方法,用于自定义 api 请求的目的地址

改进

  • ClientInfo 改名为 WebsocketsInfo
  • Server 在推送事件失败后不会抛出异常而是打印
  • 原 Account 下的方法转为间接调用 session
  • BaseNetwork 不再维护 api 调用,只负责接收事件

修复

  • 修复请求头的字段异常

Full Changelog: v0.3.1...v0.4.0