在钉钉群聊中,机器人发送的卡片消息内容可以实现@指定人员操作,通过使用钉钉的自定义机器人功能,可以编写代码实现在卡片消息中@指定人员的功能,下面将详细介绍如何实现这一操作。
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.kdun.com/ask/568342.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复