使用钉钉和企业微信的群聊机器人可以进行消息推送,这篇文章使用一个简单的脚本来说明其使用方式。
推送消息的方法
钉钉或者企业微信的群机器人都可提供消息推送的功能,相关的机器人的添加和消息推送的方法可以参看:
- 企业微信:https://liumiaocn.blog.csdn.net/article/details/103733013
- 钉钉:https://liumiaocn.blog.csdn.net/article/details/103740826
常见的使用方法
消息推送钉钉和企业微信都支持多种方式,以下为具体的使用示例
- 企业微信:https://liumiaocn.blog.csdn.net/article/details/103740661
- 钉钉:https://liumiaocn.blog.csdn.net/article/details/103750906
通用消息推送示例代码
liumiaocn:chatops liumiao$ cat send_message.sh
#!/bin/sh
usage(){
echo "usage: $0 TYPE TITLE CONTENT [URL]"
echo " TYPE: wechat|dingtalk"
}
TYPE="$1"
TITLE="$2"
CONTENT="$3"
URL="$4"
CHAT_CONTENT_TYPE='Content-Type: application/json'
DEFAULT_PIC_URL="https://img-blog.csdnimg.cn/20191227152859635.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saXVtaWFvY24uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70"
DINGTALK_DEFAULT_WORDS=" [LiuMiaoMsg]"
if [ $# -lt 3 ]; then
usage
exit 1
fi
if [ _"${TYPE}" = _"wechat" ]; then
CHAT_WEBHOOK_URL='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key'
elif [ _"${TYPE}" = _"dingtalk" ]; then
CHAT_WEBHOOK_URL='https://oapi.dingtalk.com/robot/send?access_token'
else
usage
exit 1
fi
if [ _"${CHAT_WEBHOOK_KEY}" = _"" ]; then
echo "please make sure CHAT_WEBHOOK_KEY has been exported as environment variable"
usage
exit 1
fi
if [ _"${URL}" = _"" ]; then
URL="https://liumiaocn.blog.csdn.net/article/details/103740661"
fi
echo "## send message for : ${TYPE}"
if [ _"${TYPE}" = _"wechat" ]; then
curl "${CHAT_WEBHOOK_URL}=${CHAT_WEBHOOK_KEY}" \
-H "${CHAT_CONTENT_TYPE}" \
-d '
{
"msgtype": "news",
"news": {
"articles" : [
{
"title" : "'"${TITLE}"'",
"description" : "'"${CONTENT}"'",
"url" : "'"${URL}"'",
"picurl" : "'"${DEFAULT_PIC_URL}"'"
}
]
}
}'
elif [ _"${TYPE}" = _"dingtalk" ]; then
curl "${CHAT_WEBHOOK_URL}=${CHAT_WEBHOOK_KEY}" \
-H "${CHAT_CONTENT_TYPE}" \
-d '
{
"msgtype": "link",
"link": {
"text": "'"${CONTENT}${DINGTALK_DEFAULT_WORDS}"'",
"title": "'"${TITLE}"'",
"picUrl": "'"${DEFAULT_PIC_URL}"'",
"messageUrl": "'"${URL}"'"
}
}'
else
usage
exit 1
fi
liumiaocn:chatops liumiao$
使用方法说明
首先设定环境变量CHAT_WEBHOOK_KEY,执行命令如下
export CHAT_WEBHOOK_KEY=钉钉机器人或者企业微信机器人的token信息
使用示例:钉钉
liumiaocn:chatops liumiao$ sh send_message.sh dingtalk "Greetings from Liumiao" "Nice 2 c u. Here comes a lot of words..."
## send message for : dingtalk
{"errcode":0,"errmsg":"ok"}liumiaocn:chatops liumiao$
结果确认
使用示例:企业微信
liumiaocn:chatops liumiao$ sh send_message.sh wechat "Greetings from Liumiao" "Nice 2 c u. Here comes a lot of words..."
## send message for : wechat
{"errcode":0,"errmsg":"ok"}liumiaocn:chatops liumiao$
结果确认
示例脚本还可以在如下位置获取:
- https://github.com/liumiaocn/easypack/blob/master/chatops/send_message.sh