钉钉群消息机器人webhook提醒

import hmac
import hashlib
import base64
import time
import urllib.parse
import json
import urllib.request

SECRET = 'SEC9154556af9077521a7ab755acd280497adcd9107a25ad64a5c8a5034d7a87de0'
WEBHOOK_URL = 'https://oapi.dingtalk.com/robot/send?access_token=1087a294f181813e954f62eb03da59c54957d24e1bb0bf00b9665df2248e6875'

'''
消息内容常用Markdown格式:

标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

引用
> A man who stands for nothing will fall for anything.

文字加粗、斜体
**bold**
*italic*

链接
[this is a link](http://name.com)

图片
![](http://name.com/pic.jpg)

无序列表
- item1
- item2

有序列表
1. item1
2. item2
'''

def send_message(title: str, text: str, isAtAll: bool):
    timestamp = str(round(time.time() * 1000))
    secret = f'{SECRET}'
    secret_enc = secret.encode('utf-8')
    string_to_sign = '{}\n{}'.format(timestamp, secret)
    string_to_sign_enc = string_to_sign.encode('utf-8')
    hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
    sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
    url = f'{WEBHOOK_URL}&timestamp={timestamp}&sign={sign}'

    header = {
        "Content-Type": "application/json",
        "Charset": "UTF-8"
    }
    data = {
        "msgtype": "markdown",
        "markdown": {"title": title,
                     "text": text
                     },
        "at": {
            "isAtAll": isAtAll      # isAtAll:是否@所有人
        }
    }
    sendData = json.dumps(data)
    sendDatas = sendData.encode("utf-8")
    request = urllib.request.Request(url=url, data=sendDatas, headers=header)
    opener = urllib.request.urlopen(request)
    ret = opener.read()
    # 输出响应结果
    print(ret)

if __name__ == '__main__':
    send_message("this is title", 'this is message **bold**', True)

替换webhookurl和签名即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张凯的工作室

给我一块,我替你解决问题

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值