用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)

本文帮助你快速实现一个钉钉对话机器人,并在其中接入 ChatGPT 的能力,可以直接问它问题,也可以在群聊天中 at 它,返回 ChatGPT 的回答。(以下为效果截图)

用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)

全部源码

源码地址:aircode.cool/xspb3by9fs

通过本文你将学会

  1. 创建一个钉钉机器人
  2. 使用 AirCode 的「一键复制代码」功能,实现机器人聊天
  3. 将机器人接入 ChatGPT,实现智能对话

第一步:创建钉钉机器人

  1. 进入钉钉开发者后台,选择应用开发 > 企业内部开发,点击创建应用按钮,在弹出的对话框中输入名称、简介等信息,完成应用创建。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 在创建好的应用页面中,点击左侧菜单的应用功能 > 消息推送,并打开机器人配置
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 在机器人配置的表单中,依次填入机器人名称、机器人图标、机器人简介、机器人描述和机器人消息预览图,并点击发布按钮完成发布。

    注意:由于钉钉的安全策略,机器人名称中不要包含「ChatGPT」关键字,否则后续无法正常调用。

用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 发布成功后,进入基础信息 > 应用信息,可以看到 AppKey 和 AppSecret,点击复制备用。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)

第二步:创建 AirCode 应用

  1. 点击此页面右上角的 Get a copy,这会基于此模板创建一个你自己的应用。如果没登录的话,可能会先跳转到登录页面,推荐使用 GitHub 登录,会快一些。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 在弹出的对话框中,输入应用名称,并点击 Create 完成创建。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 钉钉开发者后台中机器人的 AppKey 和 AppSecret,粘贴到 AirCode 应用的环境变量(Environments)中。在 DING_APP_KEY 的 value 中填入 AppKey,在 DING_APP_SECRET 的 value 中填入 AppSecret。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 点击顶部的 Deploy 按钮,部署整个应用,使配置生效。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)

第三步:配置机器人接口和权限

  1. 部署成功后,选择调用文件 chat.js,可以在编辑器函数名称下看到调用 URL,点击复制 URL。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 进入钉钉开发者后台中刚刚创建的机器人页面,在应用功能 > 消息推送中,将调用 URL 填写到消息接收地址项,并点击发布
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 进入基础信息 > 权限管理,在搜索框中输入「企业内机器人发送消息权限」,会看到列表中找到了对应的权限,点击右侧的申请权限按钮,完成权限配置。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)

第四步:测试聊天机器人

  1. 完成配置后,在钉钉的聊天窗口中可以搜到机器人进行私聊,或者将机器人加入到群中 at 机器人聊天。此时机器人已经可以对话了,但由于还没有配置 ChatGPT 能力,所以机器人会回复告知需要配置 OPENAI_KEY。

    提示:如果你的机器人返回了类似于「系统正在维护,无法使用 @ 能力」的回复,说明你的机器人名称或简介中包含了「ChatGPT」关键字,被钉钉屏蔽了,更改一下名称或简介后,重新发布即可。

用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 在 AirCode 中选中 chat.js 函数,并点击右侧 Debug 标签下的 Mock by online request 按钮,在弹出对话框中可以看到刚才收到的请求,点击 Use this to debug 则可以使用线上真实的请求数据来调试。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)

第五步:接入 ChatGPT 能力

  1. 登录到你的 OpenAI 控制台中(如果还没有账号,需要注册一个),进入 API Keys 页面,点击 Create new secret key 创建一个密钥。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 在弹出的对话框中,点击复制图标,将这个 API Key 复制并保存下来。注意:正确的 API Key 都是以 sk- 开头的字符串。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 进入刚才创建好的 AirCode 应用中,在 Environments 标签页,将复制的 API Key 的值填入 OPENAI_KEY 这一项的 value 中。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
  1. 再次点击 Deploy 部署应用后,可以在钉钉中测试。目前 ChatGPT 服务比较慢,尤其是模型版本越高级、问题越复杂,ChatGPT 服务的返回时间会越长。
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)
用 JavaScript 开发钉钉 ChatGPT 机器人,手把手教程(含全部源码,免费托管)

问题反馈

  1. 可以加入我们的钉钉用户群
  2. 我们的 GitHub 仓库,可以提 issue 或者直接贡献代码
  3. 欢迎加入我们的 Discord 讨论区
  4. 也可以直接发邮件给我们 support@aircode.io

更多阅读

原文链接:https://juejin.cn/post/7216631742085496887 作者:尼奥

(0)
上一篇 2023年4月3日 下午5:08
下一篇 2023年4月4日 上午10:00

相关推荐

发表评论

登录后才能评论