1818
1919CHN = re .compile (r"\(chn\)(?P<id>.+?)\(chn\)" )
2020EMJ = re .compile (r"\(emj\)(?P<name>.+?)\(emj\)\[(?P<id>[^\[]+?)\]" )
21- EMJ1 = re .compile (r":(?P<id>.+?):" )
2221NO_CHN = re .compile (r"\[\(chn\)(?P<id>.+?)\(chn\)\]\(.+\)" )
2322NO_EMJ = re .compile (r"\[\(emj\)(?P<name>.+?)\(emj\)\[(?P<id>[^\[]+?)\]\]\(.+\)" )
24- NO_EMJ1 = re .compile (r"\[:(?P<id>.+?):\]\(.+\)" )
2523
2624
2725class KookMessageBuilder (MessageBuilder ):
@@ -58,9 +56,6 @@ def preprocess(self, source: Message[MessageSegment]) -> Message[MessageSegment]
5856 for mat in EMJ .finditer (content ):
5957 mats [mat .start ()] = MessageSegment ("emoji" , {"id" : mat .group ("id" ), "name" : mat .group ("name" )})
6058 spans [mat .start ()] = mat .end ()
61- for mat in EMJ1 .finditer (content ):
62- mats [mat .start ()] = MessageSegment ("emoji" , {"id" : mat .group ("id" )})
63- spans [mat .start ()] = mat .end ()
6459 for mat in NO_CHN .finditer (content ):
6560 if mat .start () + 1 in spans :
6661 del spans [mat .start () + 1 ]
@@ -69,10 +64,6 @@ def preprocess(self, source: Message[MessageSegment]) -> Message[MessageSegment]
6964 if mat .start () + 1 in spans :
7065 del spans [mat .start () + 1 ]
7166 del mats [mat .start () + 1 ]
72- for mat in NO_EMJ1 .finditer (content ):
73- if mat .start () + 1 in spans :
74- del spans [mat .start () + 1 ]
75- del mats [mat .start () + 1 ]
7667 if not mats :
7768 res .append (MessageSegment .KMarkdown (content ))
7869 continue
@@ -88,7 +79,7 @@ def preprocess(self, source: Message[MessageSegment]) -> Message[MessageSegment]
8879 text = ""
8980 res .append (mats [_index ])
9081 continue
91- if _index >= spans [current ]:
82+ if current in spans and _index >= spans [current ]:
9283 in_mat = False
9384 if not in_mat :
9485 text += char
@@ -108,8 +99,6 @@ def kmarkdown(self, seg: KMarkdown):
10899 mat = re .search (r"\(emj\)(?P<name>[^()\[\]]+)\(emj\)\[(?P<id>[^\[\]]+)\]" , content )
109100 if mat :
110101 return Emoji (mat ["id" ], mat ["name" ])
111- if content .startswith (":" ) and (mat := re .search (r":(?P<id>[^:]+):" , content )):
112- return Emoji (mat ["id" ])
113102 return Text (seg .data ["content" ]).mark (0 , len (seg .data ["content" ]), "markdown" )
114103
115104 @build ("mention" )
0 commit comments