@q78kg/koishi-plugin-text-censor 1.0.2 → 1.0.4-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/lib/index.js +12 -6
  2. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -64,15 +64,21 @@ function apply(ctx, config) {
64
64
  ctx.plugin(import_censor.default);
65
65
  ctx.get("censor").intercept({
66
66
  async text(attrs) {
67
- const result = await filter.filter(attrs.content);
67
+ const originalText = attrs.content;
68
+ const result = await filter.filter(originalText);
68
69
  if (typeof result.text !== "string")
69
70
  return [];
70
71
  if (config.removeWords) {
71
- const filteredText = words.reduce((text, word) => {
72
- const regex = new RegExp(`\\b${word}\\b`, "gi");
73
- return text.replace(regex, "");
74
- }, result.text);
75
- return [filteredText.trim()];
72
+ const filteredText = result.text;
73
+ const removedCharacters = Array.from(originalText).filter(
74
+ (char, index) => filteredText[index] !== char
75
+ // 如果对应位置的字符不相同,则为被过滤的字符
76
+ ).join("");
77
+ const cleanedText = originalText.split("").filter(
78
+ (char) => !removedCharacters.includes(char)
79
+ // 过滤掉被移除的字符
80
+ ).join("");
81
+ return [cleanedText.trim()];
76
82
  } else {
77
83
  return [result.text];
78
84
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@q78kg/koishi-plugin-text-censor",
3
3
  "description": "A text censor provider for Koishi",
4
- "version": "1.0.2",
4
+ "version": "1.0.4-beta.1",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [