Skip to content

GitHub-ZC/QQRobot

Repository files navigation

QQRobot

点击加入QQ群

项目介绍

  1. QQ机器人、QQ消息匹配规则模板
  2. 开发QQ机器人,方便生成一套对应的消息匹配规则,自动回应消息

目录介绍

  1. messageMaps 消息匹配文件,example.js 是模板文件,大家可以参考对应里面的规则开发自己的机器人
  2. config.js 项目配置文件,主要用来配置登录的QQ账号,默认是密码 + 手机验证码登录,请在文件配置正确的账号密码
  3. index.js 项目主文件,主要是消息匹配规则的遍历匹配
  4. messageMap.js 消息匹配规则的统一导入
  5. uitils/TimeEventManger.js 此文件是开发 群消息备忘录功能 单独加上的,与项目无关

项目参考

主要是对 github.com/takayama-lily/oicq 的二次开发,感谢此作者提供的SDK

项目安装与启动

  1. $ git clone https://github.com/GitHub-ZC/QQRobot.git
  2. $ cd QQRobot
    $ npm i
  3. $ #请在项目主目录中执行下面语句
    $ node index.js

说明 : 请在项目启动前 在 config.js 中配置 QQ账号 和 QQ密码 ,登录的时候,可能会需要输入手机验证码 ,在命令行输入验证码之后按回车就行,登录一次成功之后,会生成身份令牌文件,后续登录就不需要再输入验证码,默认生成在主目录的 data 目录中,并且支持拷贝 data 目录

消息匹配文件

每个消息匹配文件请以 好友QQ号码 或者 群聊ID 为文件命名

示例:群号为 : 123456789

文件需要命名为 : 123456789.js

消息匹配模板

/**
 * 此文件为模板文件
 * 1. 可以定义多条消息匹配规则, 一个对象对应一个规则
 * 2. 具体属性规则可以看下面对应的注释
 * 3. 需要自定义功能的可以在 functions 属性中,编写自己的函数,在Reply中返回
 */
module.exports = [
    {
        // 消息类型 group(群聊) private(私聊)
        message_type: 'private',
        // 匹配规则  填写正则表达式 为空代表匹配所有消息
        MatchRule: ``,
        // true表示引用对方的消息 false表示引用对方的消息 只在群聊中 有效果
        Is_AITE_Reply: true,
        // 回复的消息内容 Reply为一个函数 如何需要 使用 functions 中的函数 请使用 function 写法
        // Reply: function () {
        //     // 调用自定义函数
        //     this.functions.函数();
        //     return "回复的消息内容"
        // },
        // 如果只需要返回消息 使用箭头函数就可以
        // Reply: () => "<<特定规则>> 回复内容",
        Reply: () => "回复的消息内容,请在此更改内容",
        // 自定义函数
        functions: {
        }
    },
    {
        // 消息类型 group(群聊) private(私聊)
        message_type: 'private',
        // 匹配规则  填写正则表达式 为空代表匹配所有消息
        MatchRule: `特定规则`,
        // true表示引用对方的消息 false表示引用对方的消息 只在群聊中 有效果
        Is_AITE_Reply: true,
        // 回复的消息内容 Reply为一个函数 如何需要 使用 functions 中的函数 请使用 function 写法
        // Reply: function () {
        //     // 调用自定义函数
        //     this.functions.函数();
        //     return "回复的消息内容"
        // },
        // 如果只需要返回消息 使用箭头函数就可以
        // Reply: () => "<<特定规则>> 回复内容",
        Reply: () => "<<特定规则>> 回复内容",
        // 自定义函数
        functions: {
        }
    },
]

项目有一个是我实现的 备忘录功能

主要实现的功能是  对群成员  输入的时间时间消息进行提取  会在特定的时间提醒你

会自动匹配一下格式的消息:
不支持 两点 这种写法
	2022年10月15日 下午 二点五十一 需要提醒的事件
	二零二二年十月十五日 下午 二点五十一 需要提醒的事件
	今天下午三点一十五 需要提醒的事件
	明天晚上9点一十五 需要提醒的事件
	后天上午三点 需要提醒的事件
	后天 早上三点 需要提醒的事件
	后天上午3.15 需要提醒的事件
	10月31 下午 二点一十 需要提醒的事件
	10月31号 下午 二点一十 需要提醒的事件
	10月31日 二点一十 需要提醒的事件

输入 查询所有:会查询当前用户所有的时间事件,会对时间序列进行编排序号
输入 删除备忘录 1 :会删除序号为 1 的时间事件
输入 删除所有备忘录: 会清空所有备忘录事件

About

QQ机器人、QQ消息匹配规则模板

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published