唤醒手腕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 地址(段)。通过这些方法,可以有效保护你的机器人不受恶意攻击

相关推荐
倪偲0011 小时前
livox/CustomMsg消息从ROS1 bag转换成ROS2
人工智能·机器人·自动驾驶
xwz小王子2 小时前
UniBYD:超越人类示教模仿的跨实体机器人操作学习统一框架
学习·算法·机器人·跨实体
weixin_446260853 小时前
Agentic Frontend: 灵活的AI助手与聊天机器人构建平台
人工智能·机器人
福客AI智能客服4 小时前
智能客服机器人:家居建材电商的场景化服务核心
大数据·人工智能·机器人
CES_Asia5 小时前
立即行动,锁定2026增长引擎:报名CES Asia机器人展,同步押注“具身智能”与亚洲市场
大数据·人工智能·百度·机器人
CICI131414135 小时前
中小企业如何选择焊接机器人品牌?
机器人
Deepoch5 小时前
从“功能机”到“智能体”:服务机器人的认知革命与产业重构
大数据·人工智能·科技·机器人·未来·具身模型·deepoc
沫儿笙5 小时前
弧焊机器人节气设备
人工智能·机器人
free-elcmacom6 小时前
机器学习高阶教程<6>推荐系统高阶修炼手册:混排、多任务与在线学习,解锁精准推荐新境界
人工智能·python·学习·算法·机器学习·机器人
qdprobot6 小时前
齐护机器人AiTallpro小智AI图形化编程Mixly Scratch MQTT MCP远程控制
人工智能·mqtt·机器人·图形化编程·ai对话·mcp·小智ai