mioku-plugin-impact 1.1.2 → 2.0.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/handlers/dajiao.ts +3 -3
- package/handlers/open-module.ts +1 -1
- package/handlers/pk.ts +5 -5
- package/handlers/queryjj.ts +4 -4
- package/handlers/rank.ts +3 -4
- package/handlers/suo.ts +5 -5
- package/handlers/types.ts +2 -2
- package/handlers/yinpa.ts +11 -7
- package/index.ts +3 -3
- package/package.json +3 -5
- package/utils.ts +4 -8
package/handlers/dajiao.ts
CHANGED
|
@@ -9,7 +9,7 @@ export async function handleDajiao(h: HandlerContext): Promise<void> {
|
|
|
9
9
|
if (!cdState.ok) {
|
|
10
10
|
await event.reply(
|
|
11
11
|
[
|
|
12
|
-
ctx.segment.at(
|
|
12
|
+
ctx.segment.at(String(event.user_id)),
|
|
13
13
|
ctx.segment.text(
|
|
14
14
|
`你已经打不动了喵, 请等待${roundTo(cdState.remaining, 3)}秒后再打喵`,
|
|
15
15
|
),
|
|
@@ -26,7 +26,7 @@ export async function handleDajiao(h: HandlerContext): Promise<void> {
|
|
|
26
26
|
await db.addJjLength(Number(uid), delta);
|
|
27
27
|
await event.reply(
|
|
28
28
|
[
|
|
29
|
-
ctx.segment.at(
|
|
29
|
+
ctx.segment.at(String(event.user_id)),
|
|
30
30
|
ctx.segment.text(
|
|
31
31
|
`打胶结束喵, 你的${pickJj()}很满意喵, 长了${delta}cm喵, 目前长度为${db.getJjLength(
|
|
32
32
|
Number(uid),
|
|
@@ -39,7 +39,7 @@ export async function handleDajiao(h: HandlerContext): Promise<void> {
|
|
|
39
39
|
await db.addNewUser(Number(uid));
|
|
40
40
|
await event.reply(
|
|
41
41
|
[
|
|
42
|
-
ctx.segment.at(
|
|
42
|
+
ctx.segment.at(String(event.user_id)),
|
|
43
43
|
ctx.segment.text(
|
|
44
44
|
`你还没有创建${pickJj()}, 咱帮你创建了喵, 目前长度是10cm喵`,
|
|
45
45
|
),
|
package/handlers/open-module.ts
CHANGED
package/handlers/pk.ts
CHANGED
|
@@ -9,7 +9,7 @@ export async function handlePk(h: HandlerContext): Promise<void> {
|
|
|
9
9
|
if (!cdState.ok) {
|
|
10
10
|
await event.reply(
|
|
11
11
|
[
|
|
12
|
-
ctx.segment.at(
|
|
12
|
+
ctx.segment.at(String(event.user_id)),
|
|
13
13
|
ctx.segment.text(
|
|
14
14
|
`你已经pk不动了喵, 请等待${roundTo(cdState.remaining, 3)}秒后再pk喵`,
|
|
15
15
|
),
|
|
@@ -27,7 +27,7 @@ export async function handlePk(h: HandlerContext): Promise<void> {
|
|
|
27
27
|
if (at === Number(uid)) {
|
|
28
28
|
await event.reply(
|
|
29
29
|
[
|
|
30
|
-
ctx.segment.at(
|
|
30
|
+
ctx.segment.at(String(event.user_id)),
|
|
31
31
|
ctx.segment.text("你不能pk自己喵"),
|
|
32
32
|
],
|
|
33
33
|
false,
|
|
@@ -45,7 +45,7 @@ export async function handlePk(h: HandlerContext): Promise<void> {
|
|
|
45
45
|
clearCooldown(cd.pk, uid);
|
|
46
46
|
await event.reply(
|
|
47
47
|
[
|
|
48
|
-
ctx.segment.at(
|
|
48
|
+
ctx.segment.at(String(event.user_id)),
|
|
49
49
|
ctx.segment.text(
|
|
50
50
|
`你或对面还没有创建${pickJj()}喵, 咱全帮你创建了喵, 你们的${pickJj()}长度都是10cm喵`,
|
|
51
51
|
),
|
|
@@ -62,7 +62,7 @@ export async function handlePk(h: HandlerContext): Promise<void> {
|
|
|
62
62
|
await db.addJjLength(at, -delta);
|
|
63
63
|
await event.reply(
|
|
64
64
|
[
|
|
65
|
-
ctx.segment.at(
|
|
65
|
+
ctx.segment.at(String(event.user_id)),
|
|
66
66
|
ctx.segment.text(
|
|
67
67
|
`对决胜利喵, 你的${pickJj()}增加了${roundTo(
|
|
68
68
|
delta / 2,
|
|
@@ -77,7 +77,7 @@ export async function handlePk(h: HandlerContext): Promise<void> {
|
|
|
77
77
|
await db.addJjLength(at, delta / 2);
|
|
78
78
|
await event.reply(
|
|
79
79
|
[
|
|
80
|
-
ctx.segment.at(
|
|
80
|
+
ctx.segment.at(String(event.user_id)),
|
|
81
81
|
ctx.segment.text(
|
|
82
82
|
`对决失败喵, 在对面牛子的阴影笼罩下你的${pickJj()}减小了${delta}cm喵, 对面增加了${roundTo(
|
|
83
83
|
delta / 2,
|
package/handlers/queryjj.ts
CHANGED
|
@@ -10,7 +10,7 @@ export async function handleQueryJj(h: HandlerContext): Promise<void> {
|
|
|
10
10
|
if (db.isUserInTable(uid)) {
|
|
11
11
|
await event.reply(
|
|
12
12
|
[
|
|
13
|
-
ctx.segment.at(uid),
|
|
13
|
+
ctx.segment.at(String(uid)),
|
|
14
14
|
ctx.segment.text(`你的${pickJj()}目前长度为${db.getJjLength(uid)}cm喵`),
|
|
15
15
|
],
|
|
16
16
|
false,
|
|
@@ -19,7 +19,7 @@ export async function handleQueryJj(h: HandlerContext): Promise<void> {
|
|
|
19
19
|
await db.addNewUser(uid);
|
|
20
20
|
await event.reply(
|
|
21
21
|
[
|
|
22
|
-
ctx.segment.at(uid),
|
|
22
|
+
ctx.segment.at(String(uid)),
|
|
23
23
|
ctx.segment.text(
|
|
24
24
|
`你还没有创建${pickJj()}喵, 咱帮你创建了喵, 目前长度是10cm喵`,
|
|
25
25
|
),
|
|
@@ -33,7 +33,7 @@ export async function handleQueryJj(h: HandlerContext): Promise<void> {
|
|
|
33
33
|
if (db.isUserInTable(at)) {
|
|
34
34
|
await event.reply(
|
|
35
35
|
[
|
|
36
|
-
ctx.segment.at(uid),
|
|
36
|
+
ctx.segment.at(String(uid)),
|
|
37
37
|
ctx.segment.text(`TA的${pickJj()}目前长度为${db.getJjLength(at)}cm喵`),
|
|
38
38
|
],
|
|
39
39
|
false,
|
|
@@ -42,7 +42,7 @@ export async function handleQueryJj(h: HandlerContext): Promise<void> {
|
|
|
42
42
|
await db.addNewUser(at);
|
|
43
43
|
await event.reply(
|
|
44
44
|
[
|
|
45
|
-
ctx.segment.at(uid),
|
|
45
|
+
ctx.segment.at(String(uid)),
|
|
46
46
|
ctx.segment.text(
|
|
47
47
|
`TA还没有创建${pickJj()}喵, 咱帮他创建了喵, 目前长度是10cm喵`,
|
|
48
48
|
),
|
package/handlers/rank.ts
CHANGED
|
@@ -26,7 +26,7 @@ export async function handleRank(h: HandlerContext): Promise<void> {
|
|
|
26
26
|
await db.addNewUser(Number(event.user_id));
|
|
27
27
|
await event.reply(
|
|
28
28
|
[
|
|
29
|
-
ctx.segment.at(
|
|
29
|
+
ctx.segment.at(String(event.user_id)),
|
|
30
30
|
ctx.segment.text(
|
|
31
31
|
`你还没有创建${pickJj()}看不到rank喵, 咱帮你创建了喵, 目前长度是10cm喵`,
|
|
32
32
|
),
|
|
@@ -36,10 +36,9 @@ export async function handleRank(h: HandlerContext): Promise<void> {
|
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
const selfId = Number(event.self_id);
|
|
40
39
|
const rows: RankRow[] = await Promise.all(
|
|
41
40
|
[...top5, ...last5].map(async (r) => ({
|
|
42
|
-
name: await getStrangerNickname(
|
|
41
|
+
name: await getStrangerNickname(event.bot, r.userId),
|
|
43
42
|
userId: r.userId,
|
|
44
43
|
jjLength: r.jjLength,
|
|
45
44
|
})),
|
|
@@ -49,7 +48,7 @@ export async function handleRank(h: HandlerContext): Promise<void> {
|
|
|
49
48
|
|
|
50
49
|
await event.reply(
|
|
51
50
|
[
|
|
52
|
-
ctx.segment.at(
|
|
51
|
+
ctx.segment.at(String(event.user_id)),
|
|
53
52
|
ctx.segment.image(imagePath),
|
|
54
53
|
ctx.segment.text(`你的排名为${myIndex + 1}喵`),
|
|
55
54
|
],
|
package/handlers/suo.ts
CHANGED
|
@@ -9,7 +9,7 @@ export async function handleSuo(h: HandlerContext): Promise<void> {
|
|
|
9
9
|
if (!cdState.ok) {
|
|
10
10
|
await event.reply(
|
|
11
11
|
[
|
|
12
|
-
ctx.segment.at(
|
|
12
|
+
ctx.segment.at(String(event.user_id)),
|
|
13
13
|
ctx.segment.text(
|
|
14
14
|
`你已经嗦不动了喵, 请等待${roundTo(cdState.remaining, 3)}秒后再嗦喵`,
|
|
15
15
|
),
|
|
@@ -27,7 +27,7 @@ export async function handleSuo(h: HandlerContext): Promise<void> {
|
|
|
27
27
|
await db.addJjLength(Number(uid), delta);
|
|
28
28
|
await event.reply(
|
|
29
29
|
[
|
|
30
|
-
ctx.segment.at(
|
|
30
|
+
ctx.segment.at(String(event.user_id)),
|
|
31
31
|
ctx.segment.text(
|
|
32
32
|
`你的${pickJj()}很满意喵, 嗦长了${delta}cm喵, 目前长度为${db.getJjLength(
|
|
33
33
|
Number(uid),
|
|
@@ -41,7 +41,7 @@ export async function handleSuo(h: HandlerContext): Promise<void> {
|
|
|
41
41
|
clearCooldown(cd.suo, uid);
|
|
42
42
|
await event.reply(
|
|
43
43
|
[
|
|
44
|
-
ctx.segment.at(
|
|
44
|
+
ctx.segment.at(String(event.user_id)),
|
|
45
45
|
ctx.segment.text(
|
|
46
46
|
`你还没有创建${pickJj()}喵, 咱帮你创建了喵, 目前长度是10cm喵`,
|
|
47
47
|
),
|
|
@@ -57,7 +57,7 @@ export async function handleSuo(h: HandlerContext): Promise<void> {
|
|
|
57
57
|
await db.addJjLength(at, delta);
|
|
58
58
|
await event.reply(
|
|
59
59
|
[
|
|
60
|
-
ctx.segment.at(
|
|
60
|
+
ctx.segment.at(String(event.user_id)),
|
|
61
61
|
ctx.segment.text(
|
|
62
62
|
`对方的${pickJj()}很满意喵, 嗦长了${delta}cm喵, 目前长度为${db.getJjLength(
|
|
63
63
|
at,
|
|
@@ -71,7 +71,7 @@ export async function handleSuo(h: HandlerContext): Promise<void> {
|
|
|
71
71
|
clearCooldown(cd.suo, uid);
|
|
72
72
|
await event.reply(
|
|
73
73
|
[
|
|
74
|
-
ctx.segment.at(
|
|
74
|
+
ctx.segment.at(String(event.user_id)),
|
|
75
75
|
ctx.segment.text(
|
|
76
76
|
`TA还没有创建${pickJj()}喵, 咱帮TA创建了喵, 目前长度是10cm喵`,
|
|
77
77
|
),
|
package/handlers/types.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ScreenshotService } from "mioku";
|
|
2
|
-
import type {
|
|
2
|
+
import type { MiokuContext } from "mioku";
|
|
3
3
|
import type { ImpactConfig } from "../configs/base";
|
|
4
4
|
import type { ImpactDatabase } from "../db";
|
|
5
5
|
import type { CooldownState } from "../types";
|
|
6
6
|
|
|
7
7
|
export interface HandlerContext {
|
|
8
|
-
ctx:
|
|
8
|
+
ctx: MiokuContext;
|
|
9
9
|
db: ImpactDatabase;
|
|
10
10
|
cd: CooldownState;
|
|
11
11
|
config: ImpactConfig;
|
package/handlers/yinpa.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isOwner } from "
|
|
1
|
+
import { isOwner } from "mioku";
|
|
2
2
|
import { checkCooldown, clearCooldown, markCooldown } from "../state";
|
|
3
3
|
import {
|
|
4
4
|
getAtUserId,
|
|
@@ -35,7 +35,7 @@ export async function handleYinpa(
|
|
|
35
35
|
if (!cdState.ok && !isOwner(event)) {
|
|
36
36
|
await event.reply(
|
|
37
37
|
[
|
|
38
|
-
ctx.segment.at(uid),
|
|
38
|
+
ctx.segment.at(String(uid)),
|
|
39
39
|
ctx.segment.text(
|
|
40
40
|
`你已经榨不出来任何东西了, 请先休息${roundTo(cdState.remaining, 3)}秒`,
|
|
41
41
|
),
|
|
@@ -47,13 +47,17 @@ export async function handleYinpa(
|
|
|
47
47
|
markCooldown(cd.fuck, uidKey);
|
|
48
48
|
|
|
49
49
|
const reqUserCard = getSenderName(event);
|
|
50
|
-
const selfId = Number(event.self_id);
|
|
51
50
|
let prepList: PrepMember[];
|
|
52
51
|
try {
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
prepList = (
|
|
52
|
+
const bot = h.event.bot;
|
|
53
|
+
if (!bot) throw new Error("bot not found");
|
|
54
|
+
const members = await bot.getGroupMembers(String(event.group_id));
|
|
55
|
+
prepList = members.map((m: import("mioku").MemberInfo) => ({
|
|
56
|
+
user_id: Number(m.user_id),
|
|
57
|
+
role: (m.role as PrepMember["role"]) ?? "member",
|
|
58
|
+
card: m.card,
|
|
59
|
+
nickname: m.nickname,
|
|
60
|
+
}));
|
|
57
61
|
} catch (err) {
|
|
58
62
|
clearCooldown(cd.fuck, uidKey);
|
|
59
63
|
ctx.logger.error(`impact: 获取群成员列表失败: ${err}`);
|
package/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { definePlugin, type
|
|
1
|
+
import { definePlugin, type MiokuContext } from "mioku";
|
|
2
2
|
import {
|
|
3
3
|
cloneConfig,
|
|
4
4
|
DEFAULT_CONFIG,
|
|
@@ -25,7 +25,7 @@ const impactPlugin = definePlugin({
|
|
|
25
25
|
version: "1.0.0",
|
|
26
26
|
description: "让群友们眼前一黑的淫趴插件(牛子比拼),移植自 nonebot_plugin_impact",
|
|
27
27
|
|
|
28
|
-
async setup(ctx:
|
|
28
|
+
async setup(ctx: MiokuContext) {
|
|
29
29
|
ctx.logger.info("impact 插件正在初始化...");
|
|
30
30
|
|
|
31
31
|
let db: ImpactDatabase;
|
|
@@ -94,7 +94,7 @@ const impactPlugin = definePlugin({
|
|
|
94
94
|
// 其余命令需要群开启了银趴
|
|
95
95
|
if (!db.isGroupAllowed(Number(event.group_id))) {
|
|
96
96
|
await event.reply(
|
|
97
|
-
[ctx.segment.at(
|
|
97
|
+
[ctx.segment.at(String(event.user_id)), ctx.segment.text(NOT_ALLOW_TEXT)],
|
|
98
98
|
false,
|
|
99
99
|
);
|
|
100
100
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mioku-plugin-impact",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "让群友们眼前一黑的淫趴插件",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -114,11 +114,9 @@
|
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
116
|
"peerDependencies": {
|
|
117
|
-
"mioku": "^0.
|
|
118
|
-
"mioki": "^0.16.0"
|
|
117
|
+
"mioku": "^1.0.0"
|
|
119
118
|
},
|
|
120
119
|
"devDependencies": {
|
|
121
|
-
"mioku": "workspace:*"
|
|
122
|
-
"mioki": "^0.16.0"
|
|
120
|
+
"mioku": "workspace:*"
|
|
123
121
|
}
|
|
124
122
|
}
|
package/utils.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MiokuContext } from "mioku";
|
|
2
|
+
|
|
2
3
|
|
|
3
4
|
export const JJ_VARIABLES = ["牛子", "牛牛", "丁丁", "JJ"] as const;
|
|
4
5
|
|
|
@@ -67,16 +68,11 @@ export function getSenderName(event: any): string {
|
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
export async function getStrangerNickname(
|
|
70
|
-
|
|
71
|
-
selfId: number,
|
|
71
|
+
bot: import("mioku").Bot | undefined,
|
|
72
72
|
userId: number,
|
|
73
73
|
): Promise<string> {
|
|
74
74
|
try {
|
|
75
|
-
const info =
|
|
76
|
-
.pickBot(selfId)
|
|
77
|
-
.api("get_stranger_info", { user_id: userId, no_cache: false })) as
|
|
78
|
-
| { nickname?: string }
|
|
79
|
-
| undefined;
|
|
75
|
+
const info = bot ? await bot.getFriendInfo(userId) : undefined;
|
|
80
76
|
const name = String(info?.nickname || "").trim();
|
|
81
77
|
if (name) return name;
|
|
82
78
|
} catch {
|