本插件提供 sm.ms 图床的上传、删除、查询上传历史功能。
nb-cli
安装(推荐)nb plugin install nonebot-plugin-smms
pip
安装pip install nonebot-plugin-smms
需要在 bot 根目录 pyproject.toml
文件中 [tool.nonebot] 部分添加:
plugins = ["nonebot_plugin_smms"]
需要参考 driver 配置项,添加 HTTPClient
支持(如 ~httpx
),在对应 env 文件(如 .env
.env.prod
)中,根据所用适配器的要求进行如下配置:
DRIVER=~fastapi+~httpx
DRIVER=~httpx+~websockets
在对应 env 文件(如 .env
.env.prod
)中,可以设置如下参数。
sm.ms API token:
SMMS_API_URL="https://smms.app/api/v2"
替换默认 sm.ms API 地址(https://sm.ms/api/v2):
SMMS_TOKEN="your_token"
如需在其他插件中使用上传图片等功能,可以从本插件导入。
导入方式:
from nonebot import require
require("nonebot_plugin_smms")
from nonebot_plugin_smms import SMMS
基本使用方式(以 QQ 适配器为例):
smms = SMMS()
image = ... # bytes, BytesIO, Path
file = await smms.upload(image)
if file:
await matcher.send(MessageSegment.image(file.url))
await smms.delete(file.hash)
await matcher.finish("图片上传并删除成功")
else:
await matcher.finish("图片上传失败")