shell 脚本定时往钉钉群推送天气信息

1  第一步添加机器人,见怎么添加自定义机器人?-钉钉帮助中心

2 网上查找免费的天气url地址,url一般会要求传城市id或者城市名,可以网上查找;

3 我使用了jq插件,解析获取到的json值,网上下载,放在服务器指定目录;

#!/bin/bash
currentDate=`date "+%Y-%m-%d %H:%M:%S"`
#获取武汉市的天气
curl -o /data/weather.json 'https://api.help.bj.cn/apis/weather/?id=101200101'
weather=$(cat /data/weather.json)
#这里使用了jq工具解析 获取到的天气json文件中的具体值,可以网上下载,查询使用手法
city=$(/data/shell/jq  '.city' /data/weather.json)
lowTep=$(/data/shell/jq  '.temp' /data/weather.json)
#highTem=$(/data/shell/jq  '.weatherinfo.temp2' /data/weather.json)
wd=$(/data/shell/jq  '.wd' /data/weather.json)
weather=$(/data/shell/jq  '.weather' /data/weather.json)
echo $city市的当前气温:$lowTep,风力:$wd天气情况:$weather > ./wear.txt
info=$( cat /data/shell/wear.txt )
echo $info
# 注意token值需要填写你自己添加机器人的值,可以百度如何添加预警机器人并获取地址
webhook='https://oapi.dingtalk.com/robot/send?access_token=XXXXX'

# isAtAll 设置成true 会@所有人
curl $webhook -H 'Content-Type: application/json' -d "
    {
        'msgtype': 'text',
        'text': {
            'content': '温馨提示:$info\n北京时间:$currentDate\n'
        },
        'at': {
            'isAtAll': false
        }
    }"

4 效果如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以为您提供一些建议: 1. 使用shell脚本调用API,将执行结果发群中。 2. 使用Python脚本模拟登录账号,将执行结果发群中。 3. 使用shell脚本执行结果,通过消息队列发群中。 4. 使用curl命令将shell脚本的执行结果发群中。 ### 回答2: 编写一个shell脚本,将执行结果系统的消息群组中。实现这个目标,可以使用提供的开放API接口来发消息。 首先,我们需要在开放平台上创建一个自定义机器人,并记录下提供的Webhook地址。 然后,在shell脚本中,我们可以使用curl命令来发HTTP POST请求,将脚本的执行结果作为消息内容发群组。 以下是一个示例shell脚本,其中将"your_webhook"替换为自己创建的机器人Webhook地址: ```shell #!/bin/bash # 执行命令,并将结果保存到变量中 result=$(your_command) # 组装要发的消息内容 message="执行结果:${result}" # 发HTTP POST请求到机器人 curl -H "Content-Type: application/json" -X POST \ -d '{"msgtype": "text", "text": {"content": "'"${message}"'"}}' \ https://oapi.dingtalk.com/robot/send?access_token=your_webhook ``` 这个脚本首先执行一个命令,将其结果保存到变量中。然后,将这个结果作为消息内容,使用curl命令发HTTP POST请求到机器人的Webhook地址。发的消息类型为文本。 当脚本执行后,它将发执行结果到指定的群组中。你可以将命令替换为你想要执行的任何命令,以及自定义发的消息内容。 请确保在执行脚本之前,在你的机器人设置中验证了你的Webhook地址,并在脚本中替换“your_webhook”为你自己的Webhook地址。 ### 回答3: 脚本可以用于将shell脚本的执行结果发到指定的群组或用户。下面是一个简单的脚本示例: ```shell #!/bin/bash # 设置机器人webhook地址 webhook="https://oapi.dingtalk.com/robot/send?access_token=your_access_token" # 获取shell脚本执行结果 result=$(command_to_execute) # 构建JSON数据 data="{\"msgtype\": \"text\", \"text\": {\"content\": \"$result\"}}" # 使用curl发POST请求到机器人webhook地址 curl -H "Content-Type: application/json" -d "$data" $webhook ``` 在上面的示例中,首先需要设置机器人的webhook地址,将`your_access_token`替换为你的具体地址。然后,使用`command_to_execute`来替换为需要执行的shell命令,并将执行结果保存到`result`变量中。接下来,构建JSON数据,其中`content`字段为执行结果。最后,使用curl命令发POST请求并将数据发机器人的webhook地址。 使用该脚本,你可以将shell脚本的执行结果群组或用户中,方便实时查看执行情况和结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值