不仅仅是"你好,世界":你的第一个实时JavaScript聊天机器人
\n\n聊天机器人已不再是极客的玩具。如今它是一种工作工具:从技术支持到披萨销售。如果你认为创建机器人需要掌握C++或Python,——我很高兴地告诉你。 用JavaScript创建聊天机器人是真实、快速且极其有趣的。
\n\n在本文中,我们不会讨论枯燥的理论。我们将动手构建一个完整的telegram bot javascript,它能回答问题、记住用户甚至开玩笑。然后我会展示如何轻松地将其转变为网站聊天机器人。
\n\n准备好了吗?那就打开你最喜欢的编辑器,安装Node.js,我们开始吧!
\n\n我们需要什么?
\n\n- \n
- Node.js(16+版本)——运行环境。可以从官方网站下载。 \n
- 任意代码编辑器——VS Code、WebStorm甚至记事本(但我不推荐)。 \n
- 耐心和一杯咖啡——剩下的交给JavaScript。 \n
作为测试平台,我们选择Telegram——它有简单的API和大量文档。之后你可以将代码适配到Discord、Slack或你自己的网站。
\n\n步骤1. 注册机器人并获取令牌
\n\n在编写代码之前,我们需要"创建"一个机器人。这通过Telegram的主机器人——@BotFather完成。
\n\n- \n
- 打开Telegram并找到BotFather。 \n
- 发送命令
/newbot。 \n - 想一个名字(例如MyFirstJBot)和一个用户名(必须以
bot结尾,例如my_first_js_bot)。 \n - 获取令牌——一串类似
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11的长字符串。这是你机器人的密码。 \n
将令牌保存在安全的地方。如果丢失了——你将不得不创建一个新机器人。
\n\n步骤2. 项目设置和安装依赖
\n\n创建一个项目文件夹并初始化npm:
\n\nmkdir my-telegram-bot\ncd my-telegram-bot\nnpm init -y\n\n现在安装node-telegram-bot-api库——这是创建node.js聊天机器人最流行的包:
\n\nnpm install node-telegram-bot-api\n\n完成。现在创建文件bot.js并在编辑器中打开它。
步骤3. 编写机器人的"骨架"
\n\n我们从最简单的开始——机器人将响应/start命令并重复用户发送的任何消息。
const TelegramBot = require('node-telegram-bot-api');\n\nconst token = '在此处输入你的令牌';\nconst bot = new TelegramBot(token, { polling: true });\n\nbot.onText(/\\/start/, (msg) => {\n const chatId = msg.chat.id;\n bot.sendMessage(chatId, `你好,${msg.from.first_name}!我是你的第一个JavaScript聊天机器人。有什么可以帮你的吗?`);\n});\n\nbot.on('message', (msg) => {\n const chatId = msg.chat.id;\n const text = msg.text;\n\n // 忽略命令,避免重复回复\n if (text.startsWith('/')) return;\n\n bot.sendMessage(chatId, `你写了:"${text}"。而我是回声机器人!`);\n});\n\n\n运行:
\n\nnode bot.js\n\n在Telegram中给机器人发消息——它会回复。恭喜!你刚刚创建了一个JavaScript聊天机器人。是的,目前它还很笨,但这只是开始。
\n\n步骤4. 添加逻辑:简单的FAQ机器人
\n\n回声机器人很快就会让人厌烦。让我们让机器人能够回答具体问题。这已经像一个真正的网站聊天机器人了。
\n\n创建一个简单的知识库,以对象形式:
\n\nconst faq = {\n '你好吗': '很好!你呢?',\n '你会做什么': '我可以回答简单问题并讲笑话。',\n '讲个笑话': '走着