Open MeetWq opened 1 year ago
这周末看看能不能超一个
其实我不太理解为什么需要构造和解析kmd,手写有什么局限性或者说构造和解析有什么优势吗()
其实我不太理解为什么需要构造和解析kmd,手写有什么局限性或者说构造和解析有什么优势吗()
类似于为什么要用 MessageSegment 代替 CQ码 手写发送的时候还好,解析的时候就麻烦了,比如我现在有个需求是从 kmd 中拿到被 mention 的 id
我觉得比较好的方案是把kmd相关的功能单独做成一个库,然后由插件开发者手动调用。 一方面我理解kmd和cq码不一样,大部分场景都不需要做解析,没必要引入额外的性能开销,另一方面可以直接用pyo3之类的方案把上面现成的rust库粘上
看看@Tian-que 怎么说
其实我不太理解为什么需要构造和解析kmd,手写有什么局限性或者说构造和解析有什么优势吗()
类似于为什么要用 MessageSegment 代替 CQ码 手写发送的时候还好,解析的时候就麻烦了,比如我现在有个需求是从 kmd 中拿到被 mention 的 id
从复用角度来看,就像@ssttkkl 说的那样, 这部分可以单独抽出来作为一个功能性组件,@kexue-z搞了一个Python实现的KaiheilaCardBuilder,可以试一下
@abrahum 的 kook 和 walle-k 中实现了类似的功能:
https://github.com/abrahum/kook/blob/master/src/kmarkdown/mod.rs https://github.com/abrahum/kook/blob/master/src/kmarkdown/parse.rs https://github.com/onebot-walle/walle-k/blob/main/src/parse/message.rs