From 92f1c22d54f2e9caeaee715c6aca31fc2dd05360 Mon Sep 17 00:00:00 2001 From: meetwq Date: Fri, 13 Oct 2023 14:46:29 +0800 Subject: [PATCH] update README.md --- README.md | 97 ++++++++++++++++--------- nonebot_plugin_chatrecorder/__init__.py | 2 +- 2 files changed, 65 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index ed8fdb4..9ace505 100644 --- a/README.md +++ b/README.md @@ -27,36 +27,6 @@ pip install nonebot_plugin_chatrecorder - 默认:`True` - 说明:是否记录机器人自己发出的消息 -#### `chatrecorder_record_migration_bot_id` - - 类型:`Optional[str]` - - 默认:`None` - - 说明:在旧版本(0.1.x) 时使用的机器人账号(机器人qq号),用于数据库迁移;若使用过此插件的旧版本则必须配置,数据库迁移完成后可删除;未使用过旧版本可不配置 - - -### 其他说明 - -插件依赖 [nonebot-plugin-datastore](https://github.com/he0119/nonebot-plugin-datastore) 插件来提供数据库支持 - -`nonebot-plugin-datastore` 插件默认使用 SQLite 数据库, -消息记录文件会存放在 `nonebot-plugin-datastore` 插件设置的数据目录 - -> [!NOTE] -> -> 由于在 OneBot V11 适配器中,机器人**发送的消息**中可能存在 base64 形式的图片、语音等, -> -> 为避免消息记录文件体积过大,本插件会将 base64 形式的图片、语音等存成文件,并在消息记录中以文件路径替代。 -> -> 这些文件会放置在 `nonebot-plugin-datastore` 插件设置的缓存目录,**建议定期清理** - - -插件依赖 [nonebot-plugin-session](https://github.com/noneplugin/nonebot-plugin-session) 插件来获取会话相关信息 - -其中 `id1` 代表“用户级别”的 id,即 `user_id`; - -`id2` 代表“群组级别”的 id,如对于 `OneBot V11` 适配器,`id2` 代表 `group_id`,对于 `OneBot V12` 适配器中的单级群组,`id2` 代表群组 id,对于 `OneBot V12` 适配器中的两级群组,`id2` 代表 `channel_id`; - -`id3` 代表“两级群组”的 id,如对于 `OneBot V12` 适配器中的两级群组,`id3` 代表 `guild_id`; - ### 使用 @@ -70,6 +40,14 @@ require("nonebot_plugin_chatrecorder") 使用示例: + +> [!NOTE] +> +> 插件依赖 [nonebot-plugin-session](https://github.com/noneplugin/nonebot-plugin-session) 插件来获取会话相关信息 +> +> 会话相关字段如 `id1`、`id2`、`id3` 可以查看 `nonebot-plugin-session` 插件中的说明 + + - 获取当前群内成员 "12345" 和 "54321" 1天之内的消息记录 ```python @@ -85,6 +63,7 @@ async def _(event: GroupMessageEvent): ) ``` + > [!NOTE] > > `time_start` 和 `time_stop` 参数 传入的 `datetime` 对象必须为 [感知型对象](https://docs.python.org/zh-cn/3/library/datetime.html#determining-if-an-object-is-aware-or-naive)(即包含时区信息),或者确保其为 UTC 时间 @@ -106,6 +85,13 @@ async def _(bot: Bot, event: Event): ``` +> [!NOTE] +> +> 可以传入 [nonebot-plugin-session](https://github.com/noneplugin/nonebot-plugin-session) 插件获取的 `Session` 对象来筛选消息记录 +> +> 传入 `Session` 时可以通过 `id_type` 来控制要筛选的会话级别 + + - 获取当前 群聊/私聊 除机器人发出的消息外,其他消息的纯本文形式 ```python @@ -126,11 +112,56 @@ async def _(bot: Bot, event: Event): 详细参数及说明见代码注释 +### 旧版本聊天记录迁移 + +> [!NOTE] +> 从 `0.1.x` 版本升级到 `0.2.x` 版本时,需要添加如下配置项以完成迁移 + +#### `chatrecorder_record_migration_bot_id` + - 类型:`Optional[str]` + - 默认:`None` + - 说明:在旧版本(0.1.x) 时使用的机器人账号(机器人qq号),用于数据库迁移;若使用过此插件的旧版本则必须配置,数据库迁移完成后可删除;未使用过旧版本可不配置 + + +> [!NOTE] +> 从 `0.2.x` 版本升级到 `0.3.x` ~ `0.4.x` 版本时,会自动运行迁移脚本,或运行 `nb datastore upgrade` 进行迁移 +> 若聊天记录很多,迁移可能会花费较长时间,在迁移过程中不要关闭程序 + + +> [!NOTE] +> 从 `0.4.x` 版本升级到 `0.5.x` 版本时,插件数据库依赖由 [nonebot-plugin-datastore](https://github.com/he0119/nonebot-plugin-datastore) 迁移至 [nonebot-plugin-orm](https://github.com/nonebot/plugin-orm) +> +> 要迁移聊天记录,需要同时安装 `nonebot-plugin-datastore` 和 `nonebot-plugin-orm`,运行 `nb orm upgrade` 进行迁移 +> +> 若聊天记录很多,迁移可能会花费较长时间,在迁移过程中不要关闭程序 + + +> [!NOTE] +> 若要从 `0.2.x` 版本直接升级到 `0.5.x`,需要先升级到 `0.4.x` 版本,运行 `nb datastore upgrade` 完成迁移后,再继续升级 + + +### 其他说明 + +> [!NOTE] +> +> 由于在 OneBot V11 适配器中,机器人**发送的消息**中可能存在 base64 形式的图片、语音等, +> +> 为避免消息记录文件体积过大,本插件会将 base64 形式的图片、语音等存成文件,并在消息记录中以文件路径替代。 +> +> 这些文件会放置在 [nonebot-plugin-localstore](https://github.com/nonebot/plugin-localstore) 插件设置的缓存目录,**建议定期清理** + + ### 支持的 adapter -| OneBot v11 | OneBot v12 | Console | Kaiheila | QQ Guild | Telegram | Feishu | -| :--------: | :--------: | :-----: | :------: | :------: | :------: | :----: | -| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +- [x] OneBot v11 +- [x] OneBot v12 +- [x] Console +- [x] Kaiheila +- [x] QQ Guild +- [x] Telegram +- [x] Feishu +- [x] RedProtocol +- [x] Discord ### 鸣谢 diff --git a/nonebot_plugin_chatrecorder/__init__.py b/nonebot_plugin_chatrecorder/__init__.py index 1cf2dab..c0acfd4 100644 --- a/nonebot_plugin_chatrecorder/__init__.py +++ b/nonebot_plugin_chatrecorder/__init__.py @@ -20,7 +20,7 @@ "~onebot.v12", "~console", "~kaiheila", - "~qqguild", + # "~qqguild", "~telegram", "~feishu", "~red",