MessageClassifier

MessageClassifier

29.5k Downloads

插件功能的一点建议

Star699 opened this issue · 11 comments

commented

这个插件是目前我在怀旧服最好用的信息归类、信息屏蔽类的插件,有几个建议希望能考虑一下:
1、规则符合选项目前只有全部符合(and)和其中一个条件符合(or),希望能加入类似((A or B) and C)或者((A and B) or C)这种建立规则的方式,这样一个规则就可以实现当前多条规则的效果;
2、规则的管理面板在规则数量很多的时候管理起来会很麻烦,上下来回找,在规则少的时候还行;能否加入类别管理,先创建类别,然后在单独的类别面板创建子类或者规则;
3、希望能加入手写式的规则创建方式,比如:([contains=H--M] or [contains=萧] ) and ( [contains=費] );
4、希望能参考下Global Ignore List的规则管理面板、创建方式。
以上几点建议都是在用了Global Ignore List(https://www.curseforge.com/wow/addons/global-ignore-list)这个插件后想到的

commented

我想了下,上面的几点建议可以通过这样修改一次性解决:
把现有的规则管理界面根据分类做成折叠样式的:类似WA插件里图示标签下点文字设置就打开文字的详细设置,再次点击文字设置就折叠起来;或者就想你做的消息浏览器那样,点加号打开树形菜单,右侧显示该子分类详细规则设置。
每次加载规则界面的时候就像你做的消息浏览器一样,根据分类做成折叠标签或者树形菜单。
创建规则的时候还用现有的,只是把规则管理界面进行修改。
望采纳~~

commented

建议很好,之后可以看看怎么实现

commented

我看了看本地的配置信息的格式,感觉可以在读取本地配置信息的时候读取到class项目值,对其进行分解(消息浏览器用的应该是类似的逻辑)的时候动态加载生成折叠式的(类似WA设置中的样子)看当前是否有该一级分类,有则加入进去,无则创建新的折叠项,然后看当前规则是否属于二级分类,不是二级则显示,属于二级分类则重复类似创建一级分类的逻辑。比如点开“商业”折叠项,如果商业下面没有二级分类只有多条规则,就显示具体的规则,如果下面有布料、皮革分类则显示布料、皮革折叠项,点开布料分类显示具体的多条规则,这样规则管理主体界面不用大改,只用做成类似WA折叠式的即可。

commented

规则中的匹配和包含有什么区别么?

commented

匹配可以使用Lua正则表达式 https://www.jianshu.com/p/79f3af612700
包含只是纯文本查找。

在英文默认规则里面使用了大量匹配,主要是用来查找超短缩写词。
比如这个规则里面的 %f[%a]sm%f[%A] 表示单独的缩写词 sm,它可以匹配 SM, a sm b, sm b,但不匹配small。如果不使用单词开头表达式%f[%a]和单词结尾表达式%f[%A],英文里会有大量误匹配。

    {
        id = 3009,
        ["class"] = "Instance/The Scarlet Monastery: Graveyard/{author}",
        ["conditions"] = {
            {
                ["value"] = "%f[%a]sm%f[%A]",
                ["field"] = "content",
                ["operator"] = "match",
            },
            {
                ["value"] = "%f[%a]gy%f[%A]",
                ["field"] = "content",
                ["operator"] = "match",
            },
            {
                ["value"] = "friedhof",
                ["field"] = "content",
                ["operator"] = "contain",
            },
        },
    },
commented

我的配置页面是用AceConfig自动生成的,所以做二级分类非常简单,只需要把配置项移动到子Lua表里面去就可以了。有时间我可以做一下。

commented

正则表达式这个非常棒,好用666~~
希望能够加入重复符号、词、句裁剪,例如:
ZUL 4=1来个T++++++++++MMMMMMMM 压缩成 ZUL 4=1来个T++MM,
这个功能在BFFilter这个插件里有,我看了下那个插件文件,msgtrim.lua文件实现功能的代码文件,可以的话,请加入,这样我就只用MessageClassifier一个就全搞定了~~
不胜感激~~

commented

老哥啥时候能更新下~~催更~~~

commented

更新到与 https://github.com/SwimmingTiger/WowBigfootClassic 内版本一致了。。。
新功能准备找其他人开发,对方正在学习插件开发技术。。。

commented

找别人开发的计划流产了。不过我自己实现了规则分类检索功能。
我不知道怎么用AceConfig实现分栏功能,所以做了个分类筛选下拉框,选择某个分类后就只显示对应分类的规则了。
这样应该可以解决查找规则困难的问题。

commented

Global Ignore List 看起来没有使用 AceConfig,所以它没有我遇到的各种功能限制。
比如,目前我有一个很简单的修改就是做不到,就是编辑框必须按确认按钮才能保存,否则刚输入的内容会丢失。
AceConfig 没有提供免确认的方法。

但是,要我手写一个工作良好的复杂编辑界面可能是一件更困难的事情,所以目前我只能接受它的限制。