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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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": [