云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

钉钉群聊中机器人发送的卡片消息内容能否实现@指定人员操作?

在钉钉群聊中,机器人发送的卡片消息内容可以实现@指定人员操作,通过使用钉钉的自定义机器人功能,可以编写代码实现在卡片消息中@指定人员的功能,下面将详细介绍如何实现这一操作。

(图片来源网络,侵删)

1、创建自定义机器人

需要在钉钉管理后台创建一个自定义机器人,登录钉钉管理后台,点击左侧导航栏的“工作台”,然后选择“自定义机器人”,点击“新建机器人”按钮,填写机器人的名称、头像和描述,并设置机器人的权限,完成创建后,会生成一个机器人的Webhook地址。

2、编写代码实现@指定人员功能

接下来,需要编写代码实现在卡片消息中@指定人员的功能,可以使用Python语言进行开发,使用requests库发送HTTP请求到钉钉的Webhook地址,以下是一个简单的示例代码:

import requests
import json
def send_dingtalk_message(webhook, message):
    headers = {'ContentType': 'application/json'}
    data = {
        "msgtype": "text",
        "text": {
            "content": message
        },
        "at": {
            "isAtAll": False,
            "atMobiles": [
                {"userid": "1234567890", "isAtAll": False}  # 指定人员的手机号
            ],
            "isAtUserIds": False,
            "atUserIds": [],
            "isAtDepartmentIds": False,
            "atDepartmentIds": [],
            "isAtTagIds": False,
            "atTagIds": [],
            "isAtMentionedUsers": False,
            "atMentionedUsers": [],
            "isAtUnionIds": False,
            "atUnionIds": [],
            "isAtEnterpriseIds": False,
            "atEnterpriseIds": [],
            "isAtVerifiedUserIds": False,
            "atVerifiedUserIds": [],
            "isAtStarLevels": False,
            "atStarLevels": [],
            "isAtCustomKeywordIds": False,
            "atCustomKeywordIds": [],
            "isAtExternalUserIds": False,
            "atExternalUserIds": [],
            "isAtDingtalkGroupids": False,
            "atDingtalkGroupids": [],
            "isAtDingtalkRoomids": False,
            "atDingtalkRoomids": [],
            "isAtOnlineOnly": False,
            "atOnlineOnly": False,
            "isAtNotOnlineUsers": False,
            "atNotOnlineUsers": [],
            "isAtSpecifiedDepartmentUsers": False,
            "atSpecifiedDepartmentUsers": [],
            "isAtLeaveUsers": False,
            "atLeaveUsers": [],
            "isAtMeetingUsers": False,
            "atMeetingUsers": [],
            "isAtTempSessionUsers": False,
            "atTempSessionUsers": [],
            "isAtScheduledSessionUsers": False,
            "atScheduledSessionUsers": [],
            "isAtPermSessionUsers": False,
            "atPermSessionUsers": [],
            "isAtQueueUsers": False,
            "atQueueUsers": [],
            "isAtWaitQueueUsers": False,
            "atWaitQueueUsers": [],
            "isAtLineupUsers": False,
            "atLineupUsers": [],
            "isAtServiceCenterUsers": False,
            "atServiceCenterUsers": [],
            "isAtHotlineUsers": False,
            "atHotlineUsers": [],
            "isAtSensitiveWordUsers": False,
            "atSensitiveWordUsers": [],
            "isAtLabelIds": False,
            "atLabelIds": [],
            "isAtPostTypes": False,
            "atPostTypes": [],
        }
    }
    response = requests.post(webhook, headers=headers, data=json.dumps(data))
    return response.json()['errcode'] == 0 and response.json()['errmsg'] == 'ok'

在上述代码中,send_dingtalk_message函数接收两个参数:webhook是钉钉机器人的Webhook地址,message是要发送的消息内容,在data字典中,at字段用于指定要@的人员信息,可以根据需要修改atMobiles字段的值,实现@指定人员的手机号,调用requests.post方法发送HTTP请求,如果返回结果中的errcode为0且errmsg为’ok’,则表示消息发送成功。

3、调用代码发送卡片消息@指定人员

在实际应用中,可以将上述代码集成到自己的系统中,根据需要调用send_dingtalk_message函数发送卡片消息@指定人员,可以在系统收到某个事件触发时,调用该函数发送卡片消息给指定的人员,以下是一个示例:

webhook = "https://oapi.dingtalk.com/robot/send?access_token=your_access_token"  # 替换为实际的Webhook地址和访问令牌
message = "这是一条卡片消息,@张三同学请查收。"  # 替换为实际的消息内容和@指定人员的姓名或手机号
result = send_dingtalk_message(webhook, message)  # 调用函数发送消息并获取结果
if result:  # 如果消息发送成功,执行相应的逻辑处理...else:  # 如果消息发送失败,执行相应的错误处理...

通过以上步骤,可以实现在钉钉群聊中机器人发送的卡片消息内容@指定人员的操作,需要注意的是,在实际使用中,还需要根据具体需求对代码进行适当的修改和优化,还需要确保钉钉机器人的权限设置正确,以便能够正常发送消息。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《钉钉群聊中机器人发送的卡片消息内容能否实现@指定人员操作?》
文章链接:https://www.yunzhuji.net/jishujiaocheng/62692.html

评论

  • 验证码