koishi-plugin-echo-cave 1.9.2 → 1.10.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.
- package/lib/index.cjs +73 -89
- package/package.json +1 -1
package/lib/index.cjs
CHANGED
|
@@ -33,14 +33,48 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
33
33
|
var require_zh_CN = __commonJS({
|
|
34
34
|
"src/locales/zh-CN.json"(exports2, module2) {
|
|
35
35
|
module2.exports = {
|
|
36
|
-
|
|
36
|
+
_config: {
|
|
37
37
|
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",
|
|
38
38
|
allowContributorDelete: "\u5141\u8BB8\u6295\u7A3F\u8005\u5220\u9664\u81EA\u5DF1\u6295\u7A3F\u7684\u56DE\u58F0\u6D1E",
|
|
39
39
|
allowSenderDelete: "\u5141\u8BB8\u539F\u59CB\u53D1\u9001\u8005\u5220\u9664\u88AB\u6295\u7A3F\u7684\u56DE\u58F0\u6D1E"
|
|
40
40
|
},
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
"echo-cave": {
|
|
42
|
+
general: {
|
|
43
|
+
privateChatReminder: "\u274C \u8BF7\u5728\u7FA4\u804A\u4E2D\u4F7F\u7528\u8BE5\u547D\u4EE4\uFF01",
|
|
44
|
+
noMsgWithId: "\u{1F50D} \u672A\u627E\u5230\u8BE5 ID \u7684\u56DE\u58F0\u6D1E\u6D88\u606F",
|
|
45
|
+
noTemplatesConfigured: "\u274C \u672A\u914D\u7F6E\u56DE\u58F0\u6D1E\u6A21\u677F\uFF0C\u8BF7\u5148\u914D\u7F6E\u6A21\u677F\uFF01"
|
|
46
|
+
},
|
|
47
|
+
templates: {
|
|
48
|
+
forward: [
|
|
49
|
+
"\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",
|
|
50
|
+
"\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}",
|
|
51
|
+
"\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",
|
|
52
|
+
"\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}",
|
|
53
|
+
"\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u{1F4C5} {date} \n\u{1F464} \u6765\u81EA @{originName} \n\u{1F4EE} \u6295\u9012\u8005 @{userName}"
|
|
54
|
+
],
|
|
55
|
+
msg: [
|
|
56
|
+
{
|
|
57
|
+
prefix: "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u2014\u2014 \u6709\u4EBA\u7559\u4E0B\u4E86\u58F0\u97F3 \u2014\u2014\n\n",
|
|
58
|
+
suffix: "\u{1F4C5} {date} \xB7 \u6765\u81EA @{originName}\n\u{1F4EE} \u7531 @{userName} \u6295\u9012"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
prefix: "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
|
|
62
|
+
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"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
prefix: "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u{1F4AD}\u300C\u6709\u4EBA\u5728\u6D1E\u58C1\u7559\u4E0B\u5370\u8BB0\u300D\n\n",
|
|
66
|
+
suffix: "\u{1F4C5} {date}\n\u{1F4EE} {userName} \u8BB0\u5F55"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
prefix: "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n\u2014 \u56DE\u58F0\u5F00\u59CB \u2014\n\n",
|
|
70
|
+
suffix: "\u2014 \u56DE\u58F0\u7ED3\u675F \u2014\n\u{1F4C5} {date} \xB7 @{originName}\n\u{1F4EE} @{userName}"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
prefix: "\u{1F300} \u56DE\u58F0\u6D1E #{id}\n\n",
|
|
74
|
+
suffix: "\u{1F4C5} {date}\n\u6765\u81EA @{originName}\n\u7531 @{userName} \u6295\u9012"
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
}
|
|
44
78
|
},
|
|
45
79
|
commands: {
|
|
46
80
|
cave: {
|
|
@@ -129,97 +163,47 @@ async function sendCaveMsg(ctx, session, caveMsg) {
|
|
|
129
163
|
const date = formatDate(caveMsg.createTime);
|
|
130
164
|
const originName = await getUserName(ctx, session, caveMsg.originUserId);
|
|
131
165
|
const userName = await getUserName(ctx, session, caveMsg.userId);
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
\u3010\u8BB0\u5F55\u7F16\u53F7\u3011${caveMsg.id}
|
|
141
|
-
\u3010\u521B\u5EFA\u65F6\u95F4\u3011${date}
|
|
142
|
-
\u3010\u539F\u59CB\u4F5C\u8005\u3011@${originName}
|
|
143
|
-
\u3010\u6295\u9012\u8005\u3011@${userName}`,
|
|
144
|
-
`\u{1F300} \u56DE\u58F0\u6D1E #${caveMsg.id}
|
|
145
|
-
|
|
146
|
-
\u8FD9\u58F0\u56DE\u54CD\u6700\u521D\u6765\u81EA @${originName}\uFF0C
|
|
147
|
-
\u7531 @${userName} \u5728 ${date} \u7559\u4E0B\u3002`,
|
|
148
|
-
`\u{1F300} \u56DE\u58F0\u6D1E #${caveMsg.id}
|
|
149
|
-
|
|
150
|
-
\u65F6\u95F4\u7684\u56DE\u97F3\u5728\u6B64\u6C47\u805A\u3002
|
|
151
|
-
\u{1F4C5} ${date}
|
|
152
|
-
\u{1F4E4} \u51FA\u5904\uFF1A@${originName}
|
|
153
|
-
\u{1F4EE} \u5C01\u5370\u8005\uFF1A@${userName}`,
|
|
154
|
-
`\u{1F300} \u56DE\u58F0\u6D1E #${caveMsg.id}
|
|
155
|
-
|
|
156
|
-
\u{1F4C5} ${date}
|
|
157
|
-
\u{1F464} \u6765\u81EA @${originName}
|
|
158
|
-
\u{1F4EE} \u6295\u9012\u8005 @${userName}`
|
|
159
|
-
];
|
|
160
|
-
const msgStyles = [
|
|
161
|
-
{
|
|
162
|
-
prefix: `\u{1F300} \u56DE\u58F0\u6D1E #${caveMsg.id}
|
|
163
|
-
|
|
164
|
-
\u2014\u2014 \u6709\u4EBA\u7559\u4E0B\u4E86\u58F0\u97F3 \u2014\u2014
|
|
165
|
-
|
|
166
|
-
`,
|
|
167
|
-
suffix: `\u{1F4C5} ${date} \xB7 \u6765\u81EA @${originName}
|
|
168
|
-
\u{1F4EE} \u7531 @${userName} \u6295\u9012`
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
prefix: `\u{1F300} \u56DE\u58F0\u6D1E #${caveMsg.id}
|
|
172
|
-
\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
173
|
-
`,
|
|
174
|
-
suffix: `\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
175
|
-
\u{1F4C5} ${date}
|
|
176
|
-
\u{1F464} ${originName} \xB7 \u7531 @${userName} \u6295\u9012`
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
prefix: `\u{1F300} \u56DE\u58F0\u6D1E #${caveMsg.id}
|
|
180
|
-
|
|
181
|
-
\u{1F4AD}\u300C\u6709\u4EBA\u5728\u6D1E\u58C1\u7559\u4E0B\u5370\u8BB0\u300D
|
|
182
|
-
|
|
183
|
-
`,
|
|
184
|
-
suffix: `\u{1F4C5} ${date}
|
|
185
|
-
\u{1F4EE} ${userName} \u8BB0\u5F55`
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
prefix: `\u{1F300} \u56DE\u58F0\u6D1E #${caveMsg.id}
|
|
189
|
-
|
|
190
|
-
\u2014 \u56DE\u58F0\u5F00\u59CB \u2014
|
|
191
|
-
|
|
192
|
-
`,
|
|
193
|
-
suffix: `\u2014 \u56DE\u58F0\u7ED3\u675F \u2014
|
|
194
|
-
\u{1F4C5} ${date} \xB7 @${originName}
|
|
195
|
-
\u{1F4EE} @${userName}`
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
prefix: `\u{1F300} \u56DE\u58F0\u6D1E #${caveMsg.id}
|
|
199
|
-
|
|
200
|
-
`,
|
|
201
|
-
suffix: `\u{1F4C5} ${date}
|
|
202
|
-
\u6765\u81EA @${originName}
|
|
203
|
-
\u7531 @${userName} \u6295\u9012`
|
|
204
|
-
}
|
|
205
|
-
];
|
|
206
|
-
const random = (arr) => arr[Math.floor(Math.random() * arr.length)];
|
|
166
|
+
const templateData = {
|
|
167
|
+
id: caveMsg.id.toString(),
|
|
168
|
+
date,
|
|
169
|
+
originName,
|
|
170
|
+
userName
|
|
171
|
+
};
|
|
172
|
+
const TEMPLATE_COUNT = 5;
|
|
207
173
|
if (caveMsg.type === "forward") {
|
|
208
|
-
const
|
|
209
|
-
|
|
174
|
+
const availableTemplates2 = [];
|
|
175
|
+
for (let i = 0; i < TEMPLATE_COUNT; i++) {
|
|
176
|
+
const template = session.text(`echo-cave.templates.forward.${i}`, templateData);
|
|
177
|
+
if (template.trim() !== "") {
|
|
178
|
+
availableTemplates2.push(template);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
if (availableTemplates2.length === 0) {
|
|
182
|
+
await session.send(session.text("echo-cave.general.noTemplatesConfigured"));
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
const chosenTemplate2 = availableTemplates2[Math.floor(Math.random() * availableTemplates2.length)];
|
|
186
|
+
await session.onebot.sendGroupMsg(channelId, [createTextMsg(chosenTemplate2)]);
|
|
210
187
|
await session.onebot.sendGroupForwardMsg(channelId, content);
|
|
211
188
|
return;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
189
|
+
}
|
|
190
|
+
const availableTemplates = [];
|
|
191
|
+
for (let i = 0; i < TEMPLATE_COUNT; i++) {
|
|
192
|
+
const prefix = session.text(`echo-cave.templates.msg.${i}.prefix`, templateData);
|
|
193
|
+
const suffix = session.text(`echo-cave.templates.msg.${i}.suffix`, templateData);
|
|
194
|
+
if (prefix.trim() !== "" && suffix.trim() !== "") {
|
|
195
|
+
availableTemplates.push({ prefix, suffix });
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if (availableTemplates.length === 0) {
|
|
199
|
+
await session.send(session.text("echo-cave.general.noTemplatesConfigured"));
|
|
216
200
|
return;
|
|
217
201
|
}
|
|
218
|
-
const
|
|
202
|
+
const chosenTemplate = availableTemplates[Math.floor(Math.random() * availableTemplates.length)];
|
|
219
203
|
const last = content.at(-1);
|
|
220
204
|
const needsNewline = last?.type === "text";
|
|
221
|
-
content.unshift(createTextMsg(
|
|
222
|
-
content.push(createTextMsg(`${needsNewline ? "\n\n" : ""}${
|
|
205
|
+
content.unshift(createTextMsg(chosenTemplate.prefix));
|
|
206
|
+
content.push(createTextMsg(`${needsNewline ? "\n\n" : ""}${chosenTemplate.suffix}`));
|
|
223
207
|
await session.onebot.sendGroupMsg(channelId, content);
|
|
224
208
|
}
|
|
225
209
|
function formatDate(date) {
|
|
@@ -349,7 +333,7 @@ var Config = import_koishi.Schema.object({
|
|
|
349
333
|
allowContributorDelete: import_koishi.Schema.boolean().default(true),
|
|
350
334
|
allowSenderDelete: import_koishi.Schema.boolean().default(true)
|
|
351
335
|
}).i18n({
|
|
352
|
-
"zh-CN": require_zh_CN().
|
|
336
|
+
"zh-CN": require_zh_CN()._config
|
|
353
337
|
});
|
|
354
338
|
function apply(ctx, cfg) {
|
|
355
339
|
ctx.i18n.define("zh-CN", require_zh_CN());
|