[Huginn]我在 slack 发条消息,然后我的 vps 就重启了

需求

有时候重启 vps,需要登录在网页上操作,很麻烦,查了下有相关的 api 做这个事,最好是我在 slack 里发条消息(重启 xx 主机),然后自动重启.

重点

实现的重点是 怎么让 Huginn 收到 slack 的消息,huginn 上的 slack agent 是发送消息到 slack, 而不能反过来,查了下 slack 文档,能实现的是 bot 和 app,决定采用 app

实现

首先在 huginn 创建 WebhookAgent,options 如下:

{
  "secret": "123456",//这里随便填
  "expected_receive_period_in_days": 1,
  "payload_path": ".",
  "code": "200",
  "response": "{{challenge}}"
}

response 必须是{{challenge}},然后创建,可以看到 webhook api url ,一般是这种形式 http://1.2.3.4/users/1/web_requests/1/123456, 记下来,下一步会用.
然后在 slack 创建 app, 然后创建 Event Subscriptions,

[Huginn]我在 slack 发条消息,然后我的 vps 就重启了_第1张图片
image.png

然后填上上一步的 url, 添加 event, 填写 url 后会检查,如果失败,请检查上一步创建的 agent.
[Huginn]我在 slack 发条消息,然后我的 vps 就重启了_第2张图片
image.png

install APP, 然后授权下
[Huginn]我在 slack 发条消息,然后我的 vps 就重启了_第3张图片
image.png

以上步骤就 ok 了,然后你在公共 channel 里发条消息,检查下 agent events 有没有相关 event,类似这样:
image.png

然后写一个 trigger agent 过滤出 重启 的消息,然后传递给一个 Post agent去调用 vps 的 API,测试下就 ok 了.

你可能感兴趣的:([Huginn]我在 slack 发条消息,然后我的 vps 就重启了)