唤醒手腕2025年最新钉钉开放平台钉钉机器人stream搭建部署详细教程(更新中)

钉钉开放平台

开放平台文档:https://open.dingtalk.com/document/resourcedownload/ding-card-interactive-card-building-platform-new

内部机器人:钉钉机器人搭建

企业内部机器人提供给开发者构建组织内部使用的机器人的能力,开发者可以通过配置企业内部机器人的配置项并调用相关接口向钉钉用户或者钉钉群内发送机器人消息,也可以接收从机器人向开发者组织的业务系统发送的消息。你可跟随本文完成企业内部机器人的配置、开发和上架。

文档地址:https://open.dingtalk.com/document/robots/custom-robot-access?spm=a213l2.30158279.0.0.56525669JvjPsu

内部机器人:创建企业内部应用

https://open-dev.dingtalk.com/fe/app?hash=%23%2Fcorp%2Fapp%3FopenCreate%3Dtrue#/corp/app?openCreate=true

内部机器人:Stream 模式

文档地址:https://open.dingtalk.com/document/resourcedownload/introduction-to-stream-mode?spm=a2q3p.21071111.0.0.31675mkf5mkf5M

Stream 模式是钉钉开放平台提供的一种集成方式,它可以监听机器人回调、事件订阅回调和注册卡片回调。使用 Stream 模式接入,钉钉开放平台将通过 Websocket 连接与应用程序通讯,Stream 模式将极大降低接入门槛和资源依赖,不需要公网服务器、IP、域名等资源,只需集成钉钉开放平台 SDK 即可。

在 Stream 模式下,开发者的应用程序通过集成 SDK 的方式与钉钉开放平台建立一条 WebSocket 连接,建立连接过程中开放平台将对连接进行鉴权。当有卡片回调发生时,开放平台将通过 WebSocket 连接将数据通知到开发者的应用程序。开发者的应用程序可以接收到这些数据并进行相应处理,从而实现与钉钉开放平台的实时通信。

安装 SDK

clike 复制代码
pip install dingtalk-stream
复制代码
# !/usr/bin/env python

import argparse
import logging
from dingtalk_stream import AckMessage
import dingtalk_stream

def setup_logger():
    logger = logging.getLogger()
    handler = logging.StreamHandler()
    handler.setFormatter(
        logging.Formatter('%(asctime)s %(name)-8s %(levelname)-8s %(message)s [%(filename)s:%(lineno)d]'))
    logger.addHandler(handler)
    logger.setLevel(logging.INFO)
    return logger


def define_options():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        '--client_id', dest='client_id', required=True,
        help='app_key or suite_key from https://open-dev.digntalk.com'
    )
    parser.add_argument(
        '--client_secret', dest='client_secret', required=True,
        help='app_secret or suite_secret from https://open-dev.digntalk.com'
    )
    options = parser.parse_args()
    return options


class CalcBotHandler(dingtalk_stream.ChatbotHandler):
    def __init__(self, logger: logging.Logger = None):
        super(dingtalk_stream.ChatbotHandler, self).__init__()
        if logger:
            self.logger = logger

    async def process(self, callback: dingtalk_stream.CallbackMessage):
        incoming_message = dingtalk_stream.ChatbotMessage.from_dict(callback.data)
        expression = incoming_message.text.content.strip()
        try:
            result = eval(expression)
        except Exception as e:
            result = 'Error: %s' % e
        self.logger.info('%s = %s' % (expression, result))
        response = 'Q: %s\nA: %s' % (expression, result)
        self.reply_text(response, incoming_message)

        return AckMessage.STATUS_OK, 'OK'

def main():
    logger = setup_logger()
    options = define_options()

    credential = dingtalk_stream.Credential(options.client_id, options.client_secret)
    client = dingtalk_stream.DingTalkStreamClient(credential)
    client.register_callback_handler(dingtalk_stream.chatbot.ChatbotMessage.TOPIC, CalcBotHandler(logger))
    client.start_forever()


if __name__ == '__main__':
    main()

usage: main.py [-h] --client_id CLIENT_ID --client_secret CLIENT_SECRET
main.py: error: the following arguments are required: --client_id, --client_secret

python .\main.py --client_id xxxxxx --client_secret xxxxxx
2025-10-14 04:47:03,378 dingtalk_stream.client INFO     open connection, url=https://api.dingtalk.com/v1.0/gateway/connections/open [stream.py:149]
2025-10-14 04:47:03,763 dingtalk_stream.client INFO     endpoint is {'endpoint': 'wss://wss-open-connection.dingtalk.com:443/connect', 'ticket': 'c58e29d9-a875-11f0-884b-5a20030ba585'} [stream.py:71]

互动卡片平台

文档地址:https://card.dingtalk.com/card-builder?spm=ding_open_doc.document.0.0.721e41694qaf1r&cardType=normal

自定义机器人:安全设置

为了确保自定义机器人使用过程的安全性,我们提供三种保护措施来保障你的自定义机器人安全运行。这些措施包括:设置自定义关键词、加签(使用签名加密)和 IP 地址(段)。通过这些方法,可以有效保护你的机器人不受恶意攻击

相关推荐
风合星语1 小时前
2026 机器人行业观察(一):现在入局机器人还来得及吗?——机会、门槛与技术人的切入点
网络·人工智能·机器人
willhu20083 小时前
ROS2:Microban 机器人仿真搭建
机器人
巨人网络通讯3 小时前
电话机器人有什么优缺点五款产品技术能力深度评测
机器人
拓维运动科技4 小时前
足式机器人环境适应性测试设备:从野外“碰运气”到实验室标准化考核的技术路径
机器人·六自由度运动模拟平台·足式机器人姿态稳定性验证设备·南京拓维运动·足式机器人复合环境模拟测试装置
深圳多奥智能一卡(码、脸)通系统4 小时前
AGV机器人 / AMR / 机器狗不同门类自动开门、过闸方案
机器人·agv·机器狗·门禁·梯控·门控·amr
DogDaoDao5 小时前
MotionWAM 深度解析:让视频世界模型跑进实时人形机器人全身控制
深度学习·机器人·大模型·音视频·人形机器人·视频大模型·motionwam
星云API|微信接口开发5 小时前
企业微信二次开发:外部群机器人如何实现消息自动收发与群聊识别
机器人·企业微信
Rocktech_ruixun15 小时前
机器人本地跑LLM大模型对主板硬件有什么要求?瑞迅科技RK3588/3568方案选型解析
人工智能·科技·嵌入式硬件·机器人·边缘计算
北京盟通科技官方账号18 小时前
高通 IQ-9075 部署 EC-Master 实战指南:环境构建与实时 Linux (RT) 系统烧录
人工智能·机器人·yocto·ethercat·ecmaster·盟通科技·rt kernel
kyle~1 天前
光流传感器
机器人·传感器