介绍
@cranburi/cranburi-bot
是一款基于 Node.js 的聊天机器人。它可以与用户进行自然语言交互,帮助用户完成一些简单或复杂的任务。该包可以帮助前端工程师快速构建自己的聊天机器人,解决一些简单的问题,例如查询天气、翻译、计算等等。
安装
可以通过以下命令安装:
npm i @cranburi/cranburi-bot
使用
创建机器人
首先,需要使用 @cranburi/cranburi-bot
创建一个机器人:
const { createBot } = require('@cranburi/cranburi-bot'); const bot = createBot();
添加回复
添加回复需要调用 addReply
函数。可以使用正则表达式来匹配用户输入的内容。当用户的输入与正则表达式匹配成功,机器人就会给用户进行回复。例如:
bot.addReply(/你好/, () => { return '你好!'; });
上述代码表示当用户输入的内容中含有“你好”两个字,机器人会回复“你好!”。
你还可以通过第一个参数来传递一个函数,该函数将解析用户的输入并返回一个响应。例如:
bot.addReply(/\b天气\b/, (message) => { const city = message.text.replace(/.*\b天气\b/gi, '').trim(); // 查询天气 return getWeather(city); });
上述代码表示当用户输入的内容中含有“天气”两个字,机器人会使用 getWeather
函数查询指定城市的天气情况。
配置参数
可以对机器人进行一些基本的配置,例如设置命名空间、音量和语速等。可以调用 setConfig
函数来实现。例如:
// 设置命名空间 bot.setConfig('namespace', 'test'); // 设置音量和语速 bot.setConfig({ volume: 50, speed: 1.5, });
你还可以在添加回复时指定配置参数,这些参数将覆盖机器人的默认参数。例如:
bot.addReply(/\b天气\b/, getWeather, { namespace: 'weatherBot', volume: 70, });
上述代码表示当用户输入的内容中含有“天气”两个字,机器人会使用 getWeather
函数查询指定的城市天气情况。在使用 getWeather
函数时,机器人的命名空间将为“weatherBot”,音量为70。
运行机器人
最后,需要调用机器人的 run
函数开始运行机器人:
bot.run();
示例
下面是一个完整的示例代码:
-- -------------------- ---- ------- ----- - --------- - - ---------------------------------- ----- ------- - ------------------- ----- --- - ------------ -------------------------- --------- --------------- ------- --- ------ ---- --- ------------------ -- -- - ------ ------------ --- ---------------------- --------- -- - ----- ---- - ---------------------------------- ----------- -- ---- ------ ----------------- --- -------- ---------------- - ----- --- - ---------------------------------------------------------------------------------------------------------- ------ --- ----------------- ------- -- - ------------ ----- ---- ----- -- - -- ----- - ------------ - ---- - ---------------------------- - --- --- - -------- ------------------ - ----- ---- - ----------------- ----- ------- - --------------------- ----- ----------- - --------------- - ------------------- ----- -------- - ------------------- ------ -------------------------------------------------------- - ----------
该代码将创建一个名为“myBot”的机器人,它可以回复“你好!”和查询指定城市的天气情况。在使用前需要设置对应的环境变量或者修改代码中的 appid
值。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/111724