n8n自动推送天气信息到企业微信
n8n自动推送天气信息到企业微信
前两天查了一下API自动化平台,发现目前已有的方案是按使用量收费,腾讯互联免费的版本每月仅有500条额度,完全不够用,于是一番冲浪发现了n8n
这个开源自动化平台
万丈高楼平地起
第一步当然是启动docker咯
Docker | n8n Docs
具体启动教程不再赘述,官网教程中介绍的是docker启动
可以到github手动拉取最新代码,使用docker compose启动容器
下面使用了镜像地址mirror.ghproxy.com
git clone https://mirror.ghproxy.com/github.com/n8n-io/n8n.git
docker-compose文件在目录n8n/docker/compose/withPostgres
下,compose
下一共有三个目录,按需选择
问题点
启动服务后添加webhook发现默认的地址是localhost+端口号,复制下来测试还需要手动修改,太麻烦了
在docker-compose.xml内services.n8n.environment
下添加一条:
- N8N_HOST= 域名/ip+port
重新启动容器效果就正常了
编写工作流
说是编写工作流,其实就是点点点,先添加cron节点,按照需求编写即可,比如我的触发间隔是每天一次,每天早上10点执行后面的操作
获取天气信息
发起http请求获取天气,这里使用到的是开源项目 wttr.in
,文档地址:GitHub - chubin/wttr.in: :partly_sunny: The right way to check the weather
根据文档,明确获取某城市天气的url为 wttr.in/城市名
,效果图:
在n8n
内添加http
请求节点,因为上面返回的是图形,我们需要文字信息,因此根据文档,拼接url
返回json
格式的文档,并且要求返回语言为中文,因此最终url为 https://v2.wttr.in/城市名?format=j1&&lang=zh-cn
,填写好后点击右上角Test step
,效果图:
推送到企业微信
新建企业微信机器人,获取webhook
地址,根据企业微信群机器人的文档群机器人配置说明 - 文档 - 企业微信开发者中心编写http请求
拖动左边的变量可以把上一步获取到的天气信息放入要发送的json
中,傻瓜式操作
填写完成后点击右上角Test step
测试步骤,微信群聊收到消息即为成功
简单美化
只有文字太low了,加一张图片,使用必应每日一图,请求地址为cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
将请求到的信息拼接进url里即完成,最终效果图:
总结
少数派有一篇文章详细介绍了滴答清单同步Notion的案例,推荐阅读
基于 n8n 的开源自动化:以滴答清单同步 Notion 为例 | 少数派会员 π+Prime
如果自己有服务器的话,确实可以做很多有趣的事情,没有服务器也可以使用现成的内网穿透方案,把服务映射出去
对于没有企业微信的小伙伴,可以使用gotify
或者 微信server酱
等进行推送,或是使用wechaty
等微信机器人方案编写一个属于自己的微信机器人