构建基于mirai的QQ机器人教程与插件指南

需积分: 37 0 下载量 155 浏览量 更新于2024-12-01 收藏 76KB ZIP 举报
资源摘要信息:"该项目mirai-node-qqbot是一个使用mirai-ts和mirai-api-http技术构建的QQ机器人程序。开发者可以利用这个项目框架,基于Node.js环境开发QQ机器人,实现自动回复、处理消息等功能。项目中使用了插件式架构,支持通过特定指令调用不同的插件模块,同时提供了一套权限控制机制来决定用户是否具有调用某插件的权限。" 1. Mirai框架:该项目基于Mirai框架,Mirai是一个为QQ和其他即时通讯平台开发的机器人框架。Mirai通过提供API来接收和发送消息,开发者可以通过API实现各种机器人功能,如自动回复消息、处理请求、管理群聊等。Mirai分为不同的模块,包括mirai-console、mirai-core等,其中mirai-api-http是Mirai的一个HTTP API模块,它允许开发者通过HTTP协议远程与Mirai通信。 2. 使用语言:该项目使用JavaScript语言编写,这使得开发者可以利用Node.js环境来运行机器人程序。JavaScript是一种广泛使用的高级编程语言,特别是在Web开发领域,它也适用于服务器端应用程序开发,Node.js就是让JavaScript能在服务器端运行的技术之一。 3. 插件式架构:mirai-node-qqbot项目采用插件式架构,开发者可以创建不同的插件模块来扩展机器人的功能。插件名需要以井号(#)开头,通过这种方式调用插件。这种结构增加了代码的模块化和可维护性,使得不同开发者可以在遵守一定规范的前提下贡献各自的插件。 4. 权限控制模块:在src/access_control.js文件中实现了权限控制模块,该模块的作用是决定用户是否可以调用某个插件。它在第一次运行时会将配置文件中的权限数据写入数据库,并在之后的运行中优先读取数据库中的数据,从而实现权限信息的持久化和动态记忆。 5. 事件路由:src/events_router.js文件负责监听消息并判断是否调用插件。它会先经过权限控制模块的校验,如果用户具有相应的权限,则异步调用相应的插件。这种方式提高了程序的灵活性和响应效率。 6. 程序入口:src/main.js文件是整个项目的程序入口,它负责启动整个机器人程序。 7. 配置文件和插件存储:src/config文件夹包含了机器人的基本配置文件,配置文件中的格式有详细注释说明。src/plugins文件夹用于存放插件文件,插件的详细信息也会在配置文件中进行配置,并在程序运行时写入数据库。 8. 关于QwQ setu模块的警告:项目描述中提到了QwQ setu模块需要谨慎使用,并且该模块已经被封号过一次。这可能意味着某些插件或功能在实际使用中可能会违反腾讯QQ的服务协议或相关规则,导致账号被封。开发者在使用这些功能时需要格外注意。 9. 标签和文件列表:该项目的标签是JavaScript,表明这个项目是基于JavaScript语言开发的。压缩包子文件的文件名称列表中只有一个文件"mirai-node-qqbot-main",这可能是该项目主要的执行文件或者是打包后的文件名。 综上所述,mirai-node-qqbot是一个以Node.js为运行环境,使用JavaScript语言开发的QQ机器人项目。项目采用了Mirai框架,具有插件式架构和权限控制功能,支持通过HTTP API进行扩展和控制。开发者需要关注特定模块可能带来的封号风险,并严格按照腾讯的相关规定开发机器人功能。
651 浏览量
注意:此框架现已基本稳定,文档会尽快完善。 该分支使用二维码登陆的协议参考了原名:SmartQQ-for-Raspberry-Pi(PiWebQQV2)这一项目,自行整合开发了基于SmartQQ的自动机器人框架。 登陆时采用QQ安全中心的二维码做为登陆条件, 不需要在程序里输入QQ号码及QQ密码。 旧版机器人仍有保留在old_QQBot.py中。 基本功能 群聊功能: 注:以下命令皆是在qq中发送,群聊命令发送到所在群中 群聊吐槽功能(tucao),类似于小黄鸡,在群中通过发送!learn {ha}{哈哈}语句,则机器人检测到发言中包含“ha”时将自动回复“哈哈”。!delete {ha}{哈哈}可以删除该内容。吐槽内容本地保存在data/tucao_save/中。 群聊复读功能(repeat),检测到群聊中连续两个回复内容相同,将自动复读该内容1次。 群聊关注功能(follow),使用命令!follow qq号可以使机器人复读此人所有发言(除命令外)使用命令!unfollow qq号解除关注。qq号处可使用"me"来快速关注与解除关注自己,例:!follow me 群聊唤出功能(callout),群聊中检测关键词智障机器人,若发言中包含该词,将自动回复干嘛(‘·д·),此功能一般用于检测机器人状态与调戏 群聊命令功能(command_0arg/command_1arg):使用![命令名]格式或![命令名] {参数1}执行命令,命令“吐槽列表”,使用命令!吐槽列表在群聊中激活,列出当前群的吐槽列表。 !删除关键字 {blablabla}:删除关键字“blablabla”下的所有吐槽内容 !吐槽列表:列出当前群的吐槽列表 现有无参数命令: 现有单参数命令: 私聊功能: 私聊唤出功能(callout),私聊中检测关键词智障机器人,若发言中包含该词,将自动回复干嘛(‘·д·),此功能一般用于检测机器人状态与调戏 私聊复读功能(repeat),检测到私聊中连续两个回复内容相同,将自动复读该内容1次。 临时对话功能: 唤出功能(callout),具体同私聊与群聊。   标签:smartqq  smartqqbot