We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
这是一个有关跑团着色器的Bug 仓库
在使用海豹TRPG跑团着色器时,当表情图片的名称(summary参数)为 [动画表情] 或其他包含符号 ] 的内容时,开启“表情图片过滤”无法正确地匹配完整的表情图片字符串并将其替换为空字符串。
[动画表情]
]
.log new
.log end
完全替换表情图片的字符串为空字符串以达成隐藏表情图片的目的
如图:
此Bug无海豹核心日志,染色器日志同“实际上发生的”
No response
1.4.5,但此Bug与海豹核心的版本无关,且在相应仓库的dev分支并未修复
Ubuntu 22.04,但此Bug与操作系统类型无关
QQ,且QQ帐号出现问题
通过反向WS协议连接到NapCat
斗胆提供下个人对于问题的分析和修复方案:
这里判断问题发生的源代码位于:/story-painter/src/utils/index.ts 的 msgImageFormat 方法。
msgImageFormat
该文件第36行、第54行、第62行:
... 36: msg = msg.replaceAll(/\[CQ:(image|face),[^\]]+\]/g, '') ... 54: msg = msg.replaceAll(/\[mirai:(image|marketface):[^\]]+\]/g, '') ... 62: msg = msg.replaceAll(/\[(image|图):[^\]]+\]/g, '') ...
在这些代码的正则表达式中,会在遇到 ] 字符时停止匹配,显然如果在summary或其他参数中出现 ] 时就会提前结束匹配导致替换不完全。
那么个人认为将遇到 ] 字符时停止匹配更改为遇到换行符( \n 或 \r )时停止匹配即可修复这个Bug。
\n
\r
即对这3行进行如下修改:
... 36: msg = msg.replaceAll(/\[CQ:(image|face),[^(\n|\r)]+\]/g, '') ... 54: msg = msg.replaceAll(/\[mirai:(image|marketface):[^(\n|\r)]+\]/g, '') ... 62: msg = msg.replaceAll(/\[(image|图):[^(\n|\r)]+\]/g, '') ...
经过Regex101的测试,其可以完美处理发生Bug的情况。
望采纳并修复该问题。
The text was updated successfully, but these errors were encountered:
fy0
No branches or pull requests
在提问之前...
问题描述
这是一个有关跑团着色器的Bug 仓库
在使用海豹TRPG跑团着色器时,当表情图片的名称(summary参数)为
[动画表情]
或其他包含符号]
的内容时,开启“表情图片过滤”无法正确地匹配完整的表情图片字符串并将其替换为空字符串。如何复现
.log new
)[动画表情]
的表情包.log end
)你期望发生的
完全替换表情图片的字符串为空字符串以达成隐藏表情图片的目的
实际上发生的
如图:
日志文件
此Bug无海豹核心日志,染色器日志同“实际上发生的”
截图
No response
海豹核心版本
1.4.5,但此Bug与海豹核心的版本无关,且在相应仓库的dev分支并未修复
操作系统
Ubuntu 22.04,但此Bug与操作系统类型无关
帐号类型
QQ,且QQ帐号出现问题
使用协议
通过反向WS协议连接到NapCat
附加内容
斗胆提供下个人对于问题的分析和修复方案:
这里判断问题发生的源代码位于:/story-painter/src/utils/index.ts 的
msgImageFormat
方法。该文件第36行、第54行、第62行:
在这些代码的正则表达式中,会在遇到
]
字符时停止匹配,显然如果在summary或其他参数中出现]
时就会提前结束匹配导致替换不完全。那么个人认为将遇到
]
字符时停止匹配更改为遇到换行符(\n
或\r
)时停止匹配即可修复这个Bug。即对这3行进行如下修改:
经过Regex101的测试,其可以完美处理发生Bug的情况。
望采纳并修复该问题。
The text was updated successfully, but these errors were encountered: