Skip to content

Latest commit

 

History

History
640 lines (333 loc) · 15.9 KB

CHANGELOG.md

File metadata and controls

640 lines (333 loc) · 15.9 KB

更改日志

未发布的更新

0.8.2

修复

适配 Amnesia0.5.5+. 修复了同时使用 http 和 webhook 通讯时无法调用 api 的问题

回退

回退了 0.8.0 中的改进: 使用 url 作为基于 PathMultimediaElement 的实现.

0.8.1

修复

修复了 graia.ariadne.entry 的部分错误与缺失.

0.8.0

改进

MatchTemplate 现在支持 Element 类的 Union.

Ariadne.launch_blocking 支持自定义停止信号.

自动忽略结束时未完成的 Amnesia transport 导致的 CancelledError.

使用 url 作为基于 PathMultimediaElement 的实现.

修复

修复 HttpServerInfo 缺失 verify_key 导致 TypeError 的问题.

修复 interrupt util 的内置 wait 问题.

移除

移除了弃用的方法名转换和部分事件属性名.

0.7.18

修复

修复了 Commander 无法正确识别可选参数的问题.

修复了项目 Classifier 不正常的问题.

0.7.17

其他

改用 pdm 管理项目依赖.

修复

修复 ForwardNode 的序列化问题.

修复了 creart 导入顺序的问题.

0.7.16

改进

更改了遥测的显示顺序, 改进了显示方式.

model.relationship 下的 Model 不再是内部类.

支持 Forward 转发消息的序列化.

支持直接使用 MessageEvent 作为片段构造转发消息.

新增

添加 AnnotationWaiter.

可以在 MatchRegexTwilight 中使用 RegexGroup 来提取正则表达式中的组.

修复

修复了 WebsocketServerConnection 不会自动注入服务器依赖的问题.

修复了 Saya util.

0.7.15

新增

添加 BotLeaveGroupDisband 事件. (project-mirai/mirai-api-http#585)

改进

Commander 现在在尾部支持多个可选的 Slot. (#181)

Twilight 现在可以较好地分派带有泛型的 MatchResult.

弃用

使用 creart 替代 Ariadne.create.

自定义 Broadcast 与事件循环无效,并且会引发警告.

移除

移除了弃用的 graia.ariadne.message.parser.alconna 模块, 请使用 arclet.alconna.graia

0.7.14

修复

修复了 AttrConvertMixin.

修复了 Commander dispatcher 优先级错误的 bug.

改进

Saya util 支持基于事件的优先级.

0.7.13

修复

修复了 datetime 无法被正确序列化的 bug.

改进

现在检查更新放在清理任务中执行.

重新实现了 Commander (#179) (@BlueGlassBlock)

支持使用 types.UnionType (#178) (@ProgramRipper)

重新实现了 saya util.

0.7.12

修复

修复了 datetime 无法被正确序列化的 bug.

修改

将公告对象中的 camelCase 属性修正为 snake_case.

现在 Websocket 连接的报错更直观了.

0.7.11

修复

修复了 get_avatar 无法使用的问题.

0.7.10

修改

将消息元素中的 camelCase 属性修正为 snake_case.

修复

修复了遥测的 bug.

0.7.9

新增

增加了 graia.ariadne.util.saya 模块。

重新加入了 Ariadne 的启动遥测.

修复

修复 ElizabethAiohttpClientInterface 未初始化的问题.

修复了 datetime.datetime 的序列化问题.

0.7.8

修复

修复了 graia-application-mirai 可以和 graia-ariadne 同时存在的 bug.

CommanderBehaviourConsoleBehaviour 适配新的 Saya.

改进

更好的 MessageChain 初始化实现.

send_friend_message send_group_message send_temp_message 现在都直接支持 MessageContainer 类型.

允许通过 extra 参数方便地自定义 LogConfig 的事件捕获类型.

优化了默认日志格式.

增加

graia.ariadne.connection.config.from_obj 支持使用两种方式直接从配置构造 Ariadne 对象.

0.7.7

改进

更好的事件循环异常处理器实现.

修复

修复了 twilight.ResultValue.

修复 Ariadne.upload_xxx

修复 internal_cls 过于严格的 bug

0.7.6

更改

Ariadne 清理时自动停止所有 SchedulerBroadcast 任务.

修复了 MemberInfo 的签名.

0.7.5

修复

MessageChain 创建时不会因为含有特殊元素而报错.

0.7.4

修复

Broadcast 内部运行产生的正常异常不会被记录.

新增

添加 twilight.ForceResult,让 twilight.ResultValue 支持 Derive.

0.7.3

修复

修复了不能通过 Ariadne.stop 正确停止的问题.

修改

model 中的 camelCase 属性修正为 snake_case.

0.7.2

修改

现在被弃用的方法仅在运行时可用.

0.7.1

改进

Ariadne 会智能注入日志和异常处理元件, 就像 0.6.x 一样.

修复

修复了 MessageChain 的 MRO 问题.

0.7.0

新增

支持 Twilight 使用 predicate 进行先行条件判定 (#167)

DetectPrefixDetectSuffix 支持多个前后缀匹配 (#149) (@luoxhei)

MentionMe 支持多种匹配方式.

提供 Broadcast 中 Derive 风格的消息链匹配器支持.

添加了 py.typed 文件.

修改

全面推荐使用 snake_case 的方法和事件属性,清除了一批无用方法函数.

使用 Amnesia 作为后端. (#156)

修复内置的 Waiter (#164)

0.6.16

新增

现在可以通过 graia.ariadne.util.interrupt 中的 FunctionWaiterEventWaiter 更方便地使用中断(Interrupt)了. (使用说明)

现在可以使用 graia.ariadne.util.validator 中的 CertainGroupCertainFriendCertainMemberQuoting 作为 decorator 用于指定 必须由哪个群/好友/群成员必须回复指定消息(使用消息ID) 才能触发.

新增 FuzzyMatch. (模糊匹配,更推荐使用 FuzzyDispatcher使用说明)

可以在 GroupMemberFriendStranger 之间使用 == 运算符判断是否为同一对象了.

改进

提高了 Adapter 的稳定性.

优化了 Twilight 的帮助字符串生成器. (如: 可自定义格式化帮助字符串的格式)

优化了 Ariadne 的生命周期的实现.

修复

修复了 GroupNameChangeEventGroupEntranceAnnouncementChangeEvent 的字段类型.

0.6.15

修复 Ariadne Adapter 过早设置 connected 旗标的 bug. (#131)

提升了 CoolDown 的代码补全.

0.6.14

修复 Python 3.8 兼容性 (#130)

支持风控日志警告.

补充 graia.ariadne.entry 导出.

0.6.13

WildcardMatch 行为更换为以前的行为 (依照是否有内容判断 matched 字段).

修复 AriadneBaseModel.dict 会引发 Deprecated 的错误.

0.6.12

支持 NudgeEvent 接收 Union[Friend, Group] 来获取戳一戳位置.

修复 get_running.

0.6.11

修复 MentionMe, 优化了 Adapter 性能.

更新了 API 文档.

0.6.10

移除弃用的 getMemberInfo: 请改用 getMember.

修复了自动重连.

0.6.9

修复 #122

0.6.8

支持了 registerCommand executeCommand CommandExecuted 相关的 API 与事件.

修复了 getUserProfile.

修复了仅使用 Websocket 的适配器的错误行为.

弃用

getMemberInfo 已被弃用,请使用 getMember 替代, 将在 0.6.10 或更高版本中移除。

0.6.7

修复 Alconna.

修复 getFileIteratorgetAnnouncementIterator.

0.6.6

Twilight 使用泛型参数分发.

支持使用 Compose 来组合基本的 Decorator.

修复直接从 typing 导入 Annotated 导致的 Python 3.8 无法使用.

修复一些地方错误的 get_running 导入.

修复 publishAnnouncement 中未对 base64 进行解码的问题.

移除 Commanderassert 辅助函数使用.

graia.ariadne.util.helper.CoolDown 改为 graia.ariadne.util.cooldown.CoolDown.

0.6.5

更改 Alconna 适应 0.7.2 改变 (#118) (@RF-Tar-Railt)

0.6.4

为所有事件启用泛型参数分发支持.

修复 CoolDown (#117) (@Redlnn)

0.6.3

修复

MentionMentionMe 实现.

TwilightArgumentMatch 是否匹配判断错误.

改进

允许 Group.getAvatar 使用 cover 参数名获取其他封面. (#116) (@SocialSisterYi)

支持 twilight.Match 使用位移符号.

允许 Ariadne.create 尝试递归创建对象.

Twilight 更好的帮助生成.

更新 Alconna0.7+ 并添加 skip_for_unmatch 参数. (#115)

0.6.2

添加

增加 graia.ariadne.util.helper.CoolDown 工具类.

改进

ReverseAdapter 现在会在 5s 内退出失败后强制退出.

0.6.1

改动

重命名原来的 CombinedAdapterComposeForwardAdapter

添加

增加了 ReverseAdapter, 基于服务器的适配器. (#114)

修复

WebsocketAdapter.call_api 无法正常运作

Twilight.from_command (#112)

Alconna 相关 (#111)

0.6.0

0.6.0 Twilight API 有重大变动, 为不兼容更新

破坏性变动

重构 Twilight (#106)

Ariadne.get_running 移至 graia.ariadne 命名空间.

asMappingStringfromMappingString 现在仅供内部使用.

添加

完成新版 Mirai API HTTP 支持: (#102)

支持群公告接口

支持 getFileIteratorgetAnnouncementIterator 用于遍历文件信息与群公告.

添加 MatchTemplate 用于消息链模板匹配.

改进

MessageChain.download_binary 会返回自身以支持链式调用.

MessageChainElement 都完整支持相加操作.

Twilight 性能大幅度提升.

提高消息日志记录的优先级. (#107)

修复

AlconnaDispatcher 无法运作.

Mention 无法运作.

未将 MiddlewareDispatcher 注入导致无法处理 ExceptionThrowed.

文件上传时文件名会被编码 (#108)

删除

Literature 消息链解析器.

Component 消息链工具.

0.5.3

添加

完成新版 Mirai API HTTP 支持: (#102)

  • 添加 ActiveMessage 系列主动事件: ActiveFriendMessage ActiveGroupMessage ActiveTempMessage 及其对应 SyncMessage.

  • 添加 MarketFace 元素类型 (用户无法发送).

  • 添加 getUserProfile API (未 merge).

Member Group Friend 上添加 getAvatar API.

Ariadne.get_running API 用于替代旧的 xxx_ctx.get().

CommanderSaya 支持.

修复

BroadcastDecorator 无法正常运作.

更好的多账号支持.

0.5.2

添加

实现 MessageChain.replace (#97)

修复

Commander 行为错误, 性能过低.

0.5.1Broadcast Control v0.15 的适配不完善.

部分消息链处理器因 asMappingString API 变动损坏.

删除

Twilight 中的 ArgumentMatch 若是位置匹配现在会引发异常.

删除 graia.ariadne.message.parser.pattern 模块.

0.5.1

添加

实现 Ariadne Commander. (#70 #76 #80 #82 #86)

Ariadne.sendMessage 支持通过 action 自定义行为. (#75)

支持 MessageChain[int : int] 格式的原始切片.

支持对 Friend Group Member 等对象执行 int 以获取其 id 属性. 并拓展了一些方便方法.

有多个 Member 对象属性的事件对 Member 的分派 (#81)

Ariadne 的操作均会引发审计事件 (Audit Event): CallAriadneAPI, 带有 api_name args kwargs 三个参数. (#74)

Ariadne 收到的事件会额外引发审计事件 (Audit Event): AriadnePostRemoteEvent, 携带 event 单个参数. (#73)

添加了 SenderDispatcher. (#84)

支持对 MemberPerm 进行富比较操作. (#85)

MessageChain 部分操作加速.

更好的 Mirai Event 文档字符串.

Ariadne.recallMessage 支持使用 MessageChain.

默认关闭适配器 websocket 日志, 更好的连接失败提示.

修复

MessageChain.endswith 的行为异常 (#68)

消息元素中的戳一戳 (Poke) 无法发送 (#77)

自动处理不支持的消息类型 (#79)

CommanderConsole 会自动解析 dispatchermixin.

修复 BotMuteEventGroup 解析问题.

修复部分事件的分类错误问题.

修复不同类型子事件被同时监听时的 Broadcast 错误调用 Dispatcher 的问题 (#83)

保证 MessageChain 元素对象安全性.

降低全局 ApplicationMiddlewareDispatcher 优先级.

支持 Graia Broadcast v0.15 (#88)

弃用

Twilight 中的 ArgumentMatch 若是位置匹配则会被静默替换为 ParamMatch. 在 0.5.2 中这样的构造方式会直接引发异常.

移除

移除模块 graia.ariadne.event.network. ( 因为没有人用 )

0.5.0

添加

  • 添加了内置 Console (#41)
  • 添加了新的消息链解析工具—— Alconna (#37)

改动

  • 现在可以接收 BroadcastAdapter 实例了
  • 可以构造转发消息了
  • 可以禁用 WebsocketAdapter 的心跳包的 log了
  • ArgumentMatch 支持类型匹配了
  • 新的启动与停止 Ariadne 的方法
  • Adapter 的停止过程更安全了 (#30, #65)
  • 可以更好的获取实例所辖账号了(#31)
  • 提升 Twilight 的性能 (#44)
  • sendNudge(发送戳一戳)现在更灵活了 (#47)
  • ParallelExecutor 添加 to_threadto_process (#50)
  • graia.ariadne.message.parser.pattern 的所有内容移到 LiteratureTwilight 模块里 (#53)
  • 添加 ParamMatch 并拓展 Sparkle.__getitem__ (#57)
  • 添加 space 参数与 SpacePolicy 以替代 preserve_space (#59)
  • Ariadne.uploadFile 支持指定文件名 (#66)

修复

  • Ariadne.uploadImage 出错 (#43)
  • async_exec 相关 (#50)
  • Queue.get 任务退出时没被 await (#51)
  • 自动用 repr() 转义 log 中发送的消息 (#58)
  • Adapter 不会自动重连 (#60)
  • NudgeEvent 接收陌生人的戳一戳出错 (#63)

Breaking Changes

  • Ariadne.request_stop -> Ariadne.stop
  • Ariadne.wait_for_stop -> Ariadne.join