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

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 +6 -12
  2. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -64,21 +64,15 @@ function apply(ctx, config) {
64
64
  ctx.plugin(import_censor.default);
65
65
  ctx.get("censor").intercept({
66
66
  async text(attrs) {
67
- const originalText = attrs.content;
68
- const result = await filter.filter(originalText);
67
+ const result = await filter.filter(attrs.content);
69
68
  if (typeof result.text !== "string")
70
69
  return [];
71
70
  if (config.removeWords) {
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()];
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()];
82
76
  } else {
83
77
  return [result.text];
84
78
  }
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.4-beta.1",
4
+ "version": "1.0.4-beta.3",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [