扩展功能
请参见 el-bot-template/package.json scripts
字段。
全局安装
你也可以通过全局安装 el-bot 的方式以使用 el-bot 的命令行。
npm install -g el-bot
# yarn global add el-bot
# 安装 mirai
el install mirai
# 启动 mirai
el start mirai
# 启动机器人
el bot
Webhook
WARNING
此部分现已集成至 el-bot 本身。
想要使用该功能,请确保您已放通服务器的对应端口。
譬如当我们推送自己的机器人代码到 GitHub 上时,服务器将监听 GitHub 仓库消息,并拉取代码重启机器人。
配置
你需要将你的配置放在 git 仓库中,并设置 Webhooks。
https://github.com/用户名/仓库/settings/hooks
Payload URL
: 填写你的服务器地址加端口号加/webhook
(默认 7777)例如:
http://1.2.3.4:7777/webhook
Content type
: application/json
收到推送后,将会自动拉取新的配置并重启机器人。
你可以通过以下配置决定是否启用它。
// el/index.js
module.exports = {
webhook: {
enable: true,
path: "/webhook",
port: 7777,
secret: "el-psy-congroo"
}
};
自定义
你可以在插件中通过 ctx.webhook.githubHandler
来获得 githubHandler 并进一步对其扩展。
监听
通过 ctx.webhook.on
监听对应类型的消息。
使用其他程序发送 POST 或 GET 请求。
POST http://你服务器的IP地址:7777
Content-Type: application/json
{ "type": "is-teacher-here", "isHere": 1 }
或
GET http://你的服务器IP地址:7777?type=is-teacher-here&isHere=1
监听该请求,并进行响应。
module.exports = (ctx) => {
const mirai = ctx.mirai;
ctx.webhook.on("is-teacher-here", (data) => {
const status = data.isHere ? "在" : "不在";
mirai.api.sendGroupMessage(status, 群号);
});
};