破坏性改动
- `Custom.export` 和 `custom_register` 所需函数的签名分别增加了 `exporter` 和 `builder`
- `Reference` 的 `content` 参数被移除
新增
- `Segment` 新增 `children` 属性,即支持嵌套元素
- `Segment` 实例可以通过 `__call__`来增加子元素:
python
video = Video(url="https://www.bilibili.com/video/BV15p421S7da")(
Text("当前平台不支持发送视频,请在 https://www.bilibili.com/video/BV15p421S7da 观看视频!")
.mark(15, 58, "link")
)
- 新增 `Segment.from_`,`select` 等方法,以表达提取嵌套元素:
python
from nepattern import Dot
from nonebot_plugin_alconna import Image, Video, select_first
from nonebot_plugin_alconna.typings import Link
该指令接收任意可提取出图片的元素,并返回第一个图片的 url
m1 = Alconna("/m1", Args["img", Dot(select_first(Image), str, "url")])
该指令接收链接或者视频元素里的链接
m2 = Alconna("/m2", Args["link", [Link, Link.from_(Video)]])
改进
- 类 koishi 构造器 `Command` 的参数现在能塞入 UniSeg 了:
python
from nonebot_plugin_alconna import Command
cmd = Command("/test <img:Image>").build()
**Full Changelog**: https://github.com/nonebot/plugin-alconna/compare/v0.43.0...v0.44.0