feat(onebot11): add support for market face message
Should work with https://github.com/LLOneBot/LLOneBot/pull/205
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 的协议可能会导致无法正常解析
罚你重看一遍。
https://github.com/KonataDev/Lagrange.Core/blob/master/Lagrange.OneBot%2FMessage%2FEntity%2FMarketFaceSegment.cs
就最新的来看字段仍然不一样
或者llob那边改了
MarketFace已修改id和name。 序列化与反序列化的方式保持与LLOneBot一致,因为OneBot11并未规定商城表情的格式,而该PR已经合入LLOneBot。
OneBot11没有规定商城表情的格式,现在商城表情各家的字段名都不一样。
我现在正在使用LLOneBot,该PR也是我提的。
由于Lagrange的签名服务器是由“外国热心网友”提供的,出于隐私安全考虑,我并没有使用该项目。
OneBot11事实上已经过时了,Avilla是希望以Lagrange作为新的OneBot11拓展标准吗?
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