<div align="center">
<a href="https://v2.nonebot.dev/store"><img src="https://github.com/A-kirami/nonebot-plugin-template/blob/resources/nbp_logo.png" width="180" height="180" alt="NoneBotPluginLogo"></a>
<br>
<p><img src="https://github.com/A-kirami/nonebot-plugin-template/blob/resources/NoneBotPlugin.svg" width="240" alt="NoneBotPluginText"></p>
</div>
<div align="center">
# nonebot-plugin-time-card
_✨ NoneBot 插件简单描述 ✨_
<a href="./LICENSE">
<img src="https://img.shields.io/github/license/owner/nonebot-plugin-template.svg" alt="license">
</a>
<a href="https://pypi.python.org/pypi/nonebot-plugin-template">
<img src="https://img.shields.io/pypi/v/nonebot-plugin-template.svg" alt="pypi">
</a>
<img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="python">
</div>
## 插件介绍
`time_card` 是一款基于 Nonebot v2.4.3 + OneBot v11 适配器的 QQ 机器人插件,核心功能为**自动更新机器人在群聊中的昵称并显示实时时间**,支持超级管理员灵活控制功能开关与配置重载,无需重启机器人即可生效。
## 功能特性
- 🕒 **实时时间昵称**:机器人昵称自动更新为「前缀 + 当前时间 + 后缀」格式,默认前缀为「梦&专属机器人」
- ⚙️ **全配置化支持**:所有核心参数可通过 `.env` 文件自定义,无需修改代码
- 🔌 **灵活控制**:超级管理员可单独开关某个群的功能,支持插件热重载
- 🚨 **错误反馈**:所有操作错误(如权限不足、昵称过长)直接发送到对应群聊,不占用终端输出
- ⏰ **定时更新**:可自定义时间更新间隔(默认 60 秒),确保时间准确性
## 依赖环境
| 依赖项 | 版本要求 | 说明 |
|--------|----------|------|
| Nonebot | ≥ v2.4.3 | 插件开发基准框架 |
| OneBot 适配器 | ≥ v2.2.0 | 用于与 QQ 协议对接(如 go-cqhttp、LLOneBot 等) |
| Python | ≥ 3.8 | 运行环境 |
## 💿 安装
<details open>
<summary>使用 nb-cli 安装</summary>
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot-plugin-time-card
</details>
<details>
<summary>使用包管理器安装</summary>
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令
<details>
<summary>pip</summary>
pip install nonebot-plugin-template
</details>
打开 nonebot2 项目根目录下的 `pyproject.toml` 文件, 在 `[tool.nonebot]` 部分追加写入
plugins = ["nonebot_plugin_template"]
</details>
## 配置说明
所有配置项均在项目根目录的 `.env` 文件中定义,支持动态修改(修改后执行「重载时间昵称」命令生效)。
| 配置项 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
| `time_card_nickname_prefix` | 字符串 | `梦&专属机器人` | 时间昵称的前缀内容 |
| `time_card_nickname_suffix` | 字符串 | 空字符串 | 时间昵称的后缀内容(可留空) |
| `time_card_time_format` | 字符串 | `%Y-%m-%d %H:%M` | 时间显示格式(遵循 Python `datetime` 格式化规则) |
| `time_card_enabled_by_default` | 布尔值 | `true` | 机器人新加入群聊时,是否默认开启时间昵称功能 |
| `time_card_update_interval` | 整数 | `60` | 时间昵称的更新间隔(单位:秒,建议 ≥ 30 秒) |
### 配置示例
```ini
# .env 文件配置示例
time_card_nickname_prefix="我的专属机器人"
time_card_nickname_suffix="(在线)"
time_card_time_format="%m-%d %H:%M" # 显示为「月-日 时:分」
time_card_enabled_by_default=true
time_card_update_interval=30 # 每30秒更新一次
```
## 使用说明
### 1. 基础功能
插件加载后,机器人会自动:
- 对已加入的所有群聊,按默认配置生成时间昵称
- 新加入群聊时,根据 `time_card_enabled_by_default` 配置决定是否开启功能
- 按 `time_card_update_interval` 配置的间隔自动更新昵称
### 2. 超级管理员命令
仅 Nonebot 配置的「超级管理员」可使用以下命令(无需@机器人,支持自定义命令前缀):
| 命令 | 功能 | 适用场景 |
|------|------|----------|
| `开关时间昵称` | 切换当前群的时间昵称功能(开启 ↔ 关闭) | 单独关闭某个群的功能,或重新开启 |
| `重载时间昵称` | 重载插件配置与定时任务 | 修改 `.env` 配置后生效,或修复功能异常 |
#### 命令示例
- 发送 `开关时间昵称` → 群内回复「【时间昵称】已关闭」(再次发送则开启)
- 发送 `重载时间昵称` → 群内回复「【时间昵称】插件已重载(配置与定时任务已更新)」
## 错误处理
插件会将所有错误信息直接发送到对应群聊,常见错误及解决方案如下:
| 错误提示 | 原因 | 解决方案 |
|----------|------|----------|
| `修改失败:权限不足或昵称过长` | 1. 机器人无「修改群昵称」权限<br>2. 生成的昵称超过 QQ 群昵称长度限制(≤16 字符) | 1. 群管理给机器人开放「修改群昵称」权限<br>2. 缩短 `time_card_nickname_prefix` 或 `time_card_nickname_suffix` |
| `更新错误:[具体异常信息]` | 网络波动、机器人离线或 OneBot 服务异常 | 1. 检查机器人是否在线<br>2. 重启 OneBot 服务(如 go-cqhttp) |
## 注意事项
1. **昵称长度限制**:QQ 群昵称最大支持 16 个字符,配置时需确保「前缀 + 时间 + 后缀」总长度 ≤ 16(例如默认配置「梦&专属机器人 2024-05-20 14:30」共 15 字符,符合要求)。
2. **权限要求**:机器人需拥有「修改群昵称」权限(群管理可在「群设置 → 权限设置」中开启)。
3. **性能建议**:若机器人加入大量群聊(≥50 个),建议将 `time_card_update_interval` 调整为 60~120 秒,避免频繁 API 调用导致性能问题。
4. **热重载限制**:重载插件时会重启定时任务,可能导致 1~2 秒内无更新,属于正常现象。
## 常见问题(FAQ)
### Q1:修改 `.env` 配置后,如何让配置生效?
A:超级管理员在任意群发送 `重载时间昵称` 命令,配置会立即生效,无需重启 Nonebot。
### Q2:如何查看当前群的功能状态?
A:发送 `开关时间昵称` 命令,群内会回复当前状态(如「已开启」或「已关闭」),同时切换状态。
### Q3:插件支持多机器人吗?
A:目前仅支持单机器人实例,多机器人环境下可能出现定时任务冲突,建议单独为每个机器人配置插件。
### Q4:为什么机器人入群后没有自动开启功能?
A:检查 `.env` 中 `time_card_enabled_by_default` 是否设为 `true`,若为 `false`,需手动发送 `开关时间昵称` 开启。
## 版本更新记录
| 版本 | 更新时间 | 更新内容 |
|------|----------|----------|
| v1.0.0 | 2024-05 | 初始版本<br>- 实现时间昵称自动更新<br>- 支持超级管理员命令控制<br>- 全配置化支持 |
## 反馈与维护
若遇到插件 Bug 或功能需求,可通过以下方式反馈:
1. 提交 GitHub Issue(若插件托管于 GitHub)
2. 联系插件开发者(需自行补充联系方式)
维护说明:插件基于 Nonebot v2.4.3 开发,后续若 Nonebot 框架重大更新,可能需要适配调整。
Raw data
{
"_id": null,
"home_page": null,
"name": "nonebot-plugin-time-card",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "nonebot2, nonebot-plugin, qqbot, time-card",
"author": null,
"author_email": "meng <mengde_email@163.com>",
"download_url": "https://files.pythonhosted.org/packages/e0/da/74d1921fd0dc47c306843be3839015d263fa0eb1bef30437e8645546b6ad/nonebot_plugin_time_card-1.0.11.tar.gz",
"platform": null,
"description": "<div align=\"center\">\r\n <a href=\"https://v2.nonebot.dev/store\"><img src=\"https://github.com/A-kirami/nonebot-plugin-template/blob/resources/nbp_logo.png\" width=\"180\" height=\"180\" alt=\"NoneBotPluginLogo\"></a>\r\n <br>\r\n <p><img src=\"https://github.com/A-kirami/nonebot-plugin-template/blob/resources/NoneBotPlugin.svg\" width=\"240\" alt=\"NoneBotPluginText\"></p>\r\n</div>\r\n\r\n<div align=\"center\">\r\n\r\n# nonebot-plugin-time-card\r\n\r\n_\u2728 NoneBot \u63d2\u4ef6\u7b80\u5355\u63cf\u8ff0 \u2728_\r\n\r\n\r\n<a href=\"./LICENSE\">\r\n <img src=\"https://img.shields.io/github/license/owner/nonebot-plugin-template.svg\" alt=\"license\">\r\n</a>\r\n<a href=\"https://pypi.python.org/pypi/nonebot-plugin-template\">\r\n <img src=\"https://img.shields.io/pypi/v/nonebot-plugin-template.svg\" alt=\"pypi\">\r\n</a>\r\n<img src=\"https://img.shields.io/badge/python-3.9+-blue.svg\" alt=\"python\">\r\n\r\n</div>\r\n\r\n## \u63d2\u4ef6\u4ecb\u7ecd\r\n\r\n`time_card` \u662f\u4e00\u6b3e\u57fa\u4e8e Nonebot v2.4.3 + OneBot v11 \u9002\u914d\u5668\u7684 QQ \u673a\u5668\u4eba\u63d2\u4ef6\uff0c\u6838\u5fc3\u529f\u80fd\u4e3a**\u81ea\u52a8\u66f4\u65b0\u673a\u5668\u4eba\u5728\u7fa4\u804a\u4e2d\u7684\u6635\u79f0\u5e76\u663e\u793a\u5b9e\u65f6\u65f6\u95f4**\uff0c\u652f\u6301\u8d85\u7ea7\u7ba1\u7406\u5458\u7075\u6d3b\u63a7\u5236\u529f\u80fd\u5f00\u5173\u4e0e\u914d\u7f6e\u91cd\u8f7d\uff0c\u65e0\u9700\u91cd\u542f\u673a\u5668\u4eba\u5373\u53ef\u751f\u6548\u3002\r\n\r\n\r\n## \u529f\u80fd\u7279\u6027\r\n\r\n- \ud83d\udd52 **\u5b9e\u65f6\u65f6\u95f4\u6635\u79f0**\uff1a\u673a\u5668\u4eba\u6635\u79f0\u81ea\u52a8\u66f4\u65b0\u4e3a\u300c\u524d\u7f00 + \u5f53\u524d\u65f6\u95f4 + \u540e\u7f00\u300d\u683c\u5f0f\uff0c\u9ed8\u8ba4\u524d\u7f00\u4e3a\u300c\u68a6&\u4e13\u5c5e\u673a\u5668\u4eba\u300d\r\n- \u2699\ufe0f **\u5168\u914d\u7f6e\u5316\u652f\u6301**\uff1a\u6240\u6709\u6838\u5fc3\u53c2\u6570\u53ef\u901a\u8fc7 `.env` \u6587\u4ef6\u81ea\u5b9a\u4e49\uff0c\u65e0\u9700\u4fee\u6539\u4ee3\u7801\r\n- \ud83d\udd0c **\u7075\u6d3b\u63a7\u5236**\uff1a\u8d85\u7ea7\u7ba1\u7406\u5458\u53ef\u5355\u72ec\u5f00\u5173\u67d0\u4e2a\u7fa4\u7684\u529f\u80fd\uff0c\u652f\u6301\u63d2\u4ef6\u70ed\u91cd\u8f7d\r\n- \ud83d\udea8 **\u9519\u8bef\u53cd\u9988**\uff1a\u6240\u6709\u64cd\u4f5c\u9519\u8bef\uff08\u5982\u6743\u9650\u4e0d\u8db3\u3001\u6635\u79f0\u8fc7\u957f\uff09\u76f4\u63a5\u53d1\u9001\u5230\u5bf9\u5e94\u7fa4\u804a\uff0c\u4e0d\u5360\u7528\u7ec8\u7aef\u8f93\u51fa\r\n- \u23f0 **\u5b9a\u65f6\u66f4\u65b0**\uff1a\u53ef\u81ea\u5b9a\u4e49\u65f6\u95f4\u66f4\u65b0\u95f4\u9694\uff08\u9ed8\u8ba4 60 \u79d2\uff09\uff0c\u786e\u4fdd\u65f6\u95f4\u51c6\u786e\u6027\r\n\r\n\r\n## \u4f9d\u8d56\u73af\u5883\r\n\r\n| \u4f9d\u8d56\u9879 | \u7248\u672c\u8981\u6c42 | \u8bf4\u660e |\r\n|--------|----------|------|\r\n| Nonebot | \u2265 v2.4.3 | \u63d2\u4ef6\u5f00\u53d1\u57fa\u51c6\u6846\u67b6 |\r\n| OneBot \u9002\u914d\u5668 | \u2265 v2.2.0 | \u7528\u4e8e\u4e0e QQ \u534f\u8bae\u5bf9\u63a5\uff08\u5982 go-cqhttp\u3001LLOneBot \u7b49\uff09 |\r\n| Python | \u2265 3.8 | \u8fd0\u884c\u73af\u5883 |\r\n\r\n\r\n## \ud83d\udcbf \u5b89\u88c5\r\n\r\n<details open>\r\n<summary>\u4f7f\u7528 nb-cli \u5b89\u88c5</summary>\r\n\u5728 nonebot2 \u9879\u76ee\u7684\u6839\u76ee\u5f55\u4e0b\u6253\u5f00\u547d\u4ee4\u884c, \u8f93\u5165\u4ee5\u4e0b\u6307\u4ee4\u5373\u53ef\u5b89\u88c5\r\n\r\n nb plugin install nonebot-plugin-time-card\r\n\r\n</details>\r\n\r\n<details>\r\n<summary>\u4f7f\u7528\u5305\u7ba1\u7406\u5668\u5b89\u88c5</summary>\r\n\u5728 nonebot2 \u9879\u76ee\u7684\u63d2\u4ef6\u76ee\u5f55\u4e0b, \u6253\u5f00\u547d\u4ee4\u884c, \u6839\u636e\u4f60\u4f7f\u7528\u7684\u5305\u7ba1\u7406\u5668, \u8f93\u5165\u76f8\u5e94\u7684\u5b89\u88c5\u547d\u4ee4\r\n\r\n<details>\r\n<summary>pip</summary>\r\n\r\n pip install nonebot-plugin-template\r\n</details>\r\n\r\n\u6253\u5f00 nonebot2 \u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u7684 `pyproject.toml` \u6587\u4ef6, \u5728 `[tool.nonebot]` \u90e8\u5206\u8ffd\u52a0\u5199\u5165\r\n\r\n plugins = [\"nonebot_plugin_template\"]\r\n\r\n</details>\r\n\r\n## \u914d\u7f6e\u8bf4\u660e\r\n\r\n\u6240\u6709\u914d\u7f6e\u9879\u5747\u5728\u9879\u76ee\u6839\u76ee\u5f55\u7684 `.env` \u6587\u4ef6\u4e2d\u5b9a\u4e49\uff0c\u652f\u6301\u52a8\u6001\u4fee\u6539\uff08\u4fee\u6539\u540e\u6267\u884c\u300c\u91cd\u8f7d\u65f6\u95f4\u6635\u79f0\u300d\u547d\u4ee4\u751f\u6548\uff09\u3002\r\n\r\n| \u914d\u7f6e\u9879 | \u7c7b\u578b | \u9ed8\u8ba4\u503c | \u8bf4\u660e |\r\n|--------|------|--------|------|\r\n| `time_card_nickname_prefix` | \u5b57\u7b26\u4e32 | `\u68a6&\u4e13\u5c5e\u673a\u5668\u4eba` | \u65f6\u95f4\u6635\u79f0\u7684\u524d\u7f00\u5185\u5bb9 |\r\n| `time_card_nickname_suffix` | \u5b57\u7b26\u4e32 | \u7a7a\u5b57\u7b26\u4e32 | \u65f6\u95f4\u6635\u79f0\u7684\u540e\u7f00\u5185\u5bb9\uff08\u53ef\u7559\u7a7a\uff09 |\r\n| `time_card_time_format` | \u5b57\u7b26\u4e32 | `%Y-%m-%d %H:%M` | \u65f6\u95f4\u663e\u793a\u683c\u5f0f\uff08\u9075\u5faa Python `datetime` \u683c\u5f0f\u5316\u89c4\u5219\uff09 |\r\n| `time_card_enabled_by_default` | \u5e03\u5c14\u503c | `true` | \u673a\u5668\u4eba\u65b0\u52a0\u5165\u7fa4\u804a\u65f6\uff0c\u662f\u5426\u9ed8\u8ba4\u5f00\u542f\u65f6\u95f4\u6635\u79f0\u529f\u80fd |\r\n| `time_card_update_interval` | \u6574\u6570 | `60` | \u65f6\u95f4\u6635\u79f0\u7684\u66f4\u65b0\u95f4\u9694\uff08\u5355\u4f4d\uff1a\u79d2\uff0c\u5efa\u8bae \u2265 30 \u79d2\uff09 |\r\n\r\n### \u914d\u7f6e\u793a\u4f8b\r\n```ini\r\n# .env \u6587\u4ef6\u914d\u7f6e\u793a\u4f8b\r\ntime_card_nickname_prefix=\"\u6211\u7684\u4e13\u5c5e\u673a\u5668\u4eba\"\r\ntime_card_nickname_suffix=\"(\u5728\u7ebf)\"\r\ntime_card_time_format=\"%m-%d %H:%M\" # \u663e\u793a\u4e3a\u300c\u6708-\u65e5 \u65f6:\u5206\u300d\r\ntime_card_enabled_by_default=true\r\ntime_card_update_interval=30 # \u6bcf30\u79d2\u66f4\u65b0\u4e00\u6b21\r\n```\r\n\r\n\r\n## \u4f7f\u7528\u8bf4\u660e\r\n\r\n### 1. \u57fa\u7840\u529f\u80fd\r\n\u63d2\u4ef6\u52a0\u8f7d\u540e\uff0c\u673a\u5668\u4eba\u4f1a\u81ea\u52a8\uff1a\r\n- \u5bf9\u5df2\u52a0\u5165\u7684\u6240\u6709\u7fa4\u804a\uff0c\u6309\u9ed8\u8ba4\u914d\u7f6e\u751f\u6210\u65f6\u95f4\u6635\u79f0\r\n- \u65b0\u52a0\u5165\u7fa4\u804a\u65f6\uff0c\u6839\u636e `time_card_enabled_by_default` \u914d\u7f6e\u51b3\u5b9a\u662f\u5426\u5f00\u542f\u529f\u80fd\r\n- \u6309 `time_card_update_interval` \u914d\u7f6e\u7684\u95f4\u9694\u81ea\u52a8\u66f4\u65b0\u6635\u79f0\r\n\r\n\r\n### 2. \u8d85\u7ea7\u7ba1\u7406\u5458\u547d\u4ee4\r\n\u4ec5 Nonebot \u914d\u7f6e\u7684\u300c\u8d85\u7ea7\u7ba1\u7406\u5458\u300d\u53ef\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\uff08\u65e0\u9700@\u673a\u5668\u4eba\uff0c\u652f\u6301\u81ea\u5b9a\u4e49\u547d\u4ee4\u524d\u7f00\uff09\uff1a\r\n\r\n| \u547d\u4ee4 | \u529f\u80fd | \u9002\u7528\u573a\u666f |\r\n|------|------|----------|\r\n| `\u5f00\u5173\u65f6\u95f4\u6635\u79f0` | \u5207\u6362\u5f53\u524d\u7fa4\u7684\u65f6\u95f4\u6635\u79f0\u529f\u80fd\uff08\u5f00\u542f \u2194 \u5173\u95ed\uff09 | \u5355\u72ec\u5173\u95ed\u67d0\u4e2a\u7fa4\u7684\u529f\u80fd\uff0c\u6216\u91cd\u65b0\u5f00\u542f |\r\n| `\u91cd\u8f7d\u65f6\u95f4\u6635\u79f0` | \u91cd\u8f7d\u63d2\u4ef6\u914d\u7f6e\u4e0e\u5b9a\u65f6\u4efb\u52a1 | \u4fee\u6539 `.env` \u914d\u7f6e\u540e\u751f\u6548\uff0c\u6216\u4fee\u590d\u529f\u80fd\u5f02\u5e38 |\r\n\r\n#### \u547d\u4ee4\u793a\u4f8b\r\n- \u53d1\u9001 `\u5f00\u5173\u65f6\u95f4\u6635\u79f0` \u2192 \u7fa4\u5185\u56de\u590d\u300c\u3010\u65f6\u95f4\u6635\u79f0\u3011\u5df2\u5173\u95ed\u300d\uff08\u518d\u6b21\u53d1\u9001\u5219\u5f00\u542f\uff09\r\n- \u53d1\u9001 `\u91cd\u8f7d\u65f6\u95f4\u6635\u79f0` \u2192 \u7fa4\u5185\u56de\u590d\u300c\u3010\u65f6\u95f4\u6635\u79f0\u3011\u63d2\u4ef6\u5df2\u91cd\u8f7d\uff08\u914d\u7f6e\u4e0e\u5b9a\u65f6\u4efb\u52a1\u5df2\u66f4\u65b0\uff09\u300d\r\n\r\n\r\n## \u9519\u8bef\u5904\u7406\r\n\r\n\u63d2\u4ef6\u4f1a\u5c06\u6240\u6709\u9519\u8bef\u4fe1\u606f\u76f4\u63a5\u53d1\u9001\u5230\u5bf9\u5e94\u7fa4\u804a\uff0c\u5e38\u89c1\u9519\u8bef\u53ca\u89e3\u51b3\u65b9\u6848\u5982\u4e0b\uff1a\r\n\r\n| \u9519\u8bef\u63d0\u793a | \u539f\u56e0 | \u89e3\u51b3\u65b9\u6848 |\r\n|----------|------|----------|\r\n| `\u4fee\u6539\u5931\u8d25\uff1a\u6743\u9650\u4e0d\u8db3\u6216\u6635\u79f0\u8fc7\u957f` | 1. \u673a\u5668\u4eba\u65e0\u300c\u4fee\u6539\u7fa4\u6635\u79f0\u300d\u6743\u9650<br>2. \u751f\u6210\u7684\u6635\u79f0\u8d85\u8fc7 QQ \u7fa4\u6635\u79f0\u957f\u5ea6\u9650\u5236\uff08\u226416 \u5b57\u7b26\uff09 | 1. \u7fa4\u7ba1\u7406\u7ed9\u673a\u5668\u4eba\u5f00\u653e\u300c\u4fee\u6539\u7fa4\u6635\u79f0\u300d\u6743\u9650<br>2. \u7f29\u77ed `time_card_nickname_prefix` \u6216 `time_card_nickname_suffix` |\r\n| `\u66f4\u65b0\u9519\u8bef\uff1a[\u5177\u4f53\u5f02\u5e38\u4fe1\u606f]` | \u7f51\u7edc\u6ce2\u52a8\u3001\u673a\u5668\u4eba\u79bb\u7ebf\u6216 OneBot \u670d\u52a1\u5f02\u5e38 | 1. \u68c0\u67e5\u673a\u5668\u4eba\u662f\u5426\u5728\u7ebf<br>2. \u91cd\u542f OneBot \u670d\u52a1\uff08\u5982 go-cqhttp\uff09 |\r\n\r\n\r\n## \u6ce8\u610f\u4e8b\u9879\r\n\r\n1. **\u6635\u79f0\u957f\u5ea6\u9650\u5236**\uff1aQQ \u7fa4\u6635\u79f0\u6700\u5927\u652f\u6301 16 \u4e2a\u5b57\u7b26\uff0c\u914d\u7f6e\u65f6\u9700\u786e\u4fdd\u300c\u524d\u7f00 + \u65f6\u95f4 + \u540e\u7f00\u300d\u603b\u957f\u5ea6 \u2264 16\uff08\u4f8b\u5982\u9ed8\u8ba4\u914d\u7f6e\u300c\u68a6&\u4e13\u5c5e\u673a\u5668\u4eba 2024-05-20 14:30\u300d\u5171 15 \u5b57\u7b26\uff0c\u7b26\u5408\u8981\u6c42\uff09\u3002\r\n2. **\u6743\u9650\u8981\u6c42**\uff1a\u673a\u5668\u4eba\u9700\u62e5\u6709\u300c\u4fee\u6539\u7fa4\u6635\u79f0\u300d\u6743\u9650\uff08\u7fa4\u7ba1\u7406\u53ef\u5728\u300c\u7fa4\u8bbe\u7f6e \u2192 \u6743\u9650\u8bbe\u7f6e\u300d\u4e2d\u5f00\u542f\uff09\u3002\r\n3. **\u6027\u80fd\u5efa\u8bae**\uff1a\u82e5\u673a\u5668\u4eba\u52a0\u5165\u5927\u91cf\u7fa4\u804a\uff08\u226550 \u4e2a\uff09\uff0c\u5efa\u8bae\u5c06 `time_card_update_interval` \u8c03\u6574\u4e3a 60~120 \u79d2\uff0c\u907f\u514d\u9891\u7e41 API \u8c03\u7528\u5bfc\u81f4\u6027\u80fd\u95ee\u9898\u3002\r\n4. **\u70ed\u91cd\u8f7d\u9650\u5236**\uff1a\u91cd\u8f7d\u63d2\u4ef6\u65f6\u4f1a\u91cd\u542f\u5b9a\u65f6\u4efb\u52a1\uff0c\u53ef\u80fd\u5bfc\u81f4 1~2 \u79d2\u5185\u65e0\u66f4\u65b0\uff0c\u5c5e\u4e8e\u6b63\u5e38\u73b0\u8c61\u3002\r\n\r\n\r\n## \u5e38\u89c1\u95ee\u9898\uff08FAQ\uff09\r\n\r\n### Q1\uff1a\u4fee\u6539 `.env` \u914d\u7f6e\u540e\uff0c\u5982\u4f55\u8ba9\u914d\u7f6e\u751f\u6548\uff1f\r\nA\uff1a\u8d85\u7ea7\u7ba1\u7406\u5458\u5728\u4efb\u610f\u7fa4\u53d1\u9001 `\u91cd\u8f7d\u65f6\u95f4\u6635\u79f0` \u547d\u4ee4\uff0c\u914d\u7f6e\u4f1a\u7acb\u5373\u751f\u6548\uff0c\u65e0\u9700\u91cd\u542f Nonebot\u3002\r\n\r\n### Q2\uff1a\u5982\u4f55\u67e5\u770b\u5f53\u524d\u7fa4\u7684\u529f\u80fd\u72b6\u6001\uff1f\r\nA\uff1a\u53d1\u9001 `\u5f00\u5173\u65f6\u95f4\u6635\u79f0` \u547d\u4ee4\uff0c\u7fa4\u5185\u4f1a\u56de\u590d\u5f53\u524d\u72b6\u6001\uff08\u5982\u300c\u5df2\u5f00\u542f\u300d\u6216\u300c\u5df2\u5173\u95ed\u300d\uff09\uff0c\u540c\u65f6\u5207\u6362\u72b6\u6001\u3002\r\n\r\n### Q3\uff1a\u63d2\u4ef6\u652f\u6301\u591a\u673a\u5668\u4eba\u5417\uff1f\r\nA\uff1a\u76ee\u524d\u4ec5\u652f\u6301\u5355\u673a\u5668\u4eba\u5b9e\u4f8b\uff0c\u591a\u673a\u5668\u4eba\u73af\u5883\u4e0b\u53ef\u80fd\u51fa\u73b0\u5b9a\u65f6\u4efb\u52a1\u51b2\u7a81\uff0c\u5efa\u8bae\u5355\u72ec\u4e3a\u6bcf\u4e2a\u673a\u5668\u4eba\u914d\u7f6e\u63d2\u4ef6\u3002\r\n\r\n### Q4\uff1a\u4e3a\u4ec0\u4e48\u673a\u5668\u4eba\u5165\u7fa4\u540e\u6ca1\u6709\u81ea\u52a8\u5f00\u542f\u529f\u80fd\uff1f\r\nA\uff1a\u68c0\u67e5 `.env` \u4e2d `time_card_enabled_by_default` \u662f\u5426\u8bbe\u4e3a `true`\uff0c\u82e5\u4e3a `false`\uff0c\u9700\u624b\u52a8\u53d1\u9001 `\u5f00\u5173\u65f6\u95f4\u6635\u79f0` \u5f00\u542f\u3002\r\n\r\n\r\n## \u7248\u672c\u66f4\u65b0\u8bb0\u5f55\r\n\r\n| \u7248\u672c | \u66f4\u65b0\u65f6\u95f4 | \u66f4\u65b0\u5185\u5bb9 |\r\n|------|----------|----------|\r\n| v1.0.0 | 2024-05 | \u521d\u59cb\u7248\u672c<br>- \u5b9e\u73b0\u65f6\u95f4\u6635\u79f0\u81ea\u52a8\u66f4\u65b0<br>- \u652f\u6301\u8d85\u7ea7\u7ba1\u7406\u5458\u547d\u4ee4\u63a7\u5236<br>- \u5168\u914d\u7f6e\u5316\u652f\u6301 |\r\n\r\n\r\n## \u53cd\u9988\u4e0e\u7ef4\u62a4\r\n\r\n\u82e5\u9047\u5230\u63d2\u4ef6 Bug \u6216\u529f\u80fd\u9700\u6c42\uff0c\u53ef\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u53cd\u9988\uff1a\r\n1. \u63d0\u4ea4 GitHub Issue\uff08\u82e5\u63d2\u4ef6\u6258\u7ba1\u4e8e GitHub\uff09\r\n2. \u8054\u7cfb\u63d2\u4ef6\u5f00\u53d1\u8005\uff08\u9700\u81ea\u884c\u8865\u5145\u8054\u7cfb\u65b9\u5f0f\uff09\r\n\r\n\u7ef4\u62a4\u8bf4\u660e\uff1a\u63d2\u4ef6\u57fa\u4e8e Nonebot v2.4.3 \u5f00\u53d1\uff0c\u540e\u7eed\u82e5 Nonebot \u6846\u67b6\u91cd\u5927\u66f4\u65b0\uff0c\u53ef\u80fd\u9700\u8981\u9002\u914d\u8c03\u6574\u3002\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Nonebot 2.4.3 \u63d2\u4ef6\uff1a\u81ea\u52a8\u66f4\u65b0\u673a\u5668\u4eba\u7fa4\u804a\u6635\u79f0\u5e76\u663e\u793a\u5b9e\u65f6\u65f6\u95f4\uff0c\u652f\u6301\u8d85\u7ea7\u7ba1\u7406\u5458\u5f00\u5173\u4e0e\u70ed\u91cd\u8f7d",
"version": "1.0.11",
"project_urls": {
"Documentation": "https://github.com/MengdeUser/nonebot-plugin-time-card/blob/master/README.md",
"Homepage": "https://github.com/MengdeUser/nonebot-plugin-time-card",
"Issue Tracker": "https://github.com/MengdeUser/nonebot-plugin-time-card/issues"
},
"split_keywords": [
"nonebot2",
" nonebot-plugin",
" qqbot",
" time-card"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "765738fe3c69b91c4121ed96d86407a27ed06c633215cddeca4a247c0e338d23",
"md5": "2aa3bb906d3dc2f096262a15789e8e2d",
"sha256": "322e36e83f53642a23c0b923c0e3e1b8c21f710ebab142fb5907a887f5377226"
},
"downloads": -1,
"filename": "nonebot_plugin_time_card-1.0.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2aa3bb906d3dc2f096262a15789e8e2d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 9397,
"upload_time": "2025-08-30T09:52:07",
"upload_time_iso_8601": "2025-08-30T09:52:07.609697Z",
"url": "https://files.pythonhosted.org/packages/76/57/38fe3c69b91c4121ed96d86407a27ed06c633215cddeca4a247c0e338d23/nonebot_plugin_time_card-1.0.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e0da74d1921fd0dc47c306843be3839015d263fa0eb1bef30437e8645546b6ad",
"md5": "51b011d27c7feae5f4b2065b5baad31f",
"sha256": "0f2295f0ffc3276a681a09ccdcf6791b213563c22cc835b7a97da186046e54fe"
},
"downloads": -1,
"filename": "nonebot_plugin_time_card-1.0.11.tar.gz",
"has_sig": false,
"md5_digest": "51b011d27c7feae5f4b2065b5baad31f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 9543,
"upload_time": "2025-08-30T09:52:08",
"upload_time_iso_8601": "2025-08-30T09:52:08.890364Z",
"url": "https://files.pythonhosted.org/packages/e0/da/74d1921fd0dc47c306843be3839015d263fa0eb1bef30437e8645546b6ad/nonebot_plugin_time_card-1.0.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-30 09:52:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MengdeUser",
"github_project": "nonebot-plugin-time-card",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "nonebot-plugin-time-card"
}