Closed markyfsun closed 3 months ago
MarketFace 似乎没有在 OneBot11 标准中定义,目前不同协议似乎使用了不同的字段 (See Lagrange.OneBot/Message/Entity/MarketFaceSegment.cs#L10-L14),如果使用不同于 LLOneBot 的协议可能会导致无法正常解析
除非现有的几个qq客户端传过来的信息都是llob那样子,否则我不推荐你采取llob的数据格式
LLOneBot 这部分的实现也是他写的,See LLOneBot/LLOneBot#205,而且现在还没 merge 进去
要不放弃ob11协议去用新的吧(
你还是没按我说的改啊
搞清楚一点,avilla是跨平台框架,所有模型应该是抽象的,而不是依赖于某一具体实现
商城表情并非llonebot独属的元素,mirai协议,chronocat都有这类元素
你照着llonebot写,其他协议端怎么办?
MarketFace
已修改id
和name
。
序列化与反序列化的方式保持与LLOneBot一致,因为OneBot11并未规定商城表情的格式,而该PR已经合入LLOneBot。
目前不同协议似乎使用了不同的字段 (See Lagrange.OneBot/Message/Entity/MarketFaceSegment.cs#L10-L14),如果使用不同于 LLOneBot 的协议可能会导致无法正常解析
罚你重看一遍。
目前不同协议似乎使用了不同的字段 (See Lagrange.OneBot/Message/Entity/MarketFaceSegment.cs#L10-L14),如果使用不同于 LLOneBot 的协议可能会导致无法正常解析
罚你重看一遍。
就最新的来看字段仍然不一样
或者llob那边改了
MarketFace
已修改id
和name
。 序列化与反序列化的方式保持与LLOneBot一致,因为OneBot11并未规定商城表情的格式,而该PR已经合入LLOneBot。OneBot11没有规定商城表情的格式,现在商城表情各家的字段名都不一样。 我现在正在使用LLOneBot,该PR也是我提的。 由于
Lagrange
的签名服务器是由“外国热心网友”提供的,出于隐私安全考虑,我并没有使用该项目。OneBot11事实上已经过时了,
Avilla
是希望以Lagrange
作为新的OneBot11拓展标准吗?
因为avilla的ob11还就是标准的ob11,这样能够对接更多的ob协议端。
当然差异这边,llob作者说他与lagrange已经同步了这个商城表情。你可以再等一会看看是lagrange改了还是llob改了
avilla 允许使用形如 avilla.onebot.llonebot 的命名空间,但 flywheel migrate还没完成。。。
因为avilla的ob11还就是标准的ob11,这样能够对接更多的ob协议端。
当然差异这边,llob作者说他与lagrange已经同步了这个商城表情。你可以再等一会看看是lagrange改了还是llob改了
好的,LLOneBot修改合并后我也会更新本PR保持适配。
avilla 允许使用形如 avilla.onebot.llonebot 的命名空间,但 flywheel migrate还没完成。。。
ryanvk
很有潜力,如果能补充注释和文档,或者在链路中增加日志,那么可以让新人更易上手和Debug。
由于
Lagrange
的签名服务器是由“外国热心网友”提供的,出于隐私安全考虑,我并没有使用该项目。
Interessant...
实现 | emojiPackageId 对应字段名 |
emojiId 对应字段名 |
faceName 对应字段名 |
key 对应字段名 |
Reference |
---|---|---|---|---|---|
LLOneBot |
emoji_package_id |
emoji_id |
summary |
key |
Reference |
Lagrange.OneBot |
emoji_package_id |
emoji_id |
summary |
key |
Reference |
NapCatQQ |
emoji_package_id |
emoji_id |
summary |
key |
Reference |
[!WARNING] 该表格仅展示了部分协议实现,由于 OneBot11 标准中没有编写 MarketFace 的规范,也又可能存在其他使用不同字段的协议实现。
[!NOTE]
Lagrange.OneBot 似乎会在未来更新相关字段。Lagrange.OneBot 已更改相关字段,包括将MarketFace
更名为Mface
。
Lagrange.OneBot
的商城表情字段已更新到与LLOneBot
一致,本PR无需再做适配。
经过研究后,我建议你可以把MarketFace做成这种结构(与ob11大致一致):
@dataclass
class MarketFace(Element):
"""MarketFace对象, 专门表示 QQ 中的商城表情"""
id: str # alias: emoji_id
tab_id: Optional[str] = None # alias: package_id
key: Optional[str] = None
summary: Optional[str] = None # alias: face_name
Should work with https://github.com/LLOneBot/LLOneBot/pull/205