钉钉机器人实现卡片互动

目录

一、实现效果(需求)

二、代码实现


一、实现效果(需求)

本项目需求为@机器人后机器人自动回应,并且根据我的选项再次请求服务器,本次需求为文字版,其中返回内容为button,返回图片也试了,原理一样。

二、代码实现

1.创建钉钉可交互卡片模板

内容如下图,记得button可设置回传参数,选择按钮点击事件类型为回传请求,可动态设置返回值。

### 使用 Python 创建钉钉互动卡片 为了创建钉钉互动卡片,可以利用钉钉开放平台提供的 API 和 SDK 来简化开发过程。下面是一个简单的例子来展示如何通过 Python 发送带有交互功能的消息卡给指定群聊。 #### 安装依赖库 首先安装 `requests` 库用于发送 HTTP 请求: ```bash pip install requests ``` #### 导入必要的包并设置 Webhook URL 定义函数前先导入所需的模块,并配置好机器人的 Webhook 地址以及签名密钥(如果启用了安全验证)。 ```python import json import time from hashlib import sha256 from urllib.parse import quote_plus import hmac import base64 import requests def create_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=sha256).digest() sign = quote_plus(base64.b64encode(hmac_code)) return sign ``` #### 构建消息体结构 构建 JSON 格式的请求体,这里以按钮类型的 ActionCard 为例说明如何设计消息内容。 ```python webhook_url = "https://oapi.dingtalk.com/robot/send?access_token=your_access_token" secret = 'SECxxxxxxxxxxxxxx' # 如果设置了加签,则填写此处 if secret: timestamp = str(round(time.time() * 1000)) webhook_url += f"&timestamp={timestamp}&sign={create_sign(secret, timestamp)}" message_data = { "msgtype": "action_card", "action_card": { "title": "这是标题", "text": "这是一个测试\n\n#### 这是一级标题\n> **这是一些描述**\n\n![图片](http://www.example.com/image.png)", "btn_orientation": "0", "single_title": "查看详情", "single_url": "http://www.example.com/" } } ``` #### 发送 POST 请求至 DingTalk Server 最后一步就是向服务器发起 POST 请求并将响应打印出来查看结果。 ```python headers = {'Content-Type': 'application/json'} response = requests.post(webhook_url, headers=headers, data=json.dumps(message_data)) print(response.text) ``` 以上代码展示了如何使用 Python 实现基本的钉钉互动卡片的功能[^1]。需要注意的是,在实际应用中还需要考虑更多的细节处理,比如错误重试机制、安全性保障等。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值