nonebot-plugin-repeater-count


Namenonebot-plugin-repeater-count JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryNoneBot 复读行为统计插件
upload_time2025-02-09 20:44:48
maintainerNone
docs_urlNone
authorNIHTM 3605587449@qq.com
requires_python<4.0,>=3.8
licenseMIT
keywords nonebot repeater statistics chart
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # nonebot-plugin-repeater-count

✨ 群聊复读行为统计插件 ✨

## 功能说明

### 自动记录规则
- 当**连续两条相同消息**且由**不同用户**发送时,视为有效复读行为
- 自动记录以下三类数据:
  - 📊 复读用户(触发复读行为的用户)
  - 😇 被复读用户(原始消息发送者)
  - 🔠 复读词汇(被复读的原始消息内容)

### 统计时段说明
支持四种时间维度统计,基于自然时间划分:

| 时段类型  | 说明      | 重置时间         |
|-------|---------|--------------|
| total | 总统计(默认) | 永不重置         |
| year  | 年度统计    | 每年1月1日 00:00 |
| month | 月度统计    | 每月1日 00:00   |
| day   | 每日统计    | 每天 00:00     |

### 可用命令列表
| 命令格式            | 功能说明       | 示例            |
|-----------------|------------|---------------|
| `/复读排行 [时段类型]`  | 查看复读用户排行榜  | `/复读排行 month` |
| `/被复读排行 [时段类型]` | 查看被复读用户排行榜 | `/受害者排行 day`  |
| `/复读词排行 [时段类型]` | 查看复读热词排行榜  | `/复读词排行 year` |

### 排行榜特性
- 默认显示**TOP 10**排名
- 相同次数按字母/数字顺序排列
- 数据实时更新,即时反映最新复读情况

## 安装方式

使用 nb-cli 安装:
```bash
nb plugin install nonebot-plugin-repeater-count
```
或使用 pip 安装:
```bash
pip install nonebot-plugin-repeater-count
```
## 使用示例
### 基础使用
```plaintext
/复读排行
👉 显示总排行榜(total)

/复读统计 month
👉 显示本月复读排行

/被复读排行 day
👉 显示今日被复读用户排行

/复读词排行
👉 显示历史所有复读热词
```
### 典型输出格式

[total] 时段的复读机排行榜:
1. 用户A - 42次
2. 用户B - 38次
3. 用户C - 35次

...

## 注意事项
### ⚠️ 重要说明

需要 OneBot V11 适配器支持

仅统计群聊消息,私聊消息不会触发记录

数据存储在 data/repeater_data.json 文件,重启后数据保留

每日0点自动重置日统计,每月/年同理

消息对比为纯文本比对(忽略图片/表情等富媒体内容)

### 🔒 数据存储方式:

使用 JSON 格式本地存储

自动创建 data 目录存放数据文件

采用 UTF-8 编码确保兼容性


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "nonebot-plugin-repeater-count",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": "nonebot, repeater, statistics, chart",
    "author": "NIHTM 3605587449@qq.com",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/7c/f2/a7115a435ad6b987d586168791a4762e87919cb11e365fa7e220f92ccc05/nonebot_plugin_repeater_count-0.2.1.tar.gz",
    "platform": null,
    "description": "# nonebot-plugin-repeater-count\n\n\u2728 \u7fa4\u804a\u590d\u8bfb\u884c\u4e3a\u7edf\u8ba1\u63d2\u4ef6 \u2728\n\n## \u529f\u80fd\u8bf4\u660e\n\n### \u81ea\u52a8\u8bb0\u5f55\u89c4\u5219\n- \u5f53**\u8fde\u7eed\u4e24\u6761\u76f8\u540c\u6d88\u606f**\u4e14\u7531**\u4e0d\u540c\u7528\u6237**\u53d1\u9001\u65f6\uff0c\u89c6\u4e3a\u6709\u6548\u590d\u8bfb\u884c\u4e3a\n- \u81ea\u52a8\u8bb0\u5f55\u4ee5\u4e0b\u4e09\u7c7b\u6570\u636e\uff1a\n  - \ud83d\udcca \u590d\u8bfb\u7528\u6237\uff08\u89e6\u53d1\u590d\u8bfb\u884c\u4e3a\u7684\u7528\u6237\uff09\n  - \ud83d\ude07 \u88ab\u590d\u8bfb\u7528\u6237\uff08\u539f\u59cb\u6d88\u606f\u53d1\u9001\u8005\uff09\n  - \ud83d\udd20 \u590d\u8bfb\u8bcd\u6c47\uff08\u88ab\u590d\u8bfb\u7684\u539f\u59cb\u6d88\u606f\u5185\u5bb9\uff09\n\n### \u7edf\u8ba1\u65f6\u6bb5\u8bf4\u660e\n\u652f\u6301\u56db\u79cd\u65f6\u95f4\u7ef4\u5ea6\u7edf\u8ba1\uff0c\u57fa\u4e8e\u81ea\u7136\u65f6\u95f4\u5212\u5206\uff1a\n\n| \u65f6\u6bb5\u7c7b\u578b  | \u8bf4\u660e      | \u91cd\u7f6e\u65f6\u95f4         |\n|-------|---------|--------------|\n| total | \u603b\u7edf\u8ba1\uff08\u9ed8\u8ba4\uff09 | \u6c38\u4e0d\u91cd\u7f6e         |\n| year  | \u5e74\u5ea6\u7edf\u8ba1    | \u6bcf\u5e741\u67081\u65e5 00:00 |\n| month | \u6708\u5ea6\u7edf\u8ba1    | \u6bcf\u67081\u65e5 00:00   |\n| day   | \u6bcf\u65e5\u7edf\u8ba1    | \u6bcf\u5929 00:00     |\n\n### \u53ef\u7528\u547d\u4ee4\u5217\u8868\n| \u547d\u4ee4\u683c\u5f0f            | \u529f\u80fd\u8bf4\u660e       | \u793a\u4f8b            |\n|-----------------|------------|---------------|\n| `/\u590d\u8bfb\u6392\u884c [\u65f6\u6bb5\u7c7b\u578b]`  | \u67e5\u770b\u590d\u8bfb\u7528\u6237\u6392\u884c\u699c  | `/\u590d\u8bfb\u6392\u884c month` |\n| `/\u88ab\u590d\u8bfb\u6392\u884c [\u65f6\u6bb5\u7c7b\u578b]` | \u67e5\u770b\u88ab\u590d\u8bfb\u7528\u6237\u6392\u884c\u699c | `/\u53d7\u5bb3\u8005\u6392\u884c day`  |\n| `/\u590d\u8bfb\u8bcd\u6392\u884c [\u65f6\u6bb5\u7c7b\u578b]` | \u67e5\u770b\u590d\u8bfb\u70ed\u8bcd\u6392\u884c\u699c  | `/\u590d\u8bfb\u8bcd\u6392\u884c year` |\n\n### \u6392\u884c\u699c\u7279\u6027\n- \u9ed8\u8ba4\u663e\u793a**TOP 10**\u6392\u540d\n- \u76f8\u540c\u6b21\u6570\u6309\u5b57\u6bcd/\u6570\u5b57\u987a\u5e8f\u6392\u5217\n- \u6570\u636e\u5b9e\u65f6\u66f4\u65b0\uff0c\u5373\u65f6\u53cd\u6620\u6700\u65b0\u590d\u8bfb\u60c5\u51b5\n\n## \u5b89\u88c5\u65b9\u5f0f\n\n\u4f7f\u7528 nb-cli \u5b89\u88c5\uff1a\n```bash\nnb plugin install nonebot-plugin-repeater-count\n```\n\u6216\u4f7f\u7528 pip \u5b89\u88c5\uff1a\n```bash\npip install nonebot-plugin-repeater-count\n```\n## \u4f7f\u7528\u793a\u4f8b\n### \u57fa\u7840\u4f7f\u7528\n```plaintext\n/\u590d\u8bfb\u6392\u884c\n\ud83d\udc49 \u663e\u793a\u603b\u6392\u884c\u699c\uff08total\uff09\n\n/\u590d\u8bfb\u7edf\u8ba1 month\n\ud83d\udc49 \u663e\u793a\u672c\u6708\u590d\u8bfb\u6392\u884c\n\n/\u88ab\u590d\u8bfb\u6392\u884c day\n\ud83d\udc49 \u663e\u793a\u4eca\u65e5\u88ab\u590d\u8bfb\u7528\u6237\u6392\u884c\n\n/\u590d\u8bfb\u8bcd\u6392\u884c\n\ud83d\udc49 \u663e\u793a\u5386\u53f2\u6240\u6709\u590d\u8bfb\u70ed\u8bcd\n```\n### \u5178\u578b\u8f93\u51fa\u683c\u5f0f\n\n[total] \u65f6\u6bb5\u7684\u590d\u8bfb\u673a\u6392\u884c\u699c\uff1a\n1. \u7528\u6237A - 42\u6b21\n2. \u7528\u6237B - 38\u6b21\n3. \u7528\u6237C - 35\u6b21\n\n...\n\n## \u6ce8\u610f\u4e8b\u9879\n### \u26a0\ufe0f \u91cd\u8981\u8bf4\u660e\n\n\u9700\u8981 OneBot V11 \u9002\u914d\u5668\u652f\u6301\n\n\u4ec5\u7edf\u8ba1\u7fa4\u804a\u6d88\u606f\uff0c\u79c1\u804a\u6d88\u606f\u4e0d\u4f1a\u89e6\u53d1\u8bb0\u5f55\n\n\u6570\u636e\u5b58\u50a8\u5728 data/repeater_data.json \u6587\u4ef6\uff0c\u91cd\u542f\u540e\u6570\u636e\u4fdd\u7559\n\n\u6bcf\u65e50\u70b9\u81ea\u52a8\u91cd\u7f6e\u65e5\u7edf\u8ba1\uff0c\u6bcf\u6708/\u5e74\u540c\u7406\n\n\u6d88\u606f\u5bf9\u6bd4\u4e3a\u7eaf\u6587\u672c\u6bd4\u5bf9\uff08\u5ffd\u7565\u56fe\u7247/\u8868\u60c5\u7b49\u5bcc\u5a92\u4f53\u5185\u5bb9\uff09\n\n### \ud83d\udd12 \u6570\u636e\u5b58\u50a8\u65b9\u5f0f\uff1a\n\n\u4f7f\u7528 JSON \u683c\u5f0f\u672c\u5730\u5b58\u50a8\n\n\u81ea\u52a8\u521b\u5efa data \u76ee\u5f55\u5b58\u653e\u6570\u636e\u6587\u4ef6\n\n\u91c7\u7528 UTF-8 \u7f16\u7801\u786e\u4fdd\u517c\u5bb9\u6027\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "NoneBot \u590d\u8bfb\u884c\u4e3a\u7edf\u8ba1\u63d2\u4ef6",
    "version": "0.2.1",
    "project_urls": {
        "Homepage": "https://github.com/name-is-hard-to-make/nonebot-plugin-repeater-count"
    },
    "split_keywords": [
        "nonebot",
        " repeater",
        " statistics",
        " chart"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b922ae4c2d2627f134730c349abaa7e793b430fe236e73eb628357718a4ee8d4",
                "md5": "3f6149aaaf67fbd63e4636847146949e",
                "sha256": "0ff93003c70a94a358dfcaafcf83328bfbc9f96351ac96a9219e457fece6010a"
            },
            "downloads": -1,
            "filename": "nonebot_plugin_repeater_count-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3f6149aaaf67fbd63e4636847146949e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 6818,
            "upload_time": "2025-02-09T20:44:45",
            "upload_time_iso_8601": "2025-02-09T20:44:45.955427Z",
            "url": "https://files.pythonhosted.org/packages/b9/22/ae4c2d2627f134730c349abaa7e793b430fe236e73eb628357718a4ee8d4/nonebot_plugin_repeater_count-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7cf2a7115a435ad6b987d586168791a4762e87919cb11e365fa7e220f92ccc05",
                "md5": "fe49e9d42350d058530f9837a4f264f0",
                "sha256": "99f2b4b42930aacf6ae193ee27d96b582aa6b686f920b6bc436c147bc4d7be26"
            },
            "downloads": -1,
            "filename": "nonebot_plugin_repeater_count-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "fe49e9d42350d058530f9837a4f264f0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 6277,
            "upload_time": "2025-02-09T20:44:48",
            "upload_time_iso_8601": "2025-02-09T20:44:48.416271Z",
            "url": "https://files.pythonhosted.org/packages/7c/f2/a7115a435ad6b987d586168791a4762e87919cb11e365fa7e220f92ccc05/nonebot_plugin_repeater_count-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-09 20:44:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "name-is-hard-to-make",
    "github_project": "nonebot-plugin-repeater-count",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "nonebot-plugin-repeater-count"
}
        
Elapsed time: 0.62302s