koishi-plugin-echo-cave 1.24.4 → 1.24.6
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.
- package/lib/{index.cjs → index.js} +162 -227
- package/package.json +2 -3
|
@@ -1,38 +1,12 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
1
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
2
|
var __commonJS = (cb, mod) => function __require() {
|
|
8
3
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
9
4
|
};
|
|
10
|
-
var __export = (target, all) => {
|
|
11
|
-
for (var name2 in all)
|
|
12
|
-
__defProp(target, name2, { get: all[name2], enumerable: true });
|
|
13
|
-
};
|
|
14
|
-
var __copyProps = (to, from, except, desc) => {
|
|
15
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
-
for (let key of __getOwnPropNames(from))
|
|
17
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
-
}
|
|
20
|
-
return to;
|
|
21
|
-
};
|
|
22
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
28
|
-
mod
|
|
29
|
-
));
|
|
30
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
31
5
|
|
|
32
6
|
// src/config/locales/zh-CN.json
|
|
33
7
|
var require_zh_CN = __commonJS({
|
|
34
|
-
"src/config/locales/zh-CN.json"(
|
|
35
|
-
|
|
8
|
+
"src/config/locales/zh-CN.json"(exports, module) {
|
|
9
|
+
module.exports = {
|
|
36
10
|
adminMessageProtection: "\u5F00\u542F\u7BA1\u7406\u5458\u6D88\u606F\u4FDD\u62A4\uFF0C\u5F00\u542F\u540E\u7BA1\u7406\u5458\u53D1\u5E03\u7684\u6D88\u606F\u53EA\u80FD\u7531\u7BA1\u7406\u5458\u5220\u9664",
|
|
37
11
|
allowContributorDelete: "\u5141\u8BB8\u6295\u7A3F\u8005\u5220\u9664\u81EA\u5DF1\u6295\u7A3F\u7684\u56DE\u58F0\u6D1E",
|
|
38
12
|
allowSenderDelete: "\u5141\u8BB8\u539F\u59CB\u53D1\u9001\u8005\u5220\u9664\u88AB\u6295\u7A3F\u7684\u56DE\u58F0\u6D1E",
|
|
@@ -49,165 +23,8 @@ var require_zh_CN = __commonJS({
|
|
|
49
23
|
}
|
|
50
24
|
});
|
|
51
25
|
|
|
52
|
-
// src/locales/zh-CN.json
|
|
53
|
-
var require_zh_CN2 = __commonJS({
|
|
54
|
-
"src/locales/zh-CN.json"(exports2, module2) {
|
|
55
|
-
module2.exports = {
|
|
56
|
-
_config: {
|
|
57
|
-
adminMessageProtection: "\u5F00\u542F\u7BA1\u7406\u5458\u6D88\u606F\u4FDD\u62A4\uFF0C\u5F00\u542F\u540E\u7BA1\u7406\u5458\u53D1\u5E03\u7684\u6D88\u606F\u53EA\u80FD\u7531\u7BA1\u7406\u5458\u5220\u9664",
|
|
58
|
-
allowContributorDelete: "\u5141\u8BB8\u6295\u7A3F\u8005\u5220\u9664\u81EA\u5DF1\u6295\u7A3F\u7684\u56DE\u58F0\u6D1E",
|
|
59
|
-
allowSenderDelete: "\u5141\u8BB8\u539F\u59CB\u53D1\u9001\u8005\u5220\u9664\u88AB\u6295\u7A3F\u7684\u56DE\u58F0\u6D1E",
|
|
60
|
-
deleteMediaWhenDeletingMsg: "\u5220\u9664\u56DE\u58F0\u6D1E\u6D88\u606F\u65F6\u662F\u5426\u540C\u65F6\u5220\u9664\u5173\u8054\u7684\u5A92\u4F53\u6587\u4EF6",
|
|
61
|
-
enableSizeLimit: "\u662F\u5426\u542F\u7528\u5A92\u4F53\u6587\u4EF6\u5927\u5C0F\u9650\u5236",
|
|
62
|
-
maxImageSize: "\u6700\u5927\u56FE\u7247\u5927\u5C0F (MB)",
|
|
63
|
-
maxVideoSize: "\u6700\u5927\u89C6\u9891\u5927\u5C0F (MB)",
|
|
64
|
-
maxFileSize: "\u6700\u5927\u6587\u4EF6\u5927\u5C0F (MB)",
|
|
65
|
-
maxRecordSize: "\u6700\u5927\u5F55\u97F3\u5927\u5C0F (MB)",
|
|
66
|
-
useBase64ForMedia: "\u662F\u5426\u4F7F\u7528 Base64 \u7F16\u7801\u53D1\u9001\u5A92\u4F53\u6587\u4EF6\uFF0C\u5F00\u542F\u540E\u5C06\u8BFB\u53D6 base64 \u7F16\u7801\u53D1\u9001\u800C\u4E0D\u662F\u4F7F\u7528 file uri"
|
|
67
|
-
},
|
|
68
|
-
"echo-cave": {
|
|
69
|
-
general: {
|
|
70
|
-
privateChatReminder: "\u274C \u8BF7\u5728\u7FA4\u804A\u4E2D\u4F7F\u7528\u8BE5\u547D\u4EE4\uFF01",
|
|
71
|
-
noMsgWithId: "\u{1F50D} \u672A\u627E\u5230\u8BE5 ID \u7684\u56DE\u58F0\u6D1E\u6D88\u606F",
|
|
72
|
-
noTemplatesConfigured: "\u274C \u672A\u914D\u7F6E\u56DE\u58F0\u6D1E\u6A21\u677F\uFF0C\u8BF7\u5148\u914D\u7F6E\u6A21\u677F\uFF01"
|
|
73
|
-
},
|
|
74
|
-
user: {
|
|
75
|
-
invalidAllMention: "\u274C \u4E0D\u652F\u6301 @\u5168\u4F53\u6210\u5458\uFF0C\u8BF7\u76F4\u63A5\u6307\u5B9A\u5177\u4F53\u7528\u6237\uFF01",
|
|
76
|
-
userNotInGroup: "\u274C \u63D0\u4F9B\u7684\u7528\u6237 ID \u4E0D\u5168\u5C5E\u4E8E\u8BE5\u7FA4\u7EC4\uFF01"
|
|
77
|
-
},
|
|
78
|
-
templates: {
|
|
79
|
-
forward: [
|
|
80
|
-
"\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u4E00\u5219\u56DE\u58F0\u4ECE\u65F6\u5149\u4E2D\u98D8\u6765\u2014\u2014\n\u{1F4C5} {date} \xB7 \u6765\u81EA @{originName} \n\u{1F4EE} \u7531 @{userName} \u6295\u9012",
|
|
81
|
-
"\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u3010\u8BB0\u5F55\u7F16\u53F7\u3011{id} \n\u3010\u521B\u5EFA\u65F6\u95F4\u3011{date} \n\u3010\u539F\u59CB\u4F5C\u8005\u3011@{originName} \n\u3010\u6295\u9012\u8005\u3011@{userName}",
|
|
82
|
-
"\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u8FD9\u58F0\u56DE\u54CD\u6700\u521D\u6765\u81EA @{originName}\uFF0C \n\u7531 @{userName} \u5728 {date} \u7559\u4E0B\u3002",
|
|
83
|
-
"\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u65F6\u95F4\u7684\u56DE\u97F3\u5728\u6B64\u6C47\u805A\u3002 \n\u{1F4C5} {date} \n\u{1F4E4} \u51FA\u5904\uFF1A@{originName} \n\u{1F4EE} \u5C01\u5370\u8005\uFF1A@{userName}",
|
|
84
|
-
"\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u{1F4C5} {date} \n\u{1F464} \u6765\u81EA @{originName} \n\u{1F4EE} \u6295\u9012\u8005 @{userName}"
|
|
85
|
-
],
|
|
86
|
-
msg: [
|
|
87
|
-
{
|
|
88
|
-
prefix: "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u2014\u2014 \u6709\u4EBA\u7559\u4E0B\u4E86\u58F0\u97F3 \u2014\u2014{nl}",
|
|
89
|
-
suffix: "\u{1F4C5} {date} \xB7 \u6765\u81EA @{originName}\n\u{1F4EE} \u7531 @{userName} \u6295\u9012"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
prefix: "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",
|
|
93
|
-
suffix: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u{1F4C5} {date}\n\u{1F464} {originName} \xB7 \u7531 @{userName} \u6295\u9012"
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
prefix: "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u{1F4AD}\u300C\u6709\u4EBA\u5728\u6D1E\u58C1\u7559\u4E0B\u5370\u8BB0\u300D{nl}",
|
|
97
|
-
suffix: "\u{1F4C5} {date}\n\u{1F4EE} {userName} \u8BB0\u5F55"
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
prefix: "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u2014 \u56DE\u58F0\u5F00\u59CB \u2014{nl}",
|
|
101
|
-
suffix: "\u2014 \u56DE\u58F0\u7ED3\u675F \u2014\n\u{1F4C5} {date} \xB7 @{originName}\n\u{1F4EE} @{userName}"
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
prefix: "\u{1F300} \u56DE\u58F0\u6D1E #{id}{nl}",
|
|
105
|
-
suffix: "\u{1F4C5} {date}\n\u6765\u81EA @{originName}\n\u7531 @{userName} \u6295\u9012"
|
|
106
|
-
}
|
|
107
|
-
]
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
commands: {
|
|
111
|
-
cave: {
|
|
112
|
-
description: "\u968F\u673A\u83B7\u53D6 / \u83B7\u53D6\u7279\u5B9A id \u7684\u56DE\u58F0\u6D1E\u4FE1\u606F",
|
|
113
|
-
messages: {
|
|
114
|
-
noMsgInCave: '\u{1F680} \u56DE\u58F0\u6D1E\u4E2D\u6682\u65E0\u6D88\u606F\uFF0C\u5FEB\u4F7F\u7528 "cave.echo" \u547D\u4EE4\u6DFB\u52A0\u7B2C\u4E00\u6761\u6D88\u606F\u5427\uFF01'
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
"cave.echo": {
|
|
118
|
-
description: "\u5C06\u6D88\u606F\u5B58\u5165\u56DE\u58F0\u6D1E",
|
|
119
|
-
messages: {
|
|
120
|
-
noMsgQuoted: "\u{1F4A1} \u8BF7\u5F15\u7528\u4E00\u6761\u6D88\u606F\u540E\u518D\u4F7F\u7528\u6B64\u547D\u4EE4\uFF01",
|
|
121
|
-
msgSaved: "\u2705 \u56DE\u58F0\u6D1E\u6D88\u606F\u5DF2\u6210\u529F\u5B58\u5165\uFF0C\u6D88\u606F ID\uFF1A{0}",
|
|
122
|
-
msgFailedToSave: "\u274C \u56DE\u58F0\u6D1E\u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\uFF01"
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
"cave.drop": {
|
|
126
|
-
description: "\u62B9\u53BB\u7279\u5B9A id \u7684\u56DE\u58F0\u6D1E\u4FE1\u606F",
|
|
127
|
-
messages: {
|
|
128
|
-
noIdProvided: "\u274C \u8BF7\u63D0\u4F9B\u8981\u5220\u9664\u7684\u56DE\u58F0\u6D1E\u6D88\u606F ID\uFF01",
|
|
129
|
-
adminOnly: "\u26D4 \u8BE5\u6D88\u606F\u7531\u7BA1\u7406\u5458\u53D1\u5E03\uFF0C\u5DF2\u5F00\u542F\u7BA1\u7406\u5458\u6D88\u606F\u4FDD\u62A4\uFF0C\u53EA\u6709\u7BA1\u7406\u5458\u53EF\u4EE5\u5220\u9664\u3002",
|
|
130
|
-
permissionDenied: "\u26D4 \u60A8\u6CA1\u6709\u6743\u9650\u5220\u9664\u6B64\u6D88\u606F\uFF01\u53EA\u6709\u7BA1\u7406\u5458\u53EF\u4EE5\u5220\u9664\u3002",
|
|
131
|
-
contributorDeleteDenied: "\u26D4 \u60A8\u6CA1\u6709\u6743\u9650\u5220\u9664\u6B64\u6D88\u606F\uFF01\u5F53\u524D\u914D\u7F6E\u4E0D\u5141\u8BB8\u6295\u7A3F\u8005\u5220\u9664\u56DE\u58F0\u6D1E\u3002",
|
|
132
|
-
senderDeleteDenied: "\u26D4 \u60A8\u6CA1\u6709\u6743\u9650\u5220\u9664\u6B64\u6D88\u606F\uFF01\u5F53\u524D\u914D\u7F6E\u4E0D\u5141\u8BB8\u539F\u59CB\u53D1\u9001\u8005\u5220\u9664\u56DE\u58F0\u6D1E\u3002",
|
|
133
|
-
msgDeleted: "\u2705 \u5DF2\u6210\u529F\u62B9\u53BB\u56DE\u58F0\u6D1E\u6D88\u606F ID\uFF1A{0}"
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
"cave.purge": {
|
|
137
|
-
description: "\u62B9\u53BB\u591A\u4E2A id \u7684\u56DE\u58F0\u6D1E\u4FE1\u606F",
|
|
138
|
-
messages: {
|
|
139
|
-
noIdProvided: "\u274C \u8BF7\u63D0\u4F9B\u8981\u5220\u9664\u7684\u56DE\u58F0\u6D1E\u6D88\u606F ID\uFF01",
|
|
140
|
-
msgDeleted: "\u2705 \u5DF2\u6210\u529F\u62B9\u53BB\u56DE\u58F0\u6D1E\u6D88\u606F ID\uFF1A{0}",
|
|
141
|
-
msgDeletedMultiple: "\u2705 \u5DF2\u6210\u529F\u62B9\u53BB {0} \u6761\u56DE\u58F0\u6D1E\u6D88\u606F\uFF01",
|
|
142
|
-
msgDeleteFailedAll: "\u274C \u6240\u6709\u6307\u5B9A\u7684\u56DE\u58F0\u6D1E\u6D88\u606F ID \u5747\u5220\u9664\u5931\u8D25\uFF1A{0}",
|
|
143
|
-
msgDeletePartial: "\u26A0\uFE0F \u90E8\u5206\u56DE\u58F0\u6D1E\u6D88\u606F\u5220\u9664\u5931\u8D25\uFF0C\u5931\u8D25 ID\uFF1A{0}"
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
"cave.search": {
|
|
147
|
-
description: "\u641C\u7D22\u4E0E\u6307\u5B9A\u7528\u6237\u76F8\u5173\u7684\u56DE\u58F0\u6D1E",
|
|
148
|
-
messages: {
|
|
149
|
-
noUserIdProvided: "\u274C \u8BF7\u63D0\u4F9B\u8981\u641C\u7D22\u7684\u7528\u6237 ID\uFF01",
|
|
150
|
-
noValidUserIdProvided: "\u274C \u672A\u63D0\u4F9B\u6709\u6548\u7684\u7528\u6237 ID\uFF01",
|
|
151
|
-
noMatchingCaves: "\u{1F50D} \u672A\u627E\u5230\u4E0E\u7528\u6237 {0} \u76F8\u5173\u7684\u56DE\u58F0\u6D1E\u6D88\u606F",
|
|
152
|
-
searchResult: "\u{1F50D} \u5171\u627E\u5230 {0} \u6761\u4E0E\u8BE5\u7528\u6237\u76F8\u5173\u7684\u56DE\u58F0\u6D1E\u6D88\u606F\uFF1A\nID \u5217\u8868\uFF1A{1}"
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
"cave.listen": {
|
|
156
|
-
description: "\u83B7\u5F97\u7531\u81EA\u5DF1\u6295\u7A3F\u7684\u56DE\u58F0\u6D1E\u5217\u8868",
|
|
157
|
-
messages: {
|
|
158
|
-
noMsgContributed: '\u{1F680} \u60A8\u5728\u56DE\u58F0\u6D1E\u4E2D\u6682\u65E0\u6295\u7A3F\uFF0C\u5FEB\u4F7F\u7528 "cave.echo" \u547D\u4EE4\u6DFB\u52A0\u7B2C\u4E00\u6761\u6D88\u606F\u5427\uFF01',
|
|
159
|
-
msgListHeader: "\u{1F4DC} \u60A8\u5728\u672C\u9891\u9053\u6295\u7A3F\u7684\u56DE\u58F0\u6D1E\u6D88\u606F\u5217\u8868\uFF1A"
|
|
160
|
-
}
|
|
161
|
-
},
|
|
162
|
-
"cave.trace": {
|
|
163
|
-
description: "\u83B7\u5F97\u81EA\u5DF1\u53D1\u8A00\u7684\u56DE\u58F0\u6D1E\u5217\u8868",
|
|
164
|
-
messages: {
|
|
165
|
-
noMsgTraced: '\u{1F680} \u60A8\u5728\u56DE\u58F0\u6D1E\u4E2D\u6682\u65E0\u53D1\u8A00\u88AB\u6295\u7A3F\uFF0C\u5FEB\u4F7F\u7528 "cave.echo" \u547D\u4EE4\u6DFB\u52A0\u7B2C\u4E00\u6761\u6D88\u606F\u5427\uFF01',
|
|
166
|
-
msgListHeader: "\u{1F4DC} \u60A8\u5728\u672C\u9891\u9053\u53D1\u8A00\u7684\u56DE\u58F0\u6D1E\u6D88\u606F\u5217\u8868\uFF1A"
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
"cave.bind": {
|
|
170
|
-
description: "\u5C06\u7528\u6237\u7ED1\u5B9A\u5230\u7279\u5B9A\u56DE\u58F0\u6D1E",
|
|
171
|
-
messages: {
|
|
172
|
-
noIdProvided: "\u274C \u8BF7\u63D0\u4F9B\u8981\u7ED1\u5B9A\u7528\u6237\u7684\u56DE\u58F0\u6D1E\u6D88\u606F ID\uFF01",
|
|
173
|
-
noUserIdProvided: "\u274C \u8BF7\u63D0\u4F9B\u8981\u7ED1\u5B9A\u7684\u7528\u6237 ID\uFF01",
|
|
174
|
-
msgNotFound: "\u{1F50D} \u672A\u627E\u5230\u8BE5 ID \u7684\u56DE\u58F0\u6D1E\u6D88\u606F",
|
|
175
|
-
userBoundSuccess: "\u2705 \u5DF2\u6210\u529F\u5C06\u7528\u6237\u7ED1\u5B9A\u5230\u56DE\u58F0\u6D1E #{0}\uFF01"
|
|
176
|
-
}
|
|
177
|
-
},
|
|
178
|
-
"cave.rank": {
|
|
179
|
-
description: "\u67E5\u770B\u56DE\u58F0\u6D1E\u6392\u884C\u699C",
|
|
180
|
-
messages: {
|
|
181
|
-
invalidPeriod: "\u65E0\u6548\u7684\u65F6\u95F4\u6BB5\u53C2\u6570\u3002\u652F\u6301\u7684\u65F6\u95F4\u6BB5\uFF1A{0}\uFF0C\u6216\u81EA\u5B9A\u4E49\u65F6\u95F4\u683C\u5F0F(\u5982: 1d, 2d5h, 30m)",
|
|
182
|
-
rankingTitle: "\u{1F4CA} \u56DE\u58F0\u6D1E\u6392\u884C\u699C ({0})",
|
|
183
|
-
noData: "\u6682\u65E0\u6570\u636E",
|
|
184
|
-
rankFormat: "{rankEmoji} {userName}\uFF1A{count} \u4E2A\u56DE\u58F0\u6D1E",
|
|
185
|
-
period: {
|
|
186
|
-
lday: "\u8FC7\u53BB 24 \u5C0F\u65F6",
|
|
187
|
-
lweek: "\u8FC7\u53BB 7 \u5929",
|
|
188
|
-
lmonth: "\u8FC7\u53BB 30 \u5929",
|
|
189
|
-
day: "\u4ECA\u5929",
|
|
190
|
-
week: "\u672C\u5468",
|
|
191
|
-
month: "\u672C\u6708",
|
|
192
|
-
all: "\u6240\u6709\u65F6\u95F4"
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
});
|
|
200
|
-
|
|
201
26
|
// src/index.ts
|
|
202
|
-
|
|
203
|
-
__export(index_exports, {
|
|
204
|
-
Config: () => Config,
|
|
205
|
-
apply: () => apply,
|
|
206
|
-
inject: () => inject,
|
|
207
|
-
name: () => name
|
|
208
|
-
});
|
|
209
|
-
module.exports = __toCommonJS(index_exports);
|
|
210
|
-
var import_koishi_plugin_adapter_onebot2 = require("@pynickle/koishi-plugin-adapter-onebot");
|
|
27
|
+
import "@pynickle/koishi-plugin-adapter-onebot";
|
|
211
28
|
|
|
212
29
|
// src/adapters/onebot/user.ts
|
|
213
30
|
async function getUserIdFromNickname(session, nickname, userId) {
|
|
@@ -239,7 +56,7 @@ async function checkUsersInGroup(ctx, session, userIds) {
|
|
|
239
56
|
}
|
|
240
57
|
|
|
241
58
|
// src/utils/msg/element-helper.ts
|
|
242
|
-
|
|
59
|
+
import { h } from "koishi";
|
|
243
60
|
function parseUserIds(userIds) {
|
|
244
61
|
const parsedUserIds = [];
|
|
245
62
|
for (const userId of typeof userIds === "string" ? [userIds] : userIds) {
|
|
@@ -248,7 +65,7 @@ function parseUserIds(userIds) {
|
|
|
248
65
|
parsedUserIds.push(userId);
|
|
249
66
|
continue;
|
|
250
67
|
}
|
|
251
|
-
const element =
|
|
68
|
+
const element = h.parse(userId);
|
|
252
69
|
if (element.length === 1 && element[0].type === "at") {
|
|
253
70
|
const userId2 = element[0].attrs.id;
|
|
254
71
|
if (userId2 === "all") {
|
|
@@ -266,10 +83,10 @@ function parseUserIds(userIds) {
|
|
|
266
83
|
}
|
|
267
84
|
|
|
268
85
|
// src/utils/media/media-helper.ts
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
86
|
+
import axios from "axios";
|
|
87
|
+
import { promises as fs } from "node:fs";
|
|
88
|
+
import path from "node:path";
|
|
89
|
+
import { v4 as uuidv4 } from "uuid";
|
|
273
90
|
async function saveMedia(ctx, mediaElement, type, cfg) {
|
|
274
91
|
const mediaUrl = mediaElement.url;
|
|
275
92
|
const originalMediaName = mediaElement.file;
|
|
@@ -277,13 +94,13 @@ async function saveMedia(ctx, mediaElement, type, cfg) {
|
|
|
277
94
|
const i = originalMediaName.lastIndexOf(".");
|
|
278
95
|
return i === -1 ? type === "image" ? "png" : type === "video" ? "mp4" : type === "record" ? "mp3" : "bin" : originalMediaName.slice(i + 1).toLowerCase();
|
|
279
96
|
})();
|
|
280
|
-
const mediaDir =
|
|
281
|
-
const mediaName = (
|
|
282
|
-
const fullMediaPath =
|
|
97
|
+
const mediaDir = path.join(ctx.baseDir, "data", "cave", type + "s");
|
|
98
|
+
const mediaName = uuidv4().replace(/-/g, "");
|
|
99
|
+
const fullMediaPath = path.join(mediaDir, `${mediaName}.${ext}`);
|
|
283
100
|
ctx.logger.info(`Saving ${type} from ${mediaUrl} -> ${fullMediaPath}`);
|
|
284
101
|
try {
|
|
285
|
-
await
|
|
286
|
-
const res = await
|
|
102
|
+
await fs.mkdir(mediaDir, { recursive: true });
|
|
103
|
+
const res = await axios.get(mediaUrl, {
|
|
287
104
|
responseType: "arraybuffer",
|
|
288
105
|
validateStatus: () => true
|
|
289
106
|
});
|
|
@@ -313,7 +130,7 @@ async function saveMedia(ctx, mediaElement, type, cfg) {
|
|
|
313
130
|
ctx.logger.warn(`Downloaded ${type} buffer is empty`);
|
|
314
131
|
return mediaUrl;
|
|
315
132
|
}
|
|
316
|
-
await
|
|
133
|
+
await fs.writeFile(fullMediaPath, buffer);
|
|
317
134
|
ctx.logger.info(
|
|
318
135
|
`${type.charAt(0).toUpperCase() + type.slice(1)} saved successfully: ${fullMediaPath}`
|
|
319
136
|
);
|
|
@@ -350,7 +167,7 @@ async function convertFileUriToBase64(ctx, element) {
|
|
|
350
167
|
const fileUri = element.data.file;
|
|
351
168
|
const filePath = decodeURIComponent(fileUri.replace("file:///", ""));
|
|
352
169
|
try {
|
|
353
|
-
const buffer = await
|
|
170
|
+
const buffer = await fs.readFile(filePath);
|
|
354
171
|
const base64 = buffer.toString("base64");
|
|
355
172
|
const mimeTypes = {
|
|
356
173
|
image: "image/jpeg",
|
|
@@ -391,7 +208,7 @@ async function checkAndCleanMediaFiles(ctx, cfg, type) {
|
|
|
391
208
|
if (!cfg.enableSizeLimit) {
|
|
392
209
|
return;
|
|
393
210
|
}
|
|
394
|
-
const mediaDir =
|
|
211
|
+
const mediaDir = path.join(ctx.baseDir, "data", "cave", type + "s");
|
|
395
212
|
const maxSize = (() => {
|
|
396
213
|
switch (type) {
|
|
397
214
|
case "image":
|
|
@@ -406,14 +223,14 @@ async function checkAndCleanMediaFiles(ctx, cfg, type) {
|
|
|
406
223
|
}
|
|
407
224
|
})();
|
|
408
225
|
try {
|
|
409
|
-
const files = await
|
|
226
|
+
const files = await fs.readdir(mediaDir);
|
|
410
227
|
if (files.length === 0) {
|
|
411
228
|
return;
|
|
412
229
|
}
|
|
413
230
|
const fileInfos = await Promise.all(
|
|
414
231
|
files.map(async (file) => {
|
|
415
|
-
const filePath =
|
|
416
|
-
const stats = await
|
|
232
|
+
const filePath = path.join(mediaDir, file);
|
|
233
|
+
const stats = await fs.stat(filePath);
|
|
417
234
|
return {
|
|
418
235
|
path: filePath,
|
|
419
236
|
size: stats.size,
|
|
@@ -440,9 +257,9 @@ async function checkAndCleanMediaFiles(ctx, cfg, type) {
|
|
|
440
257
|
currentSize -= file.size;
|
|
441
258
|
}
|
|
442
259
|
for (const file of filesToDelete) {
|
|
443
|
-
await
|
|
260
|
+
await fs.unlink(file.path);
|
|
444
261
|
ctx.logger.info(
|
|
445
|
-
`Deleted oldest ${type} file: ${
|
|
262
|
+
`Deleted oldest ${type} file: ${path.basename(file.path)} (${(file.size / (1024 * 1024)).toFixed(2)} MB)`
|
|
446
263
|
);
|
|
447
264
|
}
|
|
448
265
|
ctx.logger.info(
|
|
@@ -460,8 +277,8 @@ async function deleteMediaFilesFromMessage(ctx, content) {
|
|
|
460
277
|
if (fileUri && fileUri.startsWith("file:///")) {
|
|
461
278
|
const filePath = decodeURIComponent(fileUri.replace("file:///", ""));
|
|
462
279
|
try {
|
|
463
|
-
await
|
|
464
|
-
await
|
|
280
|
+
await fs.access(filePath);
|
|
281
|
+
await fs.unlink(filePath);
|
|
465
282
|
ctx.logger.info(`Deleted media file: ${filePath}`);
|
|
466
283
|
} catch (err) {
|
|
467
284
|
ctx.logger.warn(`Failed to delete media file: ${filePath}, error: ${err}`);
|
|
@@ -531,7 +348,7 @@ async function processMessageContent(ctx, msg, cfg) {
|
|
|
531
348
|
}
|
|
532
349
|
|
|
533
350
|
// src/core/command/add-cave.ts
|
|
534
|
-
|
|
351
|
+
import { CQCode } from "@pynickle/koishi-plugin-adapter-onebot";
|
|
535
352
|
async function addCave(ctx, session, cfg, userIds) {
|
|
536
353
|
if (!session.guildId) {
|
|
537
354
|
return session.text("echo-cave.general.privateChatReminder");
|
|
@@ -571,7 +388,7 @@ async function addCave(ctx, session, cfg, userIds) {
|
|
|
571
388
|
const message = (await session.onebot.getMsg(messageId)).message;
|
|
572
389
|
let msgJson;
|
|
573
390
|
if (typeof message === "string") {
|
|
574
|
-
msgJson =
|
|
391
|
+
msgJson = CQCode.parse(message);
|
|
575
392
|
} else {
|
|
576
393
|
if (message[0].type === "video" || message[0].type === "file") {
|
|
577
394
|
type = "forward";
|
|
@@ -1099,21 +916,140 @@ async function searchCave(ctx, session, userIds) {
|
|
|
1099
916
|
return session.text(".searchResult", [count, caveIds]);
|
|
1100
917
|
}
|
|
1101
918
|
|
|
919
|
+
// src/locales/zh-CN.json
|
|
920
|
+
var zh_CN_default = {
|
|
921
|
+
"echo-cave": {
|
|
922
|
+
general: {
|
|
923
|
+
privateChatReminder: "\u274C \u8BF7\u5728\u7FA4\u804A\u4E2D\u4F7F\u7528\u8BE5\u547D\u4EE4\uFF01",
|
|
924
|
+
noMsgWithId: "\u{1F50D} \u672A\u627E\u5230\u8BE5 ID \u7684\u56DE\u58F0\u6D1E\u6D88\u606F",
|
|
925
|
+
noTemplatesConfigured: "\u274C \u672A\u914D\u7F6E\u56DE\u58F0\u6D1E\u6A21\u677F\uFF0C\u8BF7\u5148\u914D\u7F6E\u6A21\u677F\uFF01"
|
|
926
|
+
},
|
|
927
|
+
user: {
|
|
928
|
+
invalidAllMention: "\u274C \u4E0D\u652F\u6301 @\u5168\u4F53\u6210\u5458\uFF0C\u8BF7\u76F4\u63A5\u6307\u5B9A\u5177\u4F53\u7528\u6237\uFF01",
|
|
929
|
+
userNotInGroup: "\u274C \u63D0\u4F9B\u7684\u7528\u6237 ID \u4E0D\u5168\u5C5E\u4E8E\u8BE5\u7FA4\u7EC4\uFF01"
|
|
930
|
+
},
|
|
931
|
+
templates: {
|
|
932
|
+
"forward.1": "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u4E00\u5219\u56DE\u58F0\u4ECE\u65F6\u5149\u4E2D\u98D8\u6765\u2014\u2014\n\u{1F4C5} {date} \xB7 \u6765\u81EA @{originName} \n\u{1F4EE} \u7531 @{userName} \u6295\u9012",
|
|
933
|
+
"forward.2": "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u3010\u8BB0\u5F55\u7F16\u53F7\u3011{id} \n\u3010\u521B\u5EFA\u65F6\u95F4\u3011{date} \n\u3010\u539F\u59CB\u4F5C\u8005\u3011@{originName} \n\u3010\u6295\u9012\u8005\u3011@{userName}",
|
|
934
|
+
"forward.3": "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u8FD9\u58F0\u56DE\u54CD\u6700\u521D\u6765\u81EA @{originName}\uFF0C \n\u7531 @{userName} \u5728 {date} \u7559\u4E0B\u3002",
|
|
935
|
+
"forward.4": "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u65F6\u95F4\u7684\u56DE\u97F3\u5728\u6B64\u6C47\u805A\u3002 \n\u{1F4C5} {date} \n\u{1F4E4} \u51FA\u5904\uFF1A@{originName} \n\u{1F4EE} \u5C01\u5370\u8005\uFF1A@{userName}",
|
|
936
|
+
"forward.5": "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u{1F4C5} {date} \n\u{1F464} \u6765\u81EA @{originName} \n\u{1F4EE} \u6295\u9012\u8005 @{userName}",
|
|
937
|
+
"msg.1.prefix": "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u2014\u2014 \u6709\u4EBA\u7559\u4E0B\u4E86\u58F0\u97F3 \u2014\u2014{nl}",
|
|
938
|
+
"msg.1.suffix": "\u{1F4C5} {date} \xB7 \u6765\u81EA @{originName}\n\u{1F4EE} \u7531 @{userName} \u6295\u9012",
|
|
939
|
+
"msg.2.prefix": "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",
|
|
940
|
+
"msg.2.suffix": "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u{1F4C5} {date}\n\u{1F464} {originName} \xB7 \u7531 @{userName} \u6295\u9012",
|
|
941
|
+
"msg.3.prefix": "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u{1F4AD}\u300C\u6709\u4EBA\u5728\u6D1E\u58C1\u7559\u4E0B\u5370\u8BB0\u300D{nl}",
|
|
942
|
+
"msg.3.suffix": "\u{1F4C5} {date}\n\u{1F4EE} {userName} \u8BB0\u5F55",
|
|
943
|
+
"msg.4.prefix": "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u2014 \u56DE\u58F0\u5F00\u59CB \u2014{nl}",
|
|
944
|
+
"msg.4.suffix": "\u2014 \u56DE\u58F0\u7ED3\u675F \u2014\n\u{1F4C5} {date} \xB7 @{originName}\n\u{1F4EE} @{userName}",
|
|
945
|
+
"msg.5.prefix": "\u{1F300} \u56DE\u58F0\u6D1E #{id}{nl}",
|
|
946
|
+
"msg.5.suffix": "\u{1F4C5} {date}\n\u6765\u81EA @{originName}\n\u7531 @{userName} \u6295\u9012"
|
|
947
|
+
}
|
|
948
|
+
},
|
|
949
|
+
commands: {
|
|
950
|
+
cave: {
|
|
951
|
+
description: "\u968F\u673A\u83B7\u53D6 / \u83B7\u53D6\u7279\u5B9A id \u7684\u56DE\u58F0\u6D1E\u4FE1\u606F",
|
|
952
|
+
messages: {
|
|
953
|
+
noMsgInCave: '\u{1F680} \u56DE\u58F0\u6D1E\u4E2D\u6682\u65E0\u6D88\u606F\uFF0C\u5FEB\u4F7F\u7528 "cave.echo" \u547D\u4EE4\u6DFB\u52A0\u7B2C\u4E00\u6761\u6D88\u606F\u5427\uFF01'
|
|
954
|
+
}
|
|
955
|
+
},
|
|
956
|
+
"cave.echo": {
|
|
957
|
+
description: "\u5C06\u6D88\u606F\u5B58\u5165\u56DE\u58F0\u6D1E",
|
|
958
|
+
messages: {
|
|
959
|
+
noMsgQuoted: "\u{1F4A1} \u8BF7\u5F15\u7528\u4E00\u6761\u6D88\u606F\u540E\u518D\u4F7F\u7528\u6B64\u547D\u4EE4\uFF01",
|
|
960
|
+
msgSaved: "\u2705 \u56DE\u58F0\u6D1E\u6D88\u606F\u5DF2\u6210\u529F\u5B58\u5165\uFF0C\u6D88\u606F ID\uFF1A{0}",
|
|
961
|
+
msgFailedToSave: "\u274C \u56DE\u58F0\u6D1E\u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\uFF01"
|
|
962
|
+
}
|
|
963
|
+
},
|
|
964
|
+
"cave.drop": {
|
|
965
|
+
description: "\u62B9\u53BB\u7279\u5B9A id \u7684\u56DE\u58F0\u6D1E\u4FE1\u606F",
|
|
966
|
+
messages: {
|
|
967
|
+
noIdProvided: "\u274C \u8BF7\u63D0\u4F9B\u8981\u5220\u9664\u7684\u56DE\u58F0\u6D1E\u6D88\u606F ID\uFF01",
|
|
968
|
+
adminOnly: "\u26D4 \u8BE5\u6D88\u606F\u7531\u7BA1\u7406\u5458\u53D1\u5E03\uFF0C\u5DF2\u5F00\u542F\u7BA1\u7406\u5458\u6D88\u606F\u4FDD\u62A4\uFF0C\u53EA\u6709\u7BA1\u7406\u5458\u53EF\u4EE5\u5220\u9664\u3002",
|
|
969
|
+
permissionDenied: "\u26D4 \u60A8\u6CA1\u6709\u6743\u9650\u5220\u9664\u6B64\u6D88\u606F\uFF01\u53EA\u6709\u7BA1\u7406\u5458\u53EF\u4EE5\u5220\u9664\u3002",
|
|
970
|
+
contributorDeleteDenied: "\u26D4 \u60A8\u6CA1\u6709\u6743\u9650\u5220\u9664\u6B64\u6D88\u606F\uFF01\u5F53\u524D\u914D\u7F6E\u4E0D\u5141\u8BB8\u6295\u7A3F\u8005\u5220\u9664\u56DE\u58F0\u6D1E\u3002",
|
|
971
|
+
senderDeleteDenied: "\u26D4 \u60A8\u6CA1\u6709\u6743\u9650\u5220\u9664\u6B64\u6D88\u606F\uFF01\u5F53\u524D\u914D\u7F6E\u4E0D\u5141\u8BB8\u539F\u59CB\u53D1\u9001\u8005\u5220\u9664\u56DE\u58F0\u6D1E\u3002",
|
|
972
|
+
msgDeleted: "\u2705 \u5DF2\u6210\u529F\u62B9\u53BB\u56DE\u58F0\u6D1E\u6D88\u606F ID\uFF1A{0}"
|
|
973
|
+
}
|
|
974
|
+
},
|
|
975
|
+
"cave.purge": {
|
|
976
|
+
description: "\u62B9\u53BB\u591A\u4E2A id \u7684\u56DE\u58F0\u6D1E\u4FE1\u606F",
|
|
977
|
+
messages: {
|
|
978
|
+
noIdProvided: "\u274C \u8BF7\u63D0\u4F9B\u8981\u5220\u9664\u7684\u56DE\u58F0\u6D1E\u6D88\u606F ID\uFF01",
|
|
979
|
+
msgDeleted: "\u2705 \u5DF2\u6210\u529F\u62B9\u53BB\u56DE\u58F0\u6D1E\u6D88\u606F ID\uFF1A{0}",
|
|
980
|
+
msgDeletedMultiple: "\u2705 \u5DF2\u6210\u529F\u62B9\u53BB {0} \u6761\u56DE\u58F0\u6D1E\u6D88\u606F\uFF01",
|
|
981
|
+
msgDeleteFailedAll: "\u274C \u6240\u6709\u6307\u5B9A\u7684\u56DE\u58F0\u6D1E\u6D88\u606F ID \u5747\u5220\u9664\u5931\u8D25\uFF1A{0}",
|
|
982
|
+
msgDeletePartial: "\u26A0\uFE0F \u90E8\u5206\u56DE\u58F0\u6D1E\u6D88\u606F\u5220\u9664\u5931\u8D25\uFF0C\u5931\u8D25 ID\uFF1A{0}"
|
|
983
|
+
}
|
|
984
|
+
},
|
|
985
|
+
"cave.search": {
|
|
986
|
+
description: "\u641C\u7D22\u4E0E\u6307\u5B9A\u7528\u6237\u76F8\u5173\u7684\u56DE\u58F0\u6D1E",
|
|
987
|
+
messages: {
|
|
988
|
+
noUserIdProvided: "\u274C \u8BF7\u63D0\u4F9B\u8981\u641C\u7D22\u7684\u7528\u6237 ID\uFF01",
|
|
989
|
+
noValidUserIdProvided: "\u274C \u672A\u63D0\u4F9B\u6709\u6548\u7684\u7528\u6237 ID\uFF01",
|
|
990
|
+
noMatchingCaves: "\u{1F50D} \u672A\u627E\u5230\u4E0E\u7528\u6237 {0} \u76F8\u5173\u7684\u56DE\u58F0\u6D1E\u6D88\u606F",
|
|
991
|
+
searchResult: "\u{1F50D} \u5171\u627E\u5230 {0} \u6761\u4E0E\u8BE5\u7528\u6237\u76F8\u5173\u7684\u56DE\u58F0\u6D1E\u6D88\u606F\uFF1A\nID \u5217\u8868\uFF1A{1}"
|
|
992
|
+
}
|
|
993
|
+
},
|
|
994
|
+
"cave.listen": {
|
|
995
|
+
description: "\u83B7\u5F97\u7531\u81EA\u5DF1\u6295\u7A3F\u7684\u56DE\u58F0\u6D1E\u5217\u8868",
|
|
996
|
+
messages: {
|
|
997
|
+
noMsgContributed: '\u{1F680} \u60A8\u5728\u56DE\u58F0\u6D1E\u4E2D\u6682\u65E0\u6295\u7A3F\uFF0C\u5FEB\u4F7F\u7528 "cave.echo" \u547D\u4EE4\u6DFB\u52A0\u7B2C\u4E00\u6761\u6D88\u606F\u5427\uFF01',
|
|
998
|
+
msgListHeader: "\u{1F4DC} \u60A8\u5728\u672C\u9891\u9053\u6295\u7A3F\u7684\u56DE\u58F0\u6D1E\u6D88\u606F\u5217\u8868\uFF1A"
|
|
999
|
+
}
|
|
1000
|
+
},
|
|
1001
|
+
"cave.trace": {
|
|
1002
|
+
description: "\u83B7\u5F97\u81EA\u5DF1\u53D1\u8A00\u7684\u56DE\u58F0\u6D1E\u5217\u8868",
|
|
1003
|
+
messages: {
|
|
1004
|
+
noMsgTraced: '\u{1F680} \u60A8\u5728\u56DE\u58F0\u6D1E\u4E2D\u6682\u65E0\u53D1\u8A00\u88AB\u6295\u7A3F\uFF0C\u5FEB\u4F7F\u7528 "cave.echo" \u547D\u4EE4\u6DFB\u52A0\u7B2C\u4E00\u6761\u6D88\u606F\u5427\uFF01',
|
|
1005
|
+
msgListHeader: "\u{1F4DC} \u60A8\u5728\u672C\u9891\u9053\u53D1\u8A00\u7684\u56DE\u58F0\u6D1E\u6D88\u606F\u5217\u8868\uFF1A"
|
|
1006
|
+
}
|
|
1007
|
+
},
|
|
1008
|
+
"cave.bind": {
|
|
1009
|
+
description: "\u5C06\u7528\u6237\u7ED1\u5B9A\u5230\u7279\u5B9A\u56DE\u58F0\u6D1E",
|
|
1010
|
+
messages: {
|
|
1011
|
+
noIdProvided: "\u274C \u8BF7\u63D0\u4F9B\u8981\u7ED1\u5B9A\u7528\u6237\u7684\u56DE\u58F0\u6D1E\u6D88\u606F ID\uFF01",
|
|
1012
|
+
noUserIdProvided: "\u274C \u8BF7\u63D0\u4F9B\u8981\u7ED1\u5B9A\u7684\u7528\u6237 ID\uFF01",
|
|
1013
|
+
msgNotFound: "\u{1F50D} \u672A\u627E\u5230\u8BE5 ID \u7684\u56DE\u58F0\u6D1E\u6D88\u606F",
|
|
1014
|
+
userBoundSuccess: "\u2705 \u5DF2\u6210\u529F\u5C06\u7528\u6237\u7ED1\u5B9A\u5230\u56DE\u58F0\u6D1E #{0}\uFF01"
|
|
1015
|
+
}
|
|
1016
|
+
},
|
|
1017
|
+
"cave.rank": {
|
|
1018
|
+
description: "\u67E5\u770B\u56DE\u58F0\u6D1E\u6392\u884C\u699C",
|
|
1019
|
+
messages: {
|
|
1020
|
+
invalidPeriod: "\u65E0\u6548\u7684\u65F6\u95F4\u6BB5\u53C2\u6570\u3002\u652F\u6301\u7684\u65F6\u95F4\u6BB5\uFF1A{0}\uFF0C\u6216\u81EA\u5B9A\u4E49\u65F6\u95F4\u683C\u5F0F(\u5982: 1d, 2d5h, 30m)",
|
|
1021
|
+
rankingTitle: "\u{1F4CA} \u56DE\u58F0\u6D1E\u6392\u884C\u699C ({0})",
|
|
1022
|
+
noData: "\u6682\u65E0\u6570\u636E",
|
|
1023
|
+
rankFormat: "{rankEmoji} {userName}\uFF1A{count} \u4E2A\u56DE\u58F0\u6D1E",
|
|
1024
|
+
period: {
|
|
1025
|
+
lday: "\u8FC7\u53BB 24 \u5C0F\u65F6",
|
|
1026
|
+
lweek: "\u8FC7\u53BB 7 \u5929",
|
|
1027
|
+
lmonth: "\u8FC7\u53BB 30 \u5929",
|
|
1028
|
+
day: "\u4ECA\u5929",
|
|
1029
|
+
week: "\u672C\u5468",
|
|
1030
|
+
month: "\u672C\u6708",
|
|
1031
|
+
all: "\u6240\u6709\u65F6\u95F4"
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
}
|
|
1036
|
+
};
|
|
1037
|
+
|
|
1102
1038
|
// src/config/config.ts
|
|
1103
|
-
|
|
1104
|
-
var Config =
|
|
1105
|
-
adminMessageProtection:
|
|
1106
|
-
allowContributorDelete:
|
|
1107
|
-
allowSenderDelete:
|
|
1108
|
-
deleteMediaWhenDeletingMsg:
|
|
1109
|
-
enableSizeLimit:
|
|
1110
|
-
maxImageSize:
|
|
1111
|
-
maxVideoSize:
|
|
1112
|
-
maxFileSize:
|
|
1113
|
-
maxRecordSize:
|
|
1114
|
-
useBase64ForMedia:
|
|
1115
|
-
sendAllAsForwardMsg:
|
|
1116
|
-
rankingTopCount:
|
|
1039
|
+
import { Schema } from "koishi";
|
|
1040
|
+
var Config = Schema.object({
|
|
1041
|
+
adminMessageProtection: Schema.boolean().default(false),
|
|
1042
|
+
allowContributorDelete: Schema.boolean().default(true),
|
|
1043
|
+
allowSenderDelete: Schema.boolean().default(true),
|
|
1044
|
+
deleteMediaWhenDeletingMsg: Schema.boolean().default(true),
|
|
1045
|
+
enableSizeLimit: Schema.boolean().default(false),
|
|
1046
|
+
maxImageSize: Schema.number().default(2048),
|
|
1047
|
+
maxVideoSize: Schema.number().default(512),
|
|
1048
|
+
maxFileSize: Schema.number().default(512),
|
|
1049
|
+
maxRecordSize: Schema.number().default(512),
|
|
1050
|
+
useBase64ForMedia: Schema.boolean().default(false),
|
|
1051
|
+
sendAllAsForwardMsg: Schema.boolean().default(false),
|
|
1052
|
+
rankingTopCount: Schema.number().default(10)
|
|
1117
1053
|
}).i18n({
|
|
1118
1054
|
"zh-CN": require_zh_CN()
|
|
1119
1055
|
});
|
|
@@ -1122,7 +1058,7 @@ var Config = import_koishi2.Schema.object({
|
|
|
1122
1058
|
var name = "echo-cave";
|
|
1123
1059
|
var inject = ["database"];
|
|
1124
1060
|
function apply(ctx, cfg) {
|
|
1125
|
-
ctx.i18n.define("zh-CN",
|
|
1061
|
+
ctx.i18n.define("zh-CN", zh_CN_default);
|
|
1126
1062
|
ctx.model.extend(
|
|
1127
1063
|
"echo_cave",
|
|
1128
1064
|
{
|
|
@@ -1193,10 +1129,9 @@ function apply(ctx, cfg) {
|
|
|
1193
1129
|
async ({ session }, period) => await getRanking(ctx, session, cfg, period)
|
|
1194
1130
|
);
|
|
1195
1131
|
}
|
|
1196
|
-
|
|
1197
|
-
0 && (module.exports = {
|
|
1132
|
+
export {
|
|
1198
1133
|
Config,
|
|
1199
1134
|
apply,
|
|
1200
1135
|
inject,
|
|
1201
1136
|
name
|
|
1202
|
-
}
|
|
1137
|
+
};
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "koishi-plugin-echo-cave",
|
|
3
3
|
"description": "Group echo cave",
|
|
4
|
-
"version": "1.24.
|
|
5
|
-
"main": "lib/index.
|
|
4
|
+
"version": "1.24.6",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"files": [
|
|
@@ -45,7 +45,6 @@
|
|
|
45
45
|
"@types/node": "^24.10.2",
|
|
46
46
|
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
47
47
|
"esbuild": "^0.27.1",
|
|
48
|
-
"esbuild-plugin-yaml": "^0.0.1",
|
|
49
48
|
"oxfmt": "^0.17.0",
|
|
50
49
|
"oxlint": "^1.32.0",
|
|
51
50
|
"semantic-release": "^25.0.2",
|