python_在钉钉群@人员发送消息

python_在钉钉群@人员发送消息

1、第一种

企业内部机器人群聊实现@人接入指南,适用于@群机器人接收消息,处理完一系列的动作之后,将消息返回给发消息的人员,同时@该人员。

需要在企微后台新建一个自建应用,在自建应用里面添加机器人,再把该机器人拉进群。

复制代码
import requests
def send_msg_to_dingtalk(webhook_url,user_id,mes_content):

    data={
    "at": {
        "atUserIds":[user_id],
        "isAtAll": False
    },
    "text": {
        "content":mes_content
    },
    "msgtype":"text"
}
    result=requests.post(url=webhook_url,json=data)
    return result.json()

webhook_url="XXX"
user_id="XXX"
mes_content="你好,有什么需要帮助的么"

print(send_msg_to_dingtalk(webhook_url,user_id,mes_content))

效果展示:

2、第二种:

自定义机器人发送群消息,适用于没有前面接收群消息的步骤,只是发送群通知。跟影刀指令里面的"钉钉群通知"实现的原理和效果一样。

复制代码
import requests
import json
import base64
import time
import hmac
import hashlib

def generate_sign(secret, timestamp):
    """生成加签"""
    string_to_sign = f'{timestamp}\n{secret}'
    hmac_code = hmac.new(secret.encode("utf-8"), string_to_sign.encode("utf-8"), digestmod=hashlib.sha256).digest()
    sign = base64.b64encode(hmac_code).decode("utf-8")
    return sign
def send_msg_to_dingtalk(webhook_url,secret,user_id,mes_content):

    timestamp = str(round(time.time() * 1000))
    sign = generate_sign(secret, timestamp)

    post_url = '{}&timestamp={}&sign={}'.format(webhook_url, timestamp, sign)

    # 构造请求头
    headers = {
        'Content-Type': 'application/json'
    }

    payload = {
        "at":{
		    "isAtAll":"false",
		    "atUserIds":[user_id]},
        "text":{
            "content":mes_content
        },
        "msgtype":"text"}

    result=requests.post(url=post_url, headers=headers,data=json.dumps(payload))
    return result.json()

webhook_url="XXX"
secret="XXX"
user_id="XXX"
mes_content="你好,需要帮助么"

print(send_msg_to_dingtalk(webhook_url,secret,user_id,mes_content))

效果展示:

相关推荐
萧鼎2 小时前
深入理解 Python Scapy 库:网络安全与协议分析的瑞士军刀
开发语言·python·web安全
2501_915106322 小时前
移动端网页调试实战,iOS WebKit Debug Proxy 的应用与替代方案
android·前端·ios·小程序·uni-app·iphone·webkit
柯南二号3 小时前
【大前端】React Native 调用 Android、iOS 原生能力封装
android·前端·react native
可乐+冰03 小时前
Android 编写高斯模糊功能
android·人工智能·opencv
阿拉丁的梦4 小时前
教程1:用vscode->ptvsd-创建和调试一个UI(python)-转载官方翻译(有修正)
开发语言·python
名难取aaa5 小时前
celery solo acks_late得不到预期
python·celery
xzkyd outpaper6 小时前
Android中APK包含哪些内容?
android
蹦极的考拉6 小时前
网站日志里面老是出现{pboot:if((\x22file_put_co\x22.\x22ntents\x22)(\x22temp.php\x22.....
android·开发语言·php
大翻哥哥7 小时前
Python地理空间数据分析:从地图绘制到智能城市应用
开发语言·python·数据分析
安卓开发者7 小时前
Android Glide最佳实践:高效图片加载完全指南
android·glide