koishi-plugin-message-counter-qq 2.6.21

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.
@@ -0,0 +1,3 @@
1
+ [
2
+ "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"
3
+ ]
package/lib/index.d.ts ADDED
@@ -0,0 +1,125 @@
1
+ import { Context, Schema } from "koishi";
2
+ export declare const name = "message-counter-qq";
3
+ export declare const inject: {
4
+ required: string[];
5
+ optional: string[];
6
+ };
7
+ export declare const usage = "## \uD83D\uDCDD \u6CE8\u610F\u4E8B\u9879\n\n- \u8FD9\u662F QQ \u7FA4\u4E13\u7528\u7248\u672C\uFF0C\u53EA\u7EDF\u8BA1 QQ \u7FA4\u804A\u6D88\u606F\n- \u53EA\u7EDF\u8BA1 `GROUP_MESSAGE_CREATE`\uFF0C\u4E0D\u7EDF\u8BA1 `GROUP_AT_MESSAGE_CREATE`\n- \u5F53\u524D\u7FA4\u6392\u884C\u699C\u4E3A\u7A7A\u65F6\uFF0C\u901A\u5E38\u8868\u793A\u4ECA\u65E5\u6682\u65E0\u6D88\u606F\uFF0C\u6216\u7FA4\u4E3B\u672A\u5141\u8BB8\u673A\u5668\u4EBA\u63A5\u6536\u5168\u91CF\u7FA4\u6D88\u606F\n- \u521D\u59CB\u5316\u9700\u6743\u9650\u7B49\u7EA7 3\n- \u4F9D\u8D56 database \u4E0E cron \u670D\u52A1\n- \u751F\u6210\u56FE\u7247\u65F6\uFF0C\u9700 puppeteer \u63D0\u4F9B canvas \u652F\u6301\n\n## \uD83D\uDD0D \u5173\u952E\u6307\u4EE4\n\n### `\u6D88\u606F\u7EDF\u8BA1.\u67E5\u8BE2 [\u6307\u5B9A\u7528\u6237]`\n\n\u67E5\u8BE2\u6307\u5B9A\u7528\u6237\u7684\u53D1\u8A00\u6B21\u6570\u4FE1\u606F\uFF08\u6B21\u6570[\u6392\u540D]\uFF09\u3002\u82E5\u4E0D\u5E26\u4EFB\u4F55\u9009\u9879\uFF0C\u5219\u663E\u793A\u6240\u6709\u65F6\u6BB5\u7684\u6570\u636E\u3002\n\n**\u9009\u9879:**\n\n| \u53C2\u6570 | \u8BF4\u660E |\n|------|------|\n| `-d, --day` | \u4ECA\u65E5\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n| `--yd, --yesterday` | \u6628\u65E5\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n| `-w, --week` | \u672C\u5468\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n| `-m, --month` | \u672C\u6708\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n| `-y, --year` | \u4ECA\u5E74\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n| `-t, --total` | \u603B\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n| `--dag` | \u8DE8\u7FA4\u4ECA\u65E5\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n| `--ydag` | \u8DE8\u7FA4\u6628\u65E5\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n| `--wag` | \u8DE8\u7FA4\u672C\u5468\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n| `--mag` | \u8DE8\u7FA4\u672C\u6708\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n| `--yag` | \u8DE8\u7FA4\u672C\u5E74\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n| `-a, --across` | \u8DE8\u7FA4\u603B\u53D1\u8A00\u6B21\u6570[\u6392\u540D] |\n\n### `\u6D88\u606F\u7EDF\u8BA1.\u6392\u884C\u699C [\u663E\u793A\u7684\u4EBA\u6570]`\n\n\u53D1\u8A00\u6392\u884C\u699C\u3002\u9ED8\u8BA4\u4E3A\u4ECA\u65E5\u53D1\u8A00\u699C\u3002\n\n**\u9009\u9879:**\n\n| \u53C2\u6570 | \u8BF4\u660E |\n|------|------|\n| `--yd, --yesterday` | \u6628\u65E5\u53D1\u8A00\u6392\u884C\u699C |\n| `-w` | \u672C\u5468\u53D1\u8A00\u6392\u884C\u699C |\n| `-m` | \u672C\u6708\u53D1\u8A00\u6392\u884C\u699C |\n| `-y` | \u4ECA\u5E74\u53D1\u8A00\u6392\u884C\u699C |\n| `-t` | \u603B\u53D1\u8A00\u6392\u884C\u699C |\n| `--dag` | \u8DE8\u7FA4\u4ECA\u65E5\u53D1\u8A00\u6392\u884C\u699C |\n| `--ydag` | \u8DE8\u7FA4\u6628\u65E5\u53D1\u8A00\u6392\u884C\u699C |\n| `--wag` | \u8DE8\u7FA4\u672C\u5468\u53D1\u8A00\u6392\u884C\u699C |\n| `--mag` | \u8DE8\u7FA4\u672C\u6708\u53D1\u8A00\u6392\u884C\u699C |\n| `--yag` | \u8DE8\u7FA4\u4ECA\u5E74\u53D1\u8A00\u6392\u884C\u699C |\n| `--dragon` | \u8DE8\u7FA4\u603B\u53D1\u8A00\u6392\u884C\u699C\uFF08\u5723\u9F99\u738B\u699C\uFF09 |\n| `--whites` | \u767D\u540D\u5355\uFF0C\u53EA\u663E\u793A\u767D\u540D\u5355\u7528\u6237 |\n| `--blacks` | \u9ED1\u540D\u5355\uFF0C\u4E0D\u663E\u793A\u9ED1\u540D\u5355\u7528\u6237 |\n\n### `\u6D88\u606F\u7EDF\u8BA1.\u4E0A\u4F20\u67F1\u72B6\u6761\u80CC\u666F`\n\n- \u4E3A\u81EA\u5DF1\u4E0A\u4F20\u4E00\u5F20\u81EA\u5B9A\u4E49\u7684\u6C34\u5E73\u67F1\u72B6\u6761\u80CC\u666F\u56FE\u7247\n- \u65B0\u56FE\u7247\u4F1A\u8986\u76D6\u65E7\u7684\u56FE\u7247\u3002\u82E5\u4E0A\u4F20\u5931\u8D25\uFF0C\u65E7\u56FE\u7247\u4E5F\u4F1A\u88AB\u5220\u9664\n- \u4F7F\u7528\u6B64\u6307\u4EE4\u65F6\u9700\u9644\u5E26\u56FE\u7247\n\n### `\u6D88\u606F\u7EDF\u8BA1.\u91CD\u8F7D\u8D44\u6E90`\n\n- \u5B9E\u65F6\u91CD\u8F7D\u7528\u6237\u56FE\u6807\u3001\u67F1\u72B6\u6761\u80CC\u666F\u548C\u5B57\u4F53\u6587\u4EF6\uFF0C\u4F7F\u5176\u66F4\u6539\u5373\u65F6\u751F\u6548\uFF08\u9700\u8981\u6743\u9650\u7B49\u7EA7 2\uFF09\n\n### `\u6D88\u606F\u7EDF\u8BA1.\u6E05\u7406\u7F13\u5B58`\n\n- \u6E05\u7406\u8FC7\u671F\u7684\u5934\u50CF\u7F13\u5B58\u6587\u4EF6\uFF0C\u4EE5\u91CA\u653E\u78C1\u76D8\u7A7A\u95F4\uFF08\u9700\u8981\u6743\u9650\u7B49\u7EA7 3\uFF09\n- \u7528\u6237\u66F4\u6362\u5934\u50CF\u540E\uFF0C\u65E7\u7684\u5934\u50CF\u7F13\u5B58\u4F1A\u53D8\u6210\u201C\u5B64\u513F\u7F13\u5B58\u201D\u3002\u6B64\u6307\u4EE4\u53EF\u4EE5\u5B89\u5168\u5730\u79FB\u9664\u5B83\u4EEC\u3002\n\n## \uD83C\uDFA8 \u81EA\u5B9A\u4E49\u6C34\u5E73\u67F1\u72B6\u56FE\u6837\u5F0F\n\n- \u91CD\u8F7D\u63D2\u4EF6\u6216\u4F7F\u7528 `\u6D88\u606F\u7EDF\u8BA1.\u91CD\u8F7D\u8D44\u6E90` \u6307\u4EE4\u53EF\u4F7F\u65B0\u589E\u7684\u6587\u4EF6\u7ACB\u5373\u751F\u6548\u3002\n\n### 1. \u7528\u6237\u56FE\u6807\n\n- \u5728 `data/messageCounter/icons` \u6587\u4EF6\u5939\u4E0B\u6DFB\u52A0\u7528\u6237\u56FE\u6807\n- \u6587\u4EF6\u540D\u683C\u5F0F\u4E3A `\u7528\u6237ID.png`\uFF08\u4F8B\uFF1A`1234567890.png`\uFF09\n- \u652F\u6301\u591A\u56FE\u6807\uFF0C\u6587\u4EF6\u540D\u683C\u5F0F\u4E3A `\u7528\u6237ID-1.png`, `\u7528\u6237ID-2.png`\n\n### 2. \u67F1\u72B6\u6761\u80CC\u666F\n\n- **\u63A8\u8350\u65B9\u5F0F**\uFF1A\u4F7F\u7528 `\u6D88\u606F\u7EDF\u8BA1.\u4E0A\u4F20\u67F1\u72B6\u6761\u80CC\u666F` \u6307\u4EE4\n- **\u624B\u52A8\u65B9\u5F0F**\uFF1A\u5728 `data/messageCounter/barBgImgs` \u6587\u4EF6\u5939\u4E0B\u6DFB\u52A0\u80CC\u666F\u56FE\u7247\n- \u652F\u6301\u591A\u80CC\u666F\uFF08\u968F\u673A\u9009\u7528\uFF09\uFF0C\u6587\u4EF6\u540D\u683C\u5F0F\u4E3A `\u7528\u6237ID-1.png` \u7B49\n- \u5EFA\u8BAE\u5C3A\u5BF8 850x50 \u50CF\u7D20\uFF0C\u6587\u4EF6\u540D `\u7528\u6237ID.png`\n\n### 3. \u81EA\u5B9A\u4E49\u5B57\u4F53\n\n- \u63D2\u4EF6\u542F\u52A8\u65F6\uFF0C\u4F1A\u81EA\u52A8\u5C06\u5185\u7F6E\u5B57\u4F53 `HarmonyOS_Sans_Medium.ttf` \u62F7\u8D1D\u5230 `data/messageCounter/fonts/` \u76EE\u5F55\u4E0B\u3002\n- \u60A8\u53EF\u4EE5\u5C06\u81EA\u5DF1\u559C\u7231\u7684\u5B57\u4F53\u6587\u4EF6\u653E\u5165\u6B64\u6587\u4EF6\u5939\uFF0C\u5E76\u5728\u914D\u7F6E\u9879\u7684\u201C\u5B57\u4F53\u8BBE\u7F6E\u201D\u4E2D\u586B\u5165\u8BE5\u5B57\u4F53\u7684\u6587\u4EF6\u540D\u79F0\uFF08\u4E0D\u5E26\u540E\u7F00\uFF09\u3002\n\n---\n\n";
8
+ export interface Config {
9
+ /** 是否统计 Bot 自己发送的消息。 */
10
+ isBotMessageTrackingEnabled: boolean;
11
+ /** 排行榜默认显示的人数。 */
12
+ defaultMaxDisplayCount: number;
13
+ /** 是否在显示排行榜时补充时间信息。 */
14
+ isTimeInfoSupplementEnabled: boolean;
15
+ /** 是否在排行榜中显示用户消息占比。 */
16
+ isUserMessagePercentageVisible: boolean;
17
+ /** 在排行榜中全局隐藏的用户 ID 列表。 */
18
+ hiddenUserIdsInLeaderboard: string[];
19
+ /** 在群排行榜中全局隐藏的频道 ID 列表。 */
20
+ hiddenChannelIdsInLeaderboard: string[];
21
+ /** 是否将文本排行榜转为 Markdown 图片。 */
22
+ isTextToImageConversionEnabled: boolean;
23
+ /** 是否将排行榜渲染为水平柱状图。 */
24
+ isLeaderboardToHorizontalBarChartConversionEnabled: boolean;
25
+ /** 生成的柱状图图片类型。 */
26
+ imageType: "png" | "jpeg" | "webp";
27
+ /** 头像缓存的有效期(秒)。设置为 0 可禁用缓存刷新。 */
28
+ avatarCacheTTL: number;
29
+ /** 头像获取失败后的重试间隔(秒)。 */
30
+ avatarFailureCacheTTL: number;
31
+ /** 页面加载等待事件,影响图片生成速度和稳定性。 */
32
+ waitUntil: "load" | "domcontentloaded" | "networkidle0" | "networkidle2";
33
+ /**
34
+ * 生成水平柱状图时,渲染页面的视口宽度(像素)。
35
+ * @default 1080
36
+ */
37
+ chartViewportWidth: number;
38
+ /**
39
+ * 渲染时的设备像素比 (DPR)。
40
+ * 更高的值可以生成更清晰的图片(例如,设置为 2 相当于 2x 图),但也会增加图片文件体积。
41
+ * @default 1
42
+ */
43
+ deviceScaleFactor: number;
44
+ /** 是否将自定义图标显示在柱状条的末端。 */
45
+ shouldMoveIconToBarEndLeft: boolean;
46
+ /** 是否在生成水平柱状图时,在当前用户/群聊名称前显示★以高亮。 */
47
+ showStarInChart: boolean;
48
+ /** 自定义背景图在进度条区域的不透明度。 */
49
+ horizontalBarBackgroundOpacity: number;
50
+ /** 自定义背景图在整行背景的不透明度。 */
51
+ horizontalBarBackgroundFullOpacity: number;
52
+ /** 允许上传的背景图最大宽度(像素)。 */
53
+ maxBarBgWidth: number;
54
+ /** 允许上传的背景图最大高度(像素)。 */
55
+ maxBarBgHeight: number;
56
+ /** 允许上传的背景图最大体积(MB)。 */
57
+ maxBarBgSize: number;
58
+ /** 图片整体背景的类型。 */
59
+ backgroundType: string;
60
+ /** API 背景配置。 */
61
+ apiBackgroundConfig: apiBackgroundConfig;
62
+ /** 自定义背景的 CSS 代码。 */
63
+ backgroundValue: string;
64
+ /** 水平柱状图 - 标题的字体。 */
65
+ chartTitleFont: string;
66
+ /** 水平柱状图 - 成员昵称和发言次数的字体。 */
67
+ chartNicknameFont: string;
68
+ /** 是否启用定时自动推送排行榜功能。 */
69
+ autoPush: boolean;
70
+ /** 是否在每日 0 点自动发送昨日排行榜。 */
71
+ shouldSendDailyLeaderboardAtMidnight: boolean;
72
+ /** 是否在每周一 0 点自动发送上周排行榜。 */
73
+ shouldSendWeeklyLeaderboard: boolean;
74
+ /** 是否在每月第一天 0 点自动发送上月排行榜。 */
75
+ shouldSendMonthlyLeaderboard: boolean;
76
+ /** 是否在每年第一天 0 点自动发送去年排行榜。 */
77
+ shouldSendYearlyLeaderboard: boolean;
78
+ /** 其他定时发送今日排行榜的时间点(24小时制)。 */
79
+ dailyScheduledTimers: string[];
80
+ /** 发送排行榜前是否发送提示消息。 */
81
+ isGeneratingRankingListPromptVisible: boolean;
82
+ /** 发送提示后等待多少秒再发送图片。 */
83
+ leaderboardGenerationWaitTime: number;
84
+ /** 需要接收自动推送的频道 ID 列表。 */
85
+ pushChannelIds: string[];
86
+ /** 是否向机器人所在的所有群聊推送。 */
87
+ shouldSendLeaderboardNotificationsToAllChannels: boolean;
88
+ /** "向所有群聊推送" 开启时的排除列表。 */
89
+ excludedLeaderboardChannels: string[];
90
+ /** 批量推送时,每个群之间的发送延迟(秒)。 */
91
+ delayBetweenGroupPushesInSeconds: number;
92
+ /** 延迟时间的随机波动范围(秒)。 */
93
+ groupPushDelayRandomizationSeconds: number;
94
+ }
95
+ export declare const Config: Schema<Config>;
96
+ declare module "koishi" {
97
+ interface Tables {
98
+ message_counter_records: MessageCounterRecord;
99
+ message_counter_state: MessageCounterState;
100
+ }
101
+ }
102
+ interface apiBackgroundConfig {
103
+ apiUrl: string;
104
+ apiKey: string;
105
+ responseType: string;
106
+ }
107
+ interface MessageCounterRecord {
108
+ channelId: string;
109
+ channelName: string;
110
+ userId: string;
111
+ username: string;
112
+ userAvatar: string;
113
+ todayPostCount: number;
114
+ thisWeekPostCount: number;
115
+ thisMonthPostCount: number;
116
+ thisYearPostCount: number;
117
+ totalPostCount: number;
118
+ yesterdayPostCount: number;
119
+ }
120
+ interface MessageCounterState {
121
+ key: string;
122
+ value: Date;
123
+ }
124
+ export declare function apply(ctx: Context, config: Config): Promise<void>;
125
+ export {};