[Mirai-Native] 词云插件
-
下载以及依赖
下载地址:Release (2022.10.11更新)
依赖需求:- .net Framework 4.8
- Windows系统
- Mirai-Native
- 依照
Readme.md
此处的数据库配置,将两个dll放入相对应位置 - 下载
jieba.zip
,解压到插件的数据目录,结构如下:
└─me.cqp.luohuaming.WordCloud
└─jieba(文件夹)
使用流程
- 下载插件
- 解压
jieba.zip
到数据目录下(me.cqp.luohuaming.WordCloud
) - 挂机一段时间,待群内有足够多的消息
今[日|天]词云
=> 今天的词云昨[日|天]词云
=> 昨天的词云- 更多指令见配置文件
词云 yyyy-M-d
=> 任意日期的词云
配置字段
;请不要直接把这段文本直接粘贴到文件内,需要什么字段就复制什么字段,警 惕 空 格 ;路径均支持相对路径 相对于数据目录 ;除了 CycleSwitch 以及 Interval 之外, 所有配置更改后立即生效 [Config] ImageWidth=500 ;词云图片的宽度 ImageHeight=500 ;词云图片的高度 MaskPath=mask.png ;遮罩图片的路径 必须黑白 等号后面可以没有东西但是这个字段必须有 WordNum=50 ;最大词数量 Font=75W.ttf ;自定义字体路径 也可以是系统内字体名称 FilterWord=http|www ;过滤词,使用 | 分割 SendTmpMsg=词云合成中…… ;触发功能之后的提示文本,需要at用户请加上 <@> MatchMode=0 ;指令的触发模式, 但只针对于下面两个可自定义的指令生效, 默认为正则模式. 0 => 正则, 指令必须符合正则的语法. 1 => 模糊匹配, 消息中包含指令将会触发. 2 => 完全匹配 TodayCloudOrder=^今[日|天]词云$ ;这是一个正则的例子, 在你不配置这个字段时, 默认也是这个 YesterdayCloudOrder=^昨[日|天]词云$ LastWeekCloudOrder=^上个?周词云$ WeekCloudOrder=^[这|本]个?周词云$ LastMonthCloudOrder=^上个?月词云$ MonthCloudOrder=^[这|本]个?月词云$ YearCloudOrder=^[这|本]个?年词云$ PersonalWeekOrder=^(我的)?(个人)?本周词云$ PersonalTodayOrder=^(我的)?(个人)?今[日|天]词云$ PersonalMonthOrder=^(我的)?(个人)?[这|本]个?月词云$ PersonalYearOrder=^(我的)?(个人)?[这|本]个?年词云$ PersonalLastWeekOrder=^(我的)?(个人)?上个?周词云$ PersonalYesterdayOrder=^(我的)?(个人)?昨[日|天]词云$ PersonalLastMonthOrder=^(我的)?(个人)?上个?月词云$ [Cycle] CycleSwitch=1 ;定时发送开关, 1 => 开启. 0 => 不开启. 不写默认为不开启 CycleText=晚安!今日共收到<num>个词汇,前三的词汇为:\n<content> ;词云图片发送前的前导文本, 不写不会发送, 使用<num>来表示记录了多少个词汇, 使用<content>来表示这里罗列权重最高的前三个词汇 CycleMode=1 ;定时发送时发送的词云类型. 1 => 今日词云. 0 => 昨日词云, 不写默认为昨日词云 CycleTime=1970-01-01T23:58:00 ;定时生效的时间, 仅小时与分钟生效, 且必须是两位, 比如07:58:00. 其余位置改了也没用, 但是这个格式必须保留. 不写默认12点触发 Interval=20000 ;时间判断周期, 单位ms, 请设定在10000-59000之间, 设定太小了会频繁打开此文件读取触发时间 ; 白名单优先级高于黑名单, 也就是说, 在白名单与黑名单均启用的情况下, 最终生效的是白名单 ; 均不开启的时候, 默认也是生效白名单 ; 白名单, 在开启白名单模式下, 只有白名单内的群才会启用功能 [WhiteList] Groups=89****846|644****97 ;开启功能的群号, 使用 | 分割, 未加入的群将不会记录消息以及触发指令 Switch=0 ; 黑名单, 在开启黑名单模式下, 会跳过字段内的群号 ; 广播词云时, 会获取群列表, 之后跳过黑名单的群进行广播 [BlackList] Groups=89****846|644****97 Switch=1
效果展示
-
无遮罩 自定义字体
-
使用遮罩(图源群友,虽说内容有点怪
-
此回复已被删除! -
请问如果是Linux的话还需不需要复制dll
-
@kleepaimon mirai-native……可以在linux下跑?不好意思,这个我还真不了解。不过就感觉上来说,这个插件应该是在linux下用不了
-
@mr-喜 那行8
-
此回复已被删除! -
native类的插件怎样安装,看了看官方教程有点懵
-
@kleepaimon 前提是win系统, 之后参照wiki的说明, 把jar包放在对应位置就可以了
-
吸吸喜先森
-
大佬或许可以考虑增加一个每天定时生成词云图片并推送到分群的功能,感觉词云这个功能本身就比较适合这样的形式,每天自动总结聊天内容,而不是完全只能依赖手动触发
-
@edgestar2020 在理,需求记下了
-
刚刚看群时才发现词云插件的指令是模糊匹配的,群里有时候会出现误触发的情况,大佬或许可以考虑再添加一个能够自定义指令的配置字段……
另外,话说此插件是否有定期清理缓存的机制,如果机器人加的群比较多,到了后期会不会出现因data.db文件过大导致影响插件效率的问题,不过这个问题可以通过让机器人屏蔽掉一些不需要词云功能的群来缓解 -
Linux plz 求求了( •︠ˍ•︡ )
-
@orisland 你可以试试wine,虽然我自己没试过,但感觉上可行,选库的时候选上 .net4.5
-
@edgestar2020 因为有人说要月度词云或者年度词云之类的,暂时没想好存储的东西该怎么办。指令匹配的问题确实是模糊匹配,只要符合
今[日|天]词云
这个正则的就会触发。等我闲下来之后会给出更多功能选项的。 -
@mr-喜 月度词云或者年度词云这个我倒是猜到了,其实我提到的数据文件过大的问题在短期内是不存在的(即便出现了,也可以通过设定一个任务计划用bat脚本定期清理解决),大佬完全可以慢慢来
-
打扰一下大佬,关于配置字段里面遮罩图片的路径我填写的是“MaskPath=C:\Random\jr.png”,对应文件jr.png也确定了是黑白图片,但使用词云指令却无法生成词云图片,我想了解一下问题可能会出现在哪里?是对遮罩图片还有其他的要求吗?
-
@edgestar2020 看一下日志,有没有什么invalid什么的,假如有就用ps过一下阈值,这个问题有时候也挺怪的,有时候分明是黑白了,可就是过不了这个检测
-
@mr-喜 看了一下,报错内容如图,应该是图片的问题,我再去PS改改看看能不能解决
-
我调整了阈值,现在可以正常生成图片了