lua Mirai机器人实现QQ自动续火
本文最后更新于 2021-07-25,文章内容可能已经过时。
Github
https://github.com/only52607/lua-mirai
Lua Mirai Doc
https://ooooonly.gitee.io/lua-mirai-doc/
Mirai官方文档
https://docs.mirai.mamoe.net/
开始之前务必看完文档
作为MiraiConsoleLoader插件运行
这里是把 Lua Mirai
作为 MCL
的插件运行
- 编译或下载最新版本
mirai console loader
- 配置
mirai console loader
环境,并将jar放入mirai console loader
插件目录。
目录结构
├─bots
│ └─QQ号
├─cache
├─config
│ ├─Console
│ └─lua-mirai
├─data
├─libs
├─plugins------插件目录
└─scripts
config.json
mcl------Linux运行
mcl.cmd------Windows运行
mcl.jar
基本指令
全部指令需在控制台下输入
/lua list 列出所有已加载脚本(包括已执行的和未执行的)。
/lua add <脚本路径> 载入一个脚本,但不执行。
/lua load <脚本路径> 载入一个脚本,并且执行。
/lua execute <脚本编号> 执行一个已经载入的脚本(如果已经被执行过,则忽略)。
/lua reload <脚本编号> 重新执行一个脚本(该操作会先停用脚本并重新从文件中读取内容并执行)。
/lua stop <脚本编号> 停用一个脚本(该操作会停止脚本内所有的事件监听器)。
/lua delete <脚本编号> 删除一个脚本(仅移出脚本列表,不删除文件) 。
编辑Lua脚本
在plugins目录下新建 ai.lua
编辑以下内容
Event.subscribe("BotOnlineEvent",function(event)
local bot = event.bot
bot:getFriend(要发送的QQ号):sendMessage("要发送的消息")
end)
注意使用 UTF-8
编码,不然发出的中文信息会乱码
运行
双击 mcl.cmd
运行
运行之后,使用自动登录指令添加自动登录的QQ号,并指定使用"ANDROID_PAD"协议登录
/AutoLogin add QQ号 QQ密码
autoLogin setConfig QQ号 protocol ANDROID_PHONE
或者编辑 /config/Console/AutoLogin.yml
accounts:
- # 账号, 现只支持 QQ 数字账号
account: QQ号
password: QQ密码
# 密码种类, 可选 PLAIN 或 MD5
kind: PLAIN
# 密码内容, PLAIN 时为密码文本, MD5 时为 16 进制
value:
# 账号配置, 可用配置列表 (注意大小写), 建议使用"ANDROID_PAD", 不会把手机QQ挤下线
# "protocol": "ANDROID_PHONE" / "ANDROID_PAD" / "ANDROID_WATCH"
# "device": "device.json"
configuration:
protocol: ANDROID_PHONE
device: device.json
添加插件:
/lua load plugins\\ai.lua
或者编辑 /config/lua-mirai/scripts.json
[
{
"type": "file",
"file": "plugins\\ai.lua",
"enable": true
}
]
完成之后只需要运行mcl.cmd就可以自动登录,并且自动发送消息
定时发送
定时发送消息只需要在 Windows计划任务
中定时运行 mcl.cmd
就可以了
每次运行之后,需要再定时杀掉 mcl.cmd
不然无法再次运行