Whatsapp Bot API 快速构建 WhatsApp 机器人 ⚡ WhatsApp WikiBot

2025-05-25

Whatsapp Bot API快速构建 WhatsApp 机器人⚡

WhatsApp WikiBot

几个月前,我开始在Telegram上制作聊天机器人——我见过一些 WhatsApp 的 API,但它们是非官方的,而且你的号码有可能会被屏蔽📱❌

不久前,我看到Twilio有一个官方的 WhatsApp API。30 分钟后,我在 WhatsApp 上创建了一个维基百科机器人👇

这是一个教程,可以帮助你制作类似这样的程序,即你在 WhatsApp 上创建自己的聊天机器人——这些机器人可以立即供超过 20 亿用户使用,而且有很多可能性🎓

我迫不及待想看看你做了什么!现在,我们开始吧🏃‍♂️

🔑 账户和密钥

首先,注册Twilio - 它是免费的,你不需要信用卡💳

验证完您的电话号码后,选择 Procuts > Programmable SMS,然后继续命名您的项目。

您可以跳过添加队友的步骤 - 目前您不需要这些步骤。

现在您必须记下构建 WhatsApp 机器人所需的一些身份验证密钥👇

最后一步 -在这里设置您的 WhatsApp 沙盒- 选择任意号码,然后按照页面上的说明加入您的沙盒。

好了,你的凭证设置完成了!别担心,这是本教程中最难的部分 😛

🚀 入门

为了避免在设置上花费太多时间,我创建了一个环境(使用repl.it!),您可以在浏览器中使用。点击此处,等待几秒钟即可 fork 它。

接下来,创建一个.env文件1- 并在行和行上输入您的帐户 SID 和身份验证令牌2



SID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Account SID
KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Auth Token


Enter fullscreen mode Exit fullscreen mode

可以看到,此环境已安装依赖项并express设置了服务器。不过,我们仍然需要为 Twilio 提供一个 URL 来发送消息。

让我们回到WhatsApp Sandbox,并输入用于接收消息的 webhook URL。

此 URL 必须是您在repl.it项目的预览面板上看到的 URL +/incoming

现在我们终于可以读取发送给机器人的消息了。导航到Webhook 处理程序,index.js然后在其中添加一个简单的代码👇console.log()



app.post('/incoming', (req, res) => {
  console.log(req.body)
});


Enter fullscreen mode Exit fullscreen mode

当你向你的机器人发送消息时,你应该能够在你的 repl 控制台中看到类似的内容👨‍💻

构建一个 echo 机器人看起来就像这样,用来twiml写一条消息 👇



app.post('/incoming', (req, res) => {
    const twiml = new MessagingResponse();
    twiml.message(req.body.Body);
    res.writeHead(200, {'Content-Type': 'text/xml'});
  res.end(twiml.toString());
});


Enter fullscreen mode Exit fullscreen mode

但是,由于我们实际上正在尝试构建一个有用的机器人 - 让我们使用信息丰富的 API!

🌐 获取信息

DuckDuckGo 拥有出色的免费即时答案 API。它接收查询并返回来自 WikiPedia 等内容的摘要。

一些例子👉 WikiPediaMacbook AirTwilio

我花了一些时间创建了一个不错的解析器,它通常会从这个 API 返回信息。试着把这段代码粘贴到你的repl.it项目中,你的控制台应该会显示关于特朗普的信息 😛



var base = 'https://api.duckduckgo.com/?skip_disambig=1&format=json&pretty=1&q=';
var query = 'Donald Trump';

request(base + query, function (error, response, body) {
    body = JSON.parse(body)    
    if(body["Abstract"] == ""){
        body["Abstract"]= body["RelatedTopics"][0]["Text"]
      }   
    var msg = body["Heading"]+"\n\n"+body["Abstract"];
  console.log(msg)
  });


Enter fullscreen mode Exit fullscreen mode

很简单吧?😄

🛠️ 整合起来

为了制作我们真正的机器人,我们需要做的就是从我们的请求中获取查询 - 我们可以获取req.body.Body- 并用它twmil来发送我们在msg



app.post('/incoming', (req, res) => {
    const twiml = new MessagingResponse();
    var base = 'https://api.duckduckgo.com/?skip_disambig=1&format=json&pretty=1&q=';
    var query = req.body.Body;

    request(base + query, function (error, response, body) {
        body = JSON.parse(body)  

        if(body["Abstract"] == ""){
            body["Abstract"]= body["RelatedTopics"][0]["Text"]
          }   

        var msg = twiml.message(body["Heading"]+"\n\n"+body["Abstract"]);
            res.writeHead(200, {'Content-Type': 'text/xml'});
          res.end(twiml.toString());
      });

});


Enter fullscreen mode Exit fullscreen mode

现在,你拥有一个功能齐全的 WhatsApp 机器人了!发送任何你想知道的关于你的机器人的信息吧🤖,你应该会看到它回复得超级快💬⚡

添加欢迎消息和一些格式非常简单,查看最终的回复以了解我是怎么做的👨‍💻

🔗 分享机器人

为了让其他人使用此机器人,他们需要先加入你的沙盒 - 然后像你之前一样发送消息👉join <two-words>

您也可以使用此文本创建链接 - 例如,此链接可让您加入我的机器人👇



https://wa.me/14155238886?text=join ultramarine-tapir


Enter fullscreen mode Exit fullscreen mode

14155238886是我的机器人的号码,而ultramarine-tapir是沙盒短语。

⚡ 下一步是什么?

现在你已经知道如何在 WhatsApp 上构建机器人了,不妨试试给自己发通知,并构建更多实用的工具!Twilio 还有很多其他的通讯媒介!

我的 WikiBot 的所有代码都在Github上⬇️

GitHub 徽标 jajoosam / wikibot

WhatsApp 的 WikiPedia 机器人

WhatsApp WikiBot

由 Twilio WhatsApp API 和 DuckDuckGo Instant Search API 提供支持🤖

\゜o゜)ノ






我是一个 15 岁的创客👨‍💻想要制作更多酷炫的东西并随时了解我的进度,请订阅我的时事通讯📧

文章来源:https://dev.to/jajoosam/build-a-whatsapp-bot-fast--2hdc
PREV
巨型 Vue 应用
NEXT
JavaScript 设计模式综合指南