Skip to content

结合 Wechaty,打造对话式机器人,适用于所有钉钉应用的开发者

License

Notifications You must be signed in to change notification settings

zhengxs2018/dingtalk-sdk-for-js

Repository files navigation

钉钉对话机器人

结合 Wechaty,打造对话式机器人,适用于所有钉钉应用的开发者


🔥 Github Wiki · 👾 Report Bug · 🌈 Request Feature

Note

钉钉官方有自己的 Stream SDk,如需更多钉钉功能支持,请关注此项目。

Warning

项目正在开发中,并且只支持 Node.js >= 18 的版本。

目录树

TOC


✨ 功能特性

  • 🚀 快速开始: 只需创建一个钉钉应用,即可轻松启动智能对话机器人。
  • 💡 细节内敛: 即使不看钉钉文档,也可快速开发一个钉钉机器人。
  • 💬 用户对话: 可接收用户私聊和群内被提及的消息,并发送消息回复对方。
  • 持续维护: 更多功能正在持续开发中,敬请期待。

📦 安装

要安装 SDK,请运行以下命令:

# With NPM
$ npm i -S @zhengxs/wechaty-puppet-dingtalk

# With YARN
$ yarn add @zhengxs/wechaty-puppet-dingtalk

# With PNPM
$ pnpm add @zhengxs/wechaty-puppet-dingtalk

👋 使用

创建一个 钉钉应用,并运行以下代码:

支持 企业应用第三方应用,可根据自身情况选择。

import { PuppetDingTalk } from '@zhengxs/wechaty-puppet-dingtalk';
import { log, WechatyBuilder } from 'wechaty';

const bot = WechatyBuilder.build({
  puppet: new PuppetDingTalk({
    clientId: process.env.DINGTALK_CLIENT_ID,
    clientSecret: process.env.DINGTALK_CLIENT_SECRET,
  }),
});

bot.on('message', async msg => {
  log.info('StarterBot', msg.toString());

  if (msg.text() === 'ding') {
    await msg.say('dong');
  }
});

bot.start();

⌨️ 本地开发

可以使用 GitHub Codespaces 进行在线开发:

或者使用以下命令进行本地开发:

$ git clone https://github.com/zhengxs2018/dingtalk-sdk-for-js.git
$ cd dingtalk-sdk-for-js
$ pnpm install

因 WebSocket 问题,导致每次编译都会重启,所以需要分2个终端启动:

# 终端一
# 启动依赖监听
$ pnpm watch

# 终端二
# 启用示例
$ pnpm dev

🔗 更多工具

  • AI SDK - 集成 百度文心一言,阿里通义千问,腾讯混元助手 和 讯飞星火认知 等国内大模型的 API,并且适配 OpenAI 的输入与输出。
  • 微信智能对话机器人插件 - 只需三步即可轻松创建一个智能对话机器人

🤝 参与贡献

我们非常欢迎各种形式的贡献。如果你对贡献代码感兴趣,可以查看我们的 GitHub Issues 大展身手,向我们展示你的奇思妙想。


📝 License

Copyright © 2023 zhengxs2018.
This project is MIT licensed.