返回

用 JavaScript 开发一个免费托管的钉钉 ChatGPT 机器人

前端

大家好,欢迎来到本文,我们将深入探讨如何使用 JavaScript 创建一个令人惊叹的钉钉 ChatGPT 机器人,完全免费托管!

序幕

在当今快速发展的技术格局中,聊天机器人已成为一种不可或缺的工具,用于增强客户服务、自动化任务,甚至充当虚拟助手。其中,ChatGPT 因其令人难以置信的对话能力和丰富的知识库而脱颖而出。

为了帮助您充分利用 ChatGPT 的强大功能,我们将指导您完成使用 JavaScript 构建一个钉钉聊天的机器人,您可以免费托管。无论您是初学者还是经验丰富的开发人员,本教程都将引导您完成整个过程,并提供所有必要的代码片段和资源。

先决条件

在开始之前,确保您具备以下先决条件:

  • 对 JavaScript 有基本的了解
  • 一个钉钉帐户
  • 一个 GitHub 帐户

第 1 步:创建钉钉机器人

  1. 登录您的钉钉帐户并导航到“机器人管理”页面。
  2. 单击“创建机器人”按钮并选择“自定义机器人”。
  3. 为您的机器人命名并设置头像。
  4. 复制机器人 webhook URL。

第 2 步:创建 GitHub 存储库

  1. 登录您的 GitHub 帐户并创建一个新存储库。
  2. 将存储库命名为“钉钉-ChatGPT-机器人”。
  3. 初始化一个新的 Git 存储库,并提交一个初始 README.md 文件。

第 3 步:编写 JavaScript 代码

  1. 在您的 GitHub 存储库中创建一个名为“index.js”的新文件。
  2. 粘贴以下代码:
const fetch = require("node-fetch");

// 您的钉钉机器人 webhook URL
const webhookUrl = "YOUR_WEBHOOK_URL";

// 处理钉钉发来的消息
app.post("/webhook", async (req, res) => {
  // 获取消息内容
  const message = req.body.text;

  // 向 ChatGPT 发送消息
  const response = await fetch(
    "https://chatgpt.com/sendMessage",
    {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        message: {
          content: message,
        },
      }),
    }
  );

  // 获取 ChatGPT 的回复
  const chatgptResponse = await response.json();

  // 将回复发送回钉钉
  const reply = {
    msgtype: "text",
    text: {
      content: chatgptResponse.messages[0].content,
    },
  };

  fetch(webhookUrl, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(reply),
  });

  res.sendStatus(200);
});

第 4 步:部署到 Netlify

  1. 在您的 GitHub 存储库中,单击“部署”选项卡。
  2. 选择“Netlify”并单击“部署”。
  3. Netlify 将构建并部署您的应用程序。
  4. 复制部署 URL。

第 5 步:配置钉钉机器人

  1. 返回到钉钉“机器人管理”页面。
  2. 选择您的机器人并单击“编辑”。
  3. 在“消息接收配置”部分,将“接收消息类型”设置为“全部消息”。
  4. 在“消息加解密”部分,选择“不加密”。
  5. 在“消息处理 URL”字段中,粘贴您的 Netlify 部署 URL。
  6. 单击“保存”。

第 6 步:测试机器人

  1. 打开钉钉聊天窗口。
  2. 输入“@机器人名称 [您的问题]”。
  3. 机器人将回复 ChatGPT 的答案。

结束语

恭喜您,您已经成功创建了一个用 JavaScript 编写的免费托管钉钉 ChatGPT 机器人!现在,您可以尽情享受与 ChatGPT 对话的乐趣,直接在钉钉聊天中。如果您遇到任何问题,请随时留言,我会尽我所能提供帮助。

希望这篇文章能激发您进一步探索人工智能和聊天机器人的潜力。保持联系,了解更多精彩教程和项目!