当前位置: 首页 > article >正文

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

在这里插入图片描述
效果展示:
在这里插入图片描述


http://www.kler.cn/a/510029.html

相关文章:

  • 1.6 从 GPT-1 到 GPT-3.5:一路的风云变幻
  • 使用 Thermal Desktop 进行航天器热分析
  • HBASE学习(一)
  • 图数据库 | 19、高可用分布式设计(下)
  • 云消息队列 Kafka 版 V3 系列荣获信通院“云原生技术创新标杆案例”
  • Qiankun 微前端框架全面解析:架构、原理与最佳实践
  • 亚博microROS 机器人配置与控制
  • STM32 FreeRTOS内存管理简介
  • rhel7.9利用有网络环境打包ansible
  • 解决CSS中样式的优先级问题
  • Appium 检查安装的驱动
  • C# OpenCvSharp 部署3D人脸重建3DDFA-V3
  • SpringBoot项目打war包要点
  • Java基础——概念和常识(语言特点、JVM、JDK、JRE、AOT/JIT等介绍)
  • 【线性代数】行列式的概念
  • 【Web】2025西湖论剑·中国杭州网络安全安全技能大赛题解(全)
  • 【k8s】k8s部署Argo CD
  • HTML学习笔记(4)
  • SparkSQL数据源与数据存储综合实践
  • [Effective C++]条款47 萃取器
  • 洛谷P4017 最大食物链计数(图的拓扑排序)
  • 从新手到高手的蜕变:MySQL 约束进阶全攻略
  • vue 实现打印功能
  • 期望最大化算法:机器学习中的隐变量与参数估计的艺术
  • AIGC - 深度洞察如何对大模型进行微调以满足特定需求
  • RPA编程实践:Electron实践开始