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))

效果展示:

相关推荐
尤老师FPGA3 分钟前
petalinux修改设备树添加vdma生成linux系统
android·linux·运维
JHC0000008 分钟前
基于Ollama,Milvus构建的建议知识检索系统
人工智能·python·milvus
月山知了11 分钟前
linux kernel component子系统:基于rk3588 Android 14 kernel-6.1 display-subsystem代码分析
android·linux·运维
mOok ONSC13 分钟前
SpringBoot项目中读取resource目录下的文件(六种方法)
spring boot·python·pycharm
GIS兵墩墩1 小时前
postgis--PostgreSQL16及其plpython3u扩展
python·postgis
new Object ~1 小时前
LangChain的短期记忆存储实现
python·langchain
魔都吴所谓1 小时前
【Python】从零构建:IP地理位置查询实战指南
开发语言·python·tcp/ip
测试19981 小时前
使用Python自动化生成接口测试用例
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
智算菩萨2 小时前
【Pygame】第10章 游戏状态管理与场景切换机制
python·游戏·pygame
songcream12 小时前
TensorFlow的一些基本概念
人工智能·python·tensorflow