Shell脚本利用webhook机器人-发送群消息-到企业微信
· 技术积累 · Linux Shell 企业微信接口 webhook

使用shell脚本,利用群webhook机器人发送消息到企业微信群中,脚本支持文本,图片,文件 三种消息类型


需要用到jq命令,jq是一个json解析工具:jq官网

#!/bin/bash
# Author:jinchuang [https://me.jinchuang.org/archives/986.html]
# 群webhook机器人发送消息到企业微信群

# webhook地址
url="https://qyapi.weixin.qq.com/cgi-bin/webhook"
# key
key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# header参数
header="'Content-Type:application/json'"

# 执行提示
function tips(){
    if [ `jq -r .errcode` == "0" ];then echo -e "\033[32mok\033[0m";else echo -e "\033[31merror\033[0m";fi
}

# 上传临时素材
function file() {
    # 发送的文件路径
    upload_file="$f"
    # post 参数
    upload="-H 'Content-Type:multipart/form-data' -F 'filename=@$upload_file;type=application/octet-stream' $url/upload_media?key=$key&type=file"
    # 获取临时素材id
    media_id=`curl -s -X POST $upload|jq -r .media_id`
}

# 文本消息类型 [mentioned_list为@群成员id,为空则不@]
function send_text(){
    textmsg='{"msgtype":"text","text":{"content":"'$t'","mentioned_list":[""]}}'
    curl -s -H $header -d "$textmsg" "$url/send?key=$key"|tips
}

# 文件消息类型
function send_file(){
    filemsg='{"msgtype":"file","file":{"media_id":"'$media_id'"}}'
    curl -s -H $header -d "$filemsg" "$url/send?key=$key"|tips
}

# 图片消息类型
function send_img(){
    md5=`md5sum $f|awk '{print $1}'`
    base=`echo -n \`base64 $f\`|sed 's/[[:space:]]//g'`
    imgmsg='{"msgtype":"image","image":{"base64":"'$base'","md5":"'$md5'"}}'
    header="Content-Type:application/x-www-form-urlencoded"
    curl -s -H $header -d "$imgmsg" "$url/send?key=$key"|tips
}


# 发送消息到群
echo "
1、文本消息
2、文件消息
3、图片消息
"

read -p "请输入要发送的消息类型:" x

case $x in
1)
    read -p "输入文本内容:" t
    send_text
;;
2)
    read -p "输入文件路径:" f
    file && send_file
;;
3)
    read -p "输入图片路径:" f
    send_img
;;
*)
    echo "输入错误,执行结束"
;;
esac

执行过程结果图例

Shell脚本利用webhook机器人-发送群消息-到企业微信


本文最后更新时间 2024-03-30
文章链接地址:
https://me.jinchuang.org/archives/986.html
本站文章除注明[转载|引用],均为本站原创内容,转载前请注明出处
统计文本中每个字符出现的次数
Nali 离线ip数据库文件
苹果CMS v10内容管理系统搭建
bin/ld: Dwarf Error: found dwarf version '5', this reader only handles version 2, 3 and 4 information.

FastStoneCapture9.4汉化破解版 截屏+录屏软件

Shell脚本利用企业微信API-发送应用消息-到企业微信

留言列表

  1. 阿肯
    Windows 10 Google Chrome
    中国上海市电信

    大神能否指导一下具体如何实现,刚好最近有这个需求,谢谢了。

    1. Awking
      Windows 10 Google Chrome
      中国上海市电信

      把脚本里面的key换成你自己的就可以了

我要留言