Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

对于mention消息的处理方案 #43

Open
ssttkkl opened this issue Dec 8, 2023 · 2 comments
Open

对于mention消息的处理方案 #43

ssttkkl opened this issue Dec 8, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@ssttkkl
Copy link
Collaborator

ssttkkl commented Dec 8, 2023

KOOK对mention是直接塞在KMarkdown里,目前适配器未进行处理,一方面用户使用起来比较难受,另一方面各种跨平台插件也没法对mention进行建模。

对于mention消息的处理,有以下几种备选方案:

1、把消息中的mention都单独提出来,比如原始消息是[KMarkdown: /command (met)123(met)]的话,就变成[KMarkdown: /command (met)123(met)][Mention: 123]。(问题:用户不只要提取mention,还需要除mention以外剩下的文本)
2、用正则粗暴地匹配(met)123(met),然后分割KMarkdown文本串。(问题:遇到嵌套在其他元素内的mention,这样粗暴分割会导致剩下的KMarkdown不再合法。但是用户发送指令的消息一般不会是太复杂的KMarkdown消息,机器人处理KMarkdown的场景本来就少)
3、对KMarkdown进行解析。具体怎么做、做成什么样都不明确。

@ssttkkl ssttkkl added the enhancement New feature or request label Dec 8, 2023
@ssttkkl
Copy link
Collaborator Author

ssttkkl commented Dec 8, 2023

机器人处理KMarkdown的场景本来就少,那么是否可以把所有接收的KMarkdown消息都转成纯文本消息(使用KMarkdown消息的raw_content属性,即显示文本),在此之上再处理mention消息。
如果插件确实需要处理KMarkdown,可以直接从事件属性里拿。

@ssttkkl
Copy link
Collaborator Author

ssttkkl commented Dec 11, 2023

是否可以把所有接收的KMarkdown消息都转成纯文本消息(使用KMarkdown消息的raw_content属性,即显示文本)

#44 实现了简单消息(KMarkdown消息除了mention的部分以外都是纯文本)直接构造由纯文本与相应Mention构成的消息,可以满足大部分插件使用mention的场景。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant