@q78kg/koishi-plugin-text-censor 1.0.9 → 1.0.10
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/index.cjs +1 -1
- package/package.json +13 -2
package/lib/index.cjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
var x=Object.create;var l=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var v=(t,e)=>{for(var n in e)l(t,n,{get:e[n],enumerable:!0})},m=(t,e,n,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of S(e))!h.call(t,s)&&s!==n&&l(t,s,{get:()=>e[s],enumerable:!(c=y(e,s))||c.enumerable});return t};var w=(t,e,n)=>(n=t!=null?x(b(t)):{},m(e||!t||!t.__esModule?l(n,"default",{value:t,enumerable:!0}):n,t)),C=t=>m(l({},"__esModule",{value:!0}),t);var O={};v(O,{Config:()=>D,apply:()=>M,name:()=>W});module.exports=C(O);var o=require("koishi"),r=require("fs"),f=require("path"),d=require("@q78kg/mint-filter"),u=w(require("@koishijs/censor")),W="text-censor",D=o.Schema.intersect([o.Schema.object({textDatabase:o.Schema.array(o.Schema.tuple([o.Schema.string().default("data/text-censor/censor.txt")])).description("\u654F\u611F\u8BCD\u5E93\u7684\u6587\u4EF6\u8DEF\u5F84\u3002").default([["data/text-censor/censor.txt"]])}),o.Schema.object({removeWords:o.Schema.boolean().description("\u662F\u5426\u76F4\u63A5\u5220\u9664\u654F\u611F\u8BCD\u3002").default(!1),caseStrategy:o.Schema.union(["none","lower","capital"]).description("\u654F\u611F\u8BCD\u5904\u7406\u65F6\u7684\u5927\u5C0F\u5199\u7B56\u7565\u3002").default("none")})]);function M(t,e){let n=[];for(let[p]of e.textDatabase){let a=(0,f.resolve)(t.baseDir,p);if(!(0,r.existsSync)(a)){t.logger.warn(`dictionary file not found: ${a}, creating a new one.`);let i=(0,f.dirname)(a);(0,r.existsSync)(i)||(0,r.mkdirSync)(i,{recursive:!0}),(0,r.writeFileSync)(a,"")}let g=(0,r.readFileSync)(a,"utf8").split(`
|
1
|
+
var x=Object.create;var l=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var v=(t,e)=>{for(var n in e)l(t,n,{get:e[n],enumerable:!0})},m=(t,e,n,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of S(e))!h.call(t,s)&&s!==n&&l(t,s,{get:()=>e[s],enumerable:!(c=y(e,s))||c.enumerable});return t};var w=(t,e,n)=>(n=t!=null?x(b(t)):{},m(e||!t||!t.__esModule?l(n,"default",{value:t,enumerable:!0}):n,t)),C=t=>m(l({},"__esModule",{value:!0}),t);var O={};v(O,{Config:()=>D,apply:()=>M,name:()=>W});module.exports=C(O);var o=require("koishi"),r=require("fs"),f=require("path"),d=require("@q78kg/mint-filter"),u=w(require("@koishijs/censor"),1),W="text-censor",D=o.Schema.intersect([o.Schema.object({textDatabase:o.Schema.array(o.Schema.tuple([o.Schema.string().default("data/text-censor/censor.txt")])).description("\u654F\u611F\u8BCD\u5E93\u7684\u6587\u4EF6\u8DEF\u5F84\u3002").default([["data/text-censor/censor.txt"]])}),o.Schema.object({removeWords:o.Schema.boolean().description("\u662F\u5426\u76F4\u63A5\u5220\u9664\u654F\u611F\u8BCD\u3002").default(!1),caseStrategy:o.Schema.union(["none","lower","capital"]).description("\u654F\u611F\u8BCD\u5904\u7406\u65F6\u7684\u5927\u5C0F\u5199\u7B56\u7565\u3002").default("none")})]);function M(t,e){let n=[];for(let[p]of e.textDatabase){let a=(0,f.resolve)(t.baseDir,p);if(!(0,r.existsSync)(a)){t.logger.warn(`dictionary file not found: ${a}, creating a new one.`);let i=(0,f.dirname)(a);(0,r.existsSync)(i)||(0,r.mkdirSync)(i,{recursive:!0}),(0,r.writeFileSync)(a,"")}let g=(0,r.readFileSync)(a,"utf8").split(`
|
2
2
|
`).map(i=>i.trim()).filter(i=>i&&!i.startsWith("//")&&!i.startsWith("#"));n=n.concat(g)}if(n.length===0){t.logger.warn("no sensitive words found");return}let c={transform:e.caseStrategy,remove:e.removeWords},s=new d.Mint(n,c);t.plugin(u.default),t.get("censor").intercept({async text(p){return[s.filter(p.content).text]}})}0&&(module.exports={Config,apply,name});
|
package/package.json
CHANGED
@@ -1,8 +1,19 @@
|
|
1
1
|
{
|
2
2
|
"name": "@q78kg/koishi-plugin-text-censor",
|
3
3
|
"description": "A text censor provider for Koishi",
|
4
|
-
"version": "1.0.
|
5
|
-
"main": "lib/index.
|
4
|
+
"version": "1.0.10",
|
5
|
+
"main": "lib/index.cjs",
|
6
|
+
"module": "lib/index.mjs",
|
7
|
+
"types": "lib/index.d.ts",
|
8
|
+
"type": "module",
|
9
|
+
"exports": {
|
10
|
+
".": {
|
11
|
+
"types": "./lib/index.d.ts",
|
12
|
+
"require": "./lib/index.cjs",
|
13
|
+
"import": "./lib/index.mjs"
|
14
|
+
},
|
15
|
+
"./package.json": "./package.json"
|
16
|
+
},
|
6
17
|
"files": [
|
7
18
|
"lib"
|
8
19
|
],
|