我会以目前最主流和功能最全的 WeChaty 框架为例,因为它支持个人号、公众号、企业微信等多种场景,且生态非常成熟。

核心概念
关键词回复的核心逻辑是:
- 监听消息:机器人需要时刻监听是否有新的消息发送给它。
- 获取消息内容:当收到消息时,获取消息的文本内容。
- 匹配关键词:将收到的文本内容与你预设的关键词列表进行匹配。
- 执行回复:如果匹配成功,就按照预设的规则回复指定的内容。
实现方式(从简单到复杂)
微信内置的“自动回复”功能(最简单)
这是微信官方提供的基础功能,无需任何编程。
- 适用场景:非常简单的、固定的回复。
- 优点:零成本,设置简单,官方稳定。
- 缺点:
- 功能极其有限,只能设置关键词回复和收到消息后自动回复。
- 无法执行复杂逻辑(如调用API、查询数据库等)。
- 是固定的,无法动态变化。
- 设置路径:
- 打开微信,进入
我->设置->朋友权限。 - 找到
自动回复,可以设置收到消息时的自动回复和添加朋友时的自动回复。 - 在
关键词回复中,可以添加关键词和对应的回复内容。
- 打开微信,进入
这只是一个“玩具”,无法满足真正的机器人开发需求。
使用现成的机器人平台(推荐新手)
市面上有很多成熟的SaaS平台,你只需要在网页上配置即可实现关键词回复,无需编写代码。

- 代表平台:
- 风变编程:提供图形化界面,拖拽即可搭建机器人流程。
- ChatGPT机器人平台:可以将ChatGPT接入微信,并在此基础上设置关键词触发特定指令。
- 其他第三方平台:搜索“微信机器人平台”可以找到很多选择。
- 优点:
- 开箱即用:注册登录后,按照引导绑定你的微信,即可在网页上配置关键词和回复。
- 可视化操作:通常有流程图或表格界面,非常直观。
- 稳定可靠:平台负责维护底层技术,你只需要关注业务逻辑。
- 缺点:
- 可能收费:高级功能或使用量通常需要付费。
- 功能受限:受限于平台提供的API,无法实现非常定制化的功能。
- 数据安全:你的聊天数据可能会经过第三方服务器。
自建机器人(功能最强大,推荐开发者)
这是最灵活、功能最强大的方式,你可以完全控制机器人的行为,实现任何你想要的功能,我们将重点介绍这种方法。
准备工作
- 一台可以24小时开机的服务器:可以是云服务器(如阿里云、腾讯云、Vultr等)或者一台一直开机的电脑。
- 一个微信号:建议使用一个专门用作机器人的微信号。
- 编程知识:需要了解 Node.js 和 JavaScript 基础。
- 选择一个框架:强烈推荐 WeChaty。
使用 WeChaty 实现关键词回复
WeChaty 是一个开源的微信个人号机器人框架,它封装了复杂的底层协议,让你可以专注于业务逻辑。
环境安装
- 安装 Node.js:访问 Node.js 官网 下载并安装LTS版本。
- 安装 WeChaty CLI:打开终端(命令行工具),运行:
npm install -g wechaty
编写机器人代码

创建一个新的文件夹,my-wechat-bot,然后在文件夹中创建一个 bot.js 文件。
下面是一个完整的、带有关键词回复功能的机器人代码示例:
// bot.js
const { Wechaty } = require('wechaty')
const QRCode = require('qrcode') // 用于在终端显示二维码
// 1. 初始化机器人
const bot = new Wechaty({
name: 'MyKeyWordBot', // 给机器人起个名字
puppet: 'wechaty-puppet-wechat', // 使用 puppet-wechat 协议(最稳定)
})
// 2. 定义关键词和回复的规则
const keywordReplies = {
'你好': '你好呀!很高兴认识你!',
'在吗': '在的,我在这里随时为您服务!',
'你是谁': '我是一个微信机器人,由 WeChaty 驱动。',
'天气': '抱歉,我暂时还不能查询天气,但你可以告诉我你想知道哪个城市的天气,我来学习一下!',
'再见': '拜拜!下次见!',
// 可以添加更多规则
}
// 3. 监听机器人“准备就绪”事件
bot.on('login', (user) => {
console.log(`\n🎉 ${user.name()} 登录成功!`)
console.log('请使用手机微信扫描下方二维码登录:')
})
// 4. 监听机器人“登出”事件
bot.on('logout', (user) => {
console.log(`\n👋 ${user.name()} 已经登出`)
})
// 5. 监听“扫描二维码”事件,并在终端显示
bot.on('scan', (qrcode, status) => {
console.log(`\n请扫描二维码登录 (Status: ${status})`)
console.log(QRCode.toString(qrcode, { type: 'terminal' }, (err, url) => {
if (err) console.error(err)
console.log(url)
}))
})
// 6. 监听“收到消息”事件(这是核心)
bot.on('message', async (message) => {
// 1. 避免机器人回复自己的消息
if (message.self()) {
return
}
// 2. 获取消息的文本内容
const text = message.text()
// 3. 遍历关键词规则,进行匹配
for (const keyword in keywordReplies) {
if (text.includes(keyword)) {
// 4. 如果匹配到,获取对应的回复内容
const replyText = keywordReplies[keyword]
// 5. 发送回复
await message.say(replyText)
// 为了避免一个消息触发多个回复,匹配到一个后就可以break了
break
}
}
})
// 7. 启动机器人
bot.start()
.then(() => console.log('机器人启动成功...'))
.catch(err => console.error('启动失败:', err))
代码解析:
keywordReplies对象:这是你的“关键词库”,键是关键词,值是你要回复的内容,你可以轻松地修改和扩展它。bot.on('message', ...):这是事件监听的核心,只要有新消息,这个函数就会被触发。message.self():一个重要的判断,防止机器人进入死循环(自己回复自己,然后又触发自己回复)。text.includes(keyword):使用字符串的includes方法来判断消息中是否包含关键词,这是最简单的匹配方式。message.say(replyText):发送回复的方法。
运行机器人
- 在终端中,进入你的项目文件夹
my-wechat-bot。 - 运行命令:
node bot.js
- 终端会显示一个二维码,使用你的手机微信扫描这个二维码。
- 登录成功后,你的机器人就正式开始工作了!你可以用你的另一个微信好友或小号给它发送预设的关键词,它就会自动回复。
进阶技巧
当你掌握了基础后,可以尝试以下进阶功能:
-
精确匹配 vs. 模糊匹配
- 精确匹配:只有当消息文本和关键词完全一致时才回复,可以使用
text === keyword。 - 模糊匹配:如上面的代码所示,
text.includes(keyword)是模糊匹配,只要包含关键词就触发。
- 精确匹配:只有当消息文本和关键词完全一致时才回复,可以使用
-
正则表达式匹配 如果你的匹配规则更复杂(匹配手机号、邮箱、特定格式),可以使用正则表达式。
// 示例:匹配 "天气 上海" 或 "天气 北京" const weatherRegex = /天气 (\S+)/; const match = text.match(weatherRegex); if (match) { const city = match[1]; await message.say(`正在查询 ${city} 的天气...`); // 这里可以接入天气API } -
优先级处理 如果一个消息可能匹配多个关键词(消息是“你好天气”),上面的
break语句会确保只回复第一个匹配到的,你可以调整keywordReplies对象中关键词的顺序,或者设计更复杂的匹配逻辑来处理优先级。 -
结合API实现动态回复 关键词回复的最终目的是获取信息,你可以让机器人回复从API获取到的动态数据。
// 示例:查询IP地址归属地 const ipRegex = /IP (\d+\.\d+\.\d+\.\d+)/; const match = text.match(ipRegex); if (match) { const ip = match[1]; // 使用 axios 或 node-fetch 等库调用API const response = await axios.get(`http://ip-api.com/json/${ip}`); const data = response.data; await message.say(`IP ${ip} 的归属地是:${data.city}, ${data.country}`); }
| 方式 | 优点 | 缺点 | 适用人群 |
|---|---|---|---|
| 微信内置 | 零成本,设置简单 | 功能极弱,无法扩展 | 普通用户,仅用于最简单的告知 |
| 现成平台 | 开箱即用,可视化,稳定 | 可能收费,功能受限 | 新手,业务逻辑简单,不想写代码 |
| 自建机器人 | 功能强大,完全自定义,灵活 | 需要服务器和编程知识 | 开发者,有复杂或定制化需求的场景 |
对于任何有志于打造一个真正智能、有用的微信机器人的用户来说,自建机器人(方式三)是必经之路,虽然初期需要一些学习成本,但带来的自由度和功能扩展性是其他方式无法比拟的,从上面的 WeChaty 示例开始,你很快就能上手并创造出属于你自己的强大机器人。
标签: 微信机器人关键词回复设置教程 企业微信机器人关键词回复怎么弄 微信自动回复机器人关键词配置方法