Assets 3

重大更新!Major update!

In this update, I fixed many bugs and improve experience greatly. So I decide to use this version number: v1.3.0.

新功能

  • 新增avalon (heartbeat|hb):测试Avalon是否仍然存活(对这就是用来维护的 哈哈)

大量Bug修复

  • 修复一个Snyk指出的漏洞
  • 修复由enableMap的错误处理逻辑导致的bug
  • 修复RunningData中的bug

调整

  • 给大多数指令添加了短语 这样就不用打那么多字啦=-=
  • 交互文本优化 提升用户体验

New function

  • avalon (heartbeat|hb):Test if Avalon still alive. (Yep this is for the maintenance)

Bugs fix

  • Fix a vulnerability pointed by Snyk.
  • Fix bugs caused by wrong working logic for enableMap.
  • Fix errors caused by RunningData.

Adjustments

  • Add shortcuts to most of the commands.
  • Optimize interactive text and thus improves the user experience.

@Ray-Eldath Ray-Eldath released this Feb 23, 2018 · 20 commits to master since this release

Assets 3

国际化

  • 现已支持英语。

支持Discord

  • 您可在config.json中配置backend.backendDiscord并配置token为您在Discord - My Apps上获取的token以启用Discord支持。

一些调整

  • 添加对H2数据库的支持并默认使用它。下一版本将移除对SQLite数据库的支持。
  • 指令前缀识别交由Avalon,而非下放至指令实现。
  • 修改avalon manager匹配规则:不匹配指令前缀。
  • 指令响应器现可限定激活的国家(地区)。
  • 性能优化和bugfix。

Globalization

  • English now supported.

Support Discord

  • You can set backend.backend to Discord and token to your token from Discord - My Apps to enable support for Discord.

Adjustment

  • Support H2 database and set it as default database. Next version will remove support for SQLite database.
  • The recognition of command prefix is now handled by Avalon, rather by the implementation of command responder.
  • Modify the matching rule of avalon manager: Do not matching command prefix.
  • Command responder now can limit only in specified countries it is available.
  • Performance improvement and bugfix.

@Ray-Eldath Ray-Eldath released this Jan 14, 2018 · 37 commits to master since this release

Assets 3

新功能

  • 新增avalon reboot指令:重启Avalon(WIndows系统下测试通过,Linux系统未测试)。
  • 新增ServiceChecker:提前检测服务可用性。
  • 新增run_on_pc配置项:若为trueavalon version将显示“Avalon在个人计算机上运行”的信息。
  • 控制台彩色化

策略修改

  • 修改cooling策略:只提示一次 -> 每隔5条被屏蔽消息后提示一次。
  • 修改日志记录策略:只有控制台回显 -> 日志还会被记录至log文件夹内。
  • 修改好友消息处理策略:不处理 -> 提示“Avalon暂不支持”。

重命名

  • config.json
    1. servlet配置块被重命名为backend配置块。
    2. servlet.servlet配置项被重命名为backend.backend配置项。
    3. plugin_config配置块被重命名为function_config配置块。
    4. responder_config.Execute.servlet配置项被重命名为responder_config.Execute.backend配置项。

其它

  • Bugfix:Blacklist bug等。

注释

  • 由于配置块和配置块的重命名,旧版本配置文件将无法直接使用。
  • 由于Windows自带命令提示符不支持ANSI颜色代码,请使用cmder或其它第三方命令行工具执行Avalon.bat。Linux端不存在此问题。

@Ray-Eldath Ray-Eldath released this Dec 31, 2017 · 46 commits to master since this release

Assets 3

新功能

  • 新增插件BuildStatus:推送指定项目CI的构建状态。现支持TravisCI和AppVeyor。

Bugfix

  • Glot-RunAPI修改导致bug。
  • Executive bug。
  • Blacklist bug。

其它

  • 部分提示语句未更新。
  • 优化性能

@Ray-Eldath Ray-Eldath released this Dec 23, 2017 · 58 commits to master since this release

Assets 3

新功能

  • 新增全局Responder禁用功能:允许在config.json -> respondersenabledisable配置项中配置全局启用 / 禁用的Responder。注意,disable中的配置将会被优先禁用,未在两配置项中出现的Responder则默认禁用。
  • 新增cooling_duration配置项:该项用于配置冷却时间,即两次指令间的最短间隔。
  • 新增avalon blacklist list指令:<管理员> 用于列出当前黑名单中的账户。
  • avalon help新增标记添加机制:自动为需要添加标签的Responder添加<已禁用><管理员>等标签。

API修改

  • 封装Responder相关信息至ResponderInfo。原getHelpMessage(): StringgetKeyWordRegex(): Pattern等方法返回均封装于RespoderInfo中。
  • ResponderInfo提供:
    • manageable : Boolean = true:是否可管理。设置为false的Responder将无法被avalon manager指令管理。默认为true
    • permission : ResponderPermission = ResponderPermission.ALL:调用权限。Responder调用权限判断前移至Avalon内部(意味着Responder不需判断调用权限♪(^∇^*))。默认为ALL,可改为ADMINOWNER

优化

  • 修改屏蔽词策略。
  • 使用by lazy优化性能。

其它&注释

  • fix #7
  • 一些基础Responder默认无法管理。
  • Bugfix。
Assets 3

v1.1.0:更多响应器,新增代码执行器、“一言”推送器和RSS订阅器

非常好的一次更新!(雾

本版主要增加了一些好玩的响应器和一些定时功能。

v1.0.0去哪了

我也不知道。 似乎GitHub把我的RELEASE给吞了(雾
README文件都改好了 结果RELEASE里根本没有v1.0.0...

本版修复/更新

  • 改进配置文件
    • group.json:增添配置项permissionblacklist的默认值。
  • 增添多个指令响应器
    • 服务 / Execute:执行给定代码并返回输出。(安全问题已解决)
      • ExecuteInfo:输出代码执行器相关信息。(支持语言列表等)
    • 服务 / Hitokoto:获取并返回一条一言
    • 服务 / Quote:记录给定的语录到数据库。
  • 新增定时任务
    • RSSFeeder:检查给定的RSS是否更新。若更新则推送到群中。
    • Hitokoto:当存在配置项plugin_config -> Hitokoto -> push_when_start(默认值为false)且值为true时,将在每次Avalon启动时推送一条一言
  • BugFix
    • 响应器正则匹配修改为“必须头部相同”以防止攻击。
    • 消息频率限制器不工作。
    • file.encoding编码问题。
  • 安全优化:使用PreparedStatementUrlEncoded完成所有的关键数据库操作以防止SQL注入攻击。
  • 巨型重构:由于Gradle太垃圾,因此使用Kotlin重写所有的Scala以保证正常build。(累死了...趴_(:3 」∠ )_
  • 其它一些修复 / 改进。

注释

Assets 3

改进配置方法和API:v0.0.2

本版主要改进了配置方法和API。

本版修复/更新

  • 改进配置方法:将config.json分拆为group.jsonconfig.json,从而提供对不同QQ群的不同配置。v0.0.1及更早版本编写的配置文件将不能在本版本及以后版本直接使用。
  • 改进API:将原有的MessageHook方式标记为deprecated(将在下一版本正式移除),并使用CustomGroupResponder机制替代。基于v0.0.1及更早版本编写的插件将不能在本版本及以后版本加载。
  • (暂时)移去指令相应器Execute:由于安全问题及其他问题,本版本中已移去指令响应器Execute及相关支持方法/类。将于下一版本重新提供基于Avalon-Executive的指令响应器Execute
  • 更换日志系统
  • 大量Bug修复

下一版本可能的修复/更新

  • 重新提供更安全的指令响应器Execute
  • 降低配置复杂度,重新合并配置文件

使用须知

  1. 以下配置文件为必须自定义的:

    • config.json:主配置文件,配置指令响应器、禁止词及Debug选项等。
    • group.json:群配置文件,配置各个群的Admin及指令响应器权限分配等。

    以下配置文件为可选择自定义的:

    • database.properties:消息记录功能的数据库配置文件:默认使用SQLite数据库,若想使用MySQL数据库请修改此配置文件。
    • servlet.json:配置使用的Servlet及相关监听地址。请保证与CoolQ HTTP API中的配置或Mojo-Webqq中的配置一致。
    • data/plugin/plugins.json:配置插件相关信息。若无装载的插件则不需修改。

    未在此列表中的文件均为运行所需文件。请勿编辑或删除这些运行所需文件。

  2. 由于基于腾讯WebQQ协议的Mojo-Webqq容易由于腾讯删API导致不可用,建议使用稳定得多的CoolQ作为Servlet

  3. 若使用CoolQ作为Servlet,除了安装CoolQ本体之外,还请安装并配置CoolQ HTTP API并保证其配置与servlet.json中的配置一致。

  4. 若需使用指令响应器AnswerMe,请下载并安装Mojo-Weixin并在运行Avalon执行脚本bin\Mojo-Weixin.pl

  5. 解压后运行Avalon。否则可能导致“找不到主类”。

@Ray-Eldath Ray-Eldath released this Jun 23, 2017 · 128 commits to master since this release

Assets 3

正式版本:v0.0.1

终于可以发布正式版本了...
原计划该版本是等到Avalon-Game能够工作之后再发布的,但经过冰封的一番调戏教育还是不要吝啬版本号了(づ  ̄ ³ ̄)づ

本版修复/更新

  • 增加了对CoolQ协议的支持,大幅提升稳定性
  • 新增指令响应器
    • 一般 / ShowAdmin:输出管理员列表
    • 一般 / Execute:(不完善,存在安全问题,不建议启用)编译&运行给定的程序并输出回显
    • 一般 / Wolfram:向Wolfram Alpha问问题
  • BugFixShowMsg不工作
  • 改善:去除Echo的权限限制。
  • 其他一些修复 / 改善

下一版本可能的修复/更新

  • 部分代码使用Scala重写
  • 完善Execute指令的安全及性能

使用须知

  1. !! 由于Jython的standalone版本过于庞大,将其打包至RELEASE文件中将会极大增加文件大小,因此请在百度云微云码云自行下载jython-standalone-2.7.1-rc2.jar文件并将其拷贝至RELEASE文件中的lib目录中。
  2. 若要使用CoolQ作为服务后端,请在酷Q Air处下载、安装CooQ并安装CoolQ HTTP API
  3. 配置文件有一些调整,请看RELEASE文件内的 config.jsonservlet.jsondatabase.properties

@Ray-Eldath Ray-Eldath released this May 6, 2017 · 139 commits to master since this release

Assets 3

Pre-release/patch版本:v0.0.1b

在上一没有测试的版本发布之后,Mojo-Webqq修复了Mojo-Webqq中存在的问题,我就可以测试了。
果不其然,一测试,就有bug。
所以以后都不测试了吧!

本版修复/更新

  • 能够跑起来
  • 全功能测试√

@Ray-Eldath Ray-Eldath released this Apr 19, 2017 · 147 commits to master since this release

Assets 3

Pre-release/patch版本:v0.0.1a

本版修复/更新

  • 拆分,分为Avalon-API、Avalon-Game(至本RELEASE发出之时未公开)和Avalon三个部分,精简代码架构。
  • 加入Hook功能,允许收到某类消息时执行指定代码。(详细请见Avalon-API
  • 内部自动派生Mojo-WebqqMojo-Weixin,不需手动打开窗口。
  • 加入RESTful API(目前未完善,文档有待补充)

测试不完全,请谨慎更新。