An open API service indexing awesome lists of open source software.

https://github.com/nonebot/plugin-localstore

Local Storage Support for NoneBot2
https://github.com/nonebot/plugin-localstore

Last synced: about 1 year ago
JSON representation

Local Storage Support for NoneBot2

Awesome Lists containing this project

README

          


nonebot

# NoneBot Plugin LocalStore

_✨ NoneBot 本地数据存储插件 ✨_



license


pypi

python

## 使用方式

加载插件后使用 `require` 声明插件依赖,直接使用 `localstore` 插件提供的函数即可。

```python
from pathlib import Path
from nonebot import require

require("nonebot_plugin_localstore")

import nonebot_plugin_localstore as store

plugin_cache_dir: Path = store.get_plugin_cache_dir()
plugin_cache_file: Path = store.get_plugin_cache_file("filename")
plugin_config_dir: Path = store.get_plugin_config_dir()
plugin_config_file: Path = store.get_plugin_config_file("filename")
plugin_data_dir: Path = store.get_plugin_data_dir()
plugin_data_file: Path = store.get_plugin_data_file("filename")
```

## 存储路径

在项目安装插件后,可以使用 `nb-cli` 查看具体的存储路径:

```bash
nb localstore
```

参考路径如下:

### cache path

- macOS: `~/Library/Caches/`
- Unix: `~/.cache/` (XDG default)
- Windows: `C:\Users\\AppData\Local\\Cache`

### data path

- macOS: `~/Library/Application Support/`
- Unix: `~/.local/share/` or in $XDG_DATA_HOME, if defined
- Win XP (not roaming): `C:\Documents and Settings\\Application Data\`
- Win 7 (not roaming): `C:\Users\\AppData\Local\`

### config path

- macOS: same as user_data_dir
- Unix: `~/.config/`
- Win XP (roaming): `C:\Documents and Settings\\Local Settings\Application Data\`
- Win 7 (roaming): `C:\Users\\AppData\Roaming\`

## 配置项

插件支持配置全局存储路径,也支持为插件单独配置存储路径。

```dotenv
LOCALSTORE_CACHE_DIR=/tmp/cache
LOCALSTORE_DATA_DIR=/tmp/data
LOCALSTORE_CONFIG_DIR=/tmp/config

LOCALSTORE_PLUGIN_CACHE_DIR='
{
"plugin1": "/tmp/plugin1/cache",
"plugin2:sub_plugin": "/tmp/plugin2/sub_plugin/cache"
}
'
LOCALSTORE_PLUGIN_DATA_DIR='
{
"plugin1": "/tmp/plugin1/data",
"plugin2:sub_plugin": "/tmp/plugin2/sub_plugin/data"
}
'
LOCALSTORE_PLUGIN_CONFIG_DIR='
{
"plugin1": "/tmp/plugin1/config",
"plugin2:sub_plugin": "/tmp/plugin2/sub_plugin/config"
}
'
```