nonebot-plugin-wordcloud
nonebot-plugin-wordcloud copied to clipboard
适用于 NoneBot2 的词云插件
NoneBot Plugin WordCloud
✨ NoneBot 词云插件 ✨
安装
nb plugin install nonebot-plugin-wordcloud
Note
如需通过命令设置词云形状,则需使用支持 http 请求的驱动器,如 httpx 和 aiohttp。
请参考 配置驱动器 文档进行设置。
例如:
DRIVER=~httpx
DRIVER=~aiohttp
DRIVER=~fastapi+~httpx
命令
- 查看帮助
待插件启动完成后,发送 /词云 可获取插件使用方法。
- 查看词云
| 功能 | 命令 | 权限 |
|---|---|---|
| 查看今日词云 | /今日词云 |
所有人 |
| 查看昨日词云 | /昨日词云 |
所有人 |
| 查看本周词云 | /本周词云 |
所有人 |
| 查看上周词云 | /上周词云 |
所有人 |
| 查看本月词云 | /本月词云 |
所有人 |
| 查看上月词云 | /上月词云 |
所有人 |
| 查看年度词云 | /年度词云 |
所有人 |
| 查看历史词云 | /历史词云 |
所有人 |
补充: 如果想获取自己的词云,可在上述命令前添加
我的,如/我的今日词云。
- 管理词云
| 功能 | 命令 | 权限 | 说明 |
|---|---|---|---|
| 设置词云形状 | /设置词云形状 |
超级用户/群主/管理员 | 发送一张图片作为当前群词云形状,每个群各自独立 |
| 删除词云形状 | /删除词云形状 |
超级用户/群主/管理员 | 删除本群词云形状 |
| 设置词云默认形状 | /设置词云默认形状 |
超级用户 | 发送一张图片作为所有词云的默认形状,每个群都会改变 |
| 删除词云默认形状 | /删除词云默认形状 |
超级用户 | 删除默认词云形状,继续使用词云默认的矩形 |
| 开启词云每日定时发送 | /开启词云每日定时发送 或/开启词云每日定时发送 + [时间] |
超级用户/群主/管理员 | 开启本群每日定时发送词云,默认将在每天 wordcloud_default_schedule_time 设置的时间发送今日词云,如果时间没有包含时区信息,则根据 wordcloud_timezone 配置项确定时区。时间的格式为 ISO 8601,例如: 开启词云每日定时发送 23:59:59 |
| 关闭词云每日定时发送 | /关闭词云每日定时发送 |
超级用户/群主/管理员 | 关闭本群词云每日定时发送 |
| 查看词云每日定时发送状态 | /词云每日定时发送状态 |
超级用户/群主/管理员 | 查看定时发送状态 |
配置项
配置方式:直接在 NoneBot 全局配置文件(.env) 中添加以下配置项
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| wordcloud_width | int | 1920 |
生成图片的宽度 |
| wordcloud_height | int | 1200 |
生成图片的高度 |
| wordcloud_background_color | str | black |
生成图片的背景颜色 |
| wordcloud_colormap | Union[str, List[str]] | viridis |
生成图片的字体 色彩映射表(当值为列表时会随机选择其中之一) |
| wordcloud_font_path | str | 自带的字体(思源黑体) | 生成图片的字体文件位置 |
| wordcloud_stopwords_path | str | None | 结巴分词的 停用词表 位置, 用来屏蔽某些词语 例如: "./wordcloud_extra_dict/stopword.txt"表示屏蔽 stopword.txt 中的词语, 格式参考 stop_words.txt |
| wordcloud_userdict_path | str | None | 结巴分词的自定义词典 位置 |
| wordcloud_timezone | str | None | 用户自定义的 时区, 留空则使用系统时区,具体数值可参考:时区列表, 例如: Asia/Shanghai |
| wordcloud_default_schedule_time | str | 22:00 |
默认定时发送时间,当开启词云每日定时发送时没有提供具体时间, 将会在这个时间发送每日词云 |
| wordcloud_options | Dict[str, Any] |
{} |
向 WordCloud 传递的参数。 拥有最高优先级,将会覆盖以上词云的配置项, 例如: {"background_color":"black","max_words":2000,"contour_width":3, "contour_color":"steelblue"} |
| wordcloud_exclude_user_ids | Set[str] |
set() |
排除的用户 ID 列表(全局,不区分平台), 例如: ["123456","456789"] |
鸣谢
插件依赖 nonebot-plugin-chatrecorder 提供消息存储。
感谢以下开发者作出的贡献:
