Skip to content

Ling-YangHui/LingYue_Bot

Repository files navigation

LingYue_Bot

简介

当前版本 Version 3.1.0-RC update 0603

这是一个使用Mirai 框架搭建的小型QQ群bot项目,当前支持自动回复、好感度(数值系统)、自动复读、特殊成员以及一定的管理员操作能力,具体的操作方法见下文。

本项目由YangHui 管理构建。

新特性一览

版本 3.1.0-RC
加入了漂流瓶点赞功能,使用“好瓶子”或者“好瓶子 id”来点赞瓶子

版本 3.0.0-RC
从这个版本开始,LingYue所有的数据将不会在json中存储,转而使用基于SQLServer的数据库。但是LingYue使用的指令集依然使用Json进行存储,以方便随时修改和调整。

插件功能及使用方法

插件支持一定的非代码开发自定义和代码开发深度自定义。

深度自定义

项目通过内部的GroupMessageHandler接口实现深度的自定义。如果自己写了一个用来监测某个群的类,需要继承GroupMessageHandler并实现其中的onCreate、handleMessage和onDelete方法。它们分别会在Bot启动、收到消息和关闭的时候调用。一般而言onCreate用来实现一些文件数据载入的方法,onDelete用来实现文件数据保存的方法。

此外项目配套了一个基本的模板GroupHandler,新添加的群只需要继承这一个模板甚至是直接使用这个模板来生成一个实例就可以对这个新群进行消息管理。

非代码自定义

非代码自定义当前提供了一个XiaoFangZhou类的框架,这个框架支持了自动复读、自动回复、数值系统、特殊群员和管理员等功能。以下是该框架的功能调用方法

自动复读

自动复读功能已经由数据库接管

自动回复

自动回复功能已经有数据库接管,以下是旧版。数据库实现的功能和旧版类似,可以进行参考。

自动回复是一个自定义程度很高的功能,它是由specialRepeatList.json文件来控制的。可以通过增加修改这个文件来实现自动回复的自定义,例如:

[
    {
        "name": "Demo",
        "tag": "Demo",
        // 触发消息,当接收到的消息中包含这个消息的时候触发
        "trigMessage": [
            "Config"
        ],
        // 条件判断,第一个中括号为条件,第二个中括号为下一个条件,第三个中括号为条件满足执行回复语句,第四个中括号是条件满足后执行操作
        "condition": [
            "[true][][0][]"
        ],
        // 回复语句,第一个中括号中是回复内容,第二个中括号是执行操作
        "reply": [
            "FACE:107"
        ],
        // 执行操作
        "operation": []
    }
]

每个回复通过dict形式封装,所有的回复写在一个array里面

新回复定义核心

新的回复定义即将开始使用!

说明

Function分为三个部分,分别是:条件、回复、操作。其中所有的部分之间和部分之内都允许进行自由组合。有以下方法提供:

条件:[条件内容] [下一个条件] [条件满足执行回复行号] [操作行号]
回复:[回复内容] [操作行号]
操作:[操作内容]
不同部分使用[]分开

条件内容:

条件内容允许进行复杂逻辑运算,包括与(&)或(|)非(!)括号。运算优先级是()>!>&>|,运算数是由LingYue开发组提供的API。

API:

  • isAdministrator: 是否为管理员
  • isSpecial: 是否为特殊用户
  • isMale: 是否为男性
  • isFemale: 是否为女性
  • contains(xxx): 是否包含括号内字符串
  • equals(xxx): 是否等于括号内字符串

希望各位能提出相关建议

下一个条件:

下一个条件是用一个序号指向条件列表中的下一个条件需求,只有下一个条件需求满足以后才会真正满足逻辑。LingYue开发组会提供逻辑AOV检查工具,保证条件不发生循环调度。

条件满足执行回复行号:

如题,用序号表示对应的回复行号,支持使用Rand实现随机回复

操作行号

如题,用序号表示对应的操作行号

回复内容:

即回复的内容,支持表情,AT某人,文本,考虑加入图片,使用[]括起来表示不同消息发送,&表示连接发送,请不要使用括号嵌套

API:

  • TEXT: ... 回复文字
  • FACE: id 回复表情
  • AT: id AT某人

操作行号:

如题,用序号表示对应的操作行号

操作内容:

由LingYue开发组提供API

版本日志

2020/6/3   3.1.0-RC: 加入了漂流瓶点赞功能,卫星位置查询功能修正

2020/5/24   3.0.0-RC: 完全使用数据库构造,已经上线阿里云服务器。

2020/5/22   3.0.0-Alpha: 基于SQLServer的LingYue版本上线

2020/5/13   2.1.3-RC: 明日方舟模拟抽卡功能上线,化学式配平、卫星位置查询功能上线

2020/5/12   2.1.2-RC: 跨群漂流瓶功能上线

2020/5/8   2.1.1-RC: 漂流瓶拾起次数限制

2020/5/2   2.1.0-RC: 漂流瓶功能上线,旧代码适配新核心完成

2020/3/31   2.0.0-Alpha: 新的回复执行核心,数据结构重构

2021/3/19   1.3.0-Alpha:添加了从本地和网络获取图片并发送的功能。

2021/3/18   1.2.0-Alpha:添加了消息链回复的功能。可以回复表情,at别人。

2021/3/17   1.1.0-Alpha:添加了定时的功能,但是定时的方式和触发方法不太友好

2021/3/17   1.0.0-RC:具备了Bot的基本功能

版权信息

CopyRight (2020-?) @YangHui · BUAA   @LingDong · SEU
YangHui, LingDong

IceData 凌月开发组

本项目基于Mirai 框架搭建

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published