30分钟让微信群消息自动@你:WeChat Bot 关键词监控快速指南

30分钟让微信群消息自动@你:WeChat Bot 关键词监控快速指南 30分钟让微信群消息自动你WeChat Bot 关键词监控快速指南【免费下载链接】wechat-bot Multi-platform IM AI Agent for Telegram, WhatsApp, Lark, and WeChat. Connects ChatGPT / Claude / Kimi / DeepSeek / Ollama / Pi for auto-replies, community analysis, contact management, and inactive-friend detection.项目地址: https://gitcode.com/GitHub_Trending/we/wechat-bot凌晨两点客户在群里丢来一句线上出故障了而你的微信还泡在三百多条未读里。用 WeChat Bot 搭一套微信群关键词监控30 分钟跑通之后 7×24 小时自动值守该谁、该查哪条消息它替你盯住。先跑起来三步完成环境这一步只干一件事让机器人能启动。三行命令1 分钟。node -v # 确认 ≥ v18低了就先升级 git clone https://gitcode.com/GitHub_Trending/we/wechat-bot cd wechat-bot npm install装完依赖复制一份配置文件再编辑cp .env.example .env打开.env先填下面 5 行其它字段等后面用到了再补字段作用示例BOT_NAME机器人在群里的称呼 它的依据值班机器人ROOM_WHITELIST要盯的群名逗号分隔不在名单里的群直接放行技术交流群,产品讨论组KEYWORDS要盯的词逗号分隔紧急bug,故障,投诉ALERT_ADMIN命中后要在群里的人技术主管LOG_LEVEL日志级别info第一次验证在测试群里看到提醒环境好了现在看效果。四步npm run dev启动终端会画出一张二维码用微信号扫掉它——机器人账号就上线了把机器人拉进ROOM_WHITELIST里的测试群在群里发一句含关键词的话比如大家注意发现一个紧急bug需要处理同时盯住两个地方终端日志、群聊窗口。一切正常的话你会看到类似这样的输出[关键词监控] 群聊:技术交流群 发送者:测试账号 命中:紧急bug 群内出现: 技术主管 ⚠️ 检测到关键词: 紧急bug | 发送者:测试账号 终端另一行: [KEYWORD_MONITOR] 技术交流群 - 测试账号: 紧急bug三条通道同时亮灯群里了管理员、终端记了一行、你还能在代码里看到私聊详情已发往ALERT_ADMIN。看到这三样就算跑通了。幕后原理关键词引擎怎么工作跑通之后值得花两分钟搞清楚它是怎么盯群的。一句话消息进来后走一条流水线——先过白名单这道门卫再做关键词安检命中后同时开三条提醒通道。拆开看就四步。① 消息对象到手后先取群名问一句这个群在不在ROOM_WHITELIST里不在就整条丢弃所以白名单外的群永远不产生噪音。② 在名单里的才进入关键词扫描比较前先统一转小写Bug 和 bug 一个都跑不掉。③ 命中后不是发一条消息了事而是群内、私聊详情、写日志三处同时落子漏掉任何一处都有另一处兜底。④ 没命中就安静返回等下一条。核心匹配逻辑就这几行可以直接放进 src/wechaty/keywordMonitor.jsconst content msg.text(); const matched keywords.filter(k content.toLowerCase().includes(k.trim().toLowerCase()) ); if (matched.length room) { // 命中群内管理员 私聊推送详情 记录日志 // 未命中静默返回 }其余取群名、取发送者昵称、拼装提醒文案的活儿都是常规 API 调用按步骤顺序写即可不需要多讲。进阶玩法三种升级路径基础版能用了剩下看你要多狠。三条路径互相独立随便挑一条上。关键词分级轻重缓急各归各位把.env里的KEYWORDS从纯词表升级成词:级别格式KEYWORDS紧急bug:critical,故障:high,投诉:medium解析时按冒号切开级别缺省给medium。三个级别对应三档动作critical除了管理员再加一条私聊紧急推送必要时接电话或短信通知high走标准群内medium只记日志不打扰人。这样半夜一条测试不至于炸出整个群。日志持久化winston 接管终端日志一关就没影了。引入 winston按级别分流——警告以上落文件其余照旧打屏幕。一个可用的最小配置放 src/utils/logger.jsimport winston from winston; import fs from fs; import path from path; const logDir path.join(process.cwd(), logs); if (!fs.existsSync(logDir)) fs.mkdirSync(logDir); export const logger winston.createLogger({ level: process.env.LOG_LEVEL || info, format: winston.format.combine(winston.format.timestamp(), winston.format.json()), transports: [ new winston.transports.File({ filename: path.join(logDir, keyword-alert.log), level: warn }), new winston.transports.Console({ format: winston.format.simple() }), ], });监控命中处把console.log换成logger.warn(...)JSON 格式方便日后用脚本捞数据。装包只需一条命令npm install winston。Docker 容器化部署长期挂着的值守任务丢进容器最省心。要点做法基础镜像node:18-alpine装--production依赖后拷入源码持久化VOLUME声明/app/logs日志随容器重建不丢启动CMD [npm, run, start, --, --serve, deepseek]构建运行docker build -t wechat-keyword-bot .再docker run时用-v挂载本机.env与logs目录容器起来后和前面验证流程完全一样扫终端里的二维码进群发测试消息。不生效时查这里第一次玩 Wechaty 机器人Bot卡住的地方基本逃不出下面四类现象可能原因处理办法机器人不响应.env没保存、SERVICE_TYPE与启动参数对不上、Node 版本低于 18重查.env五项配置确认node -v看终端首行报错关键词不触发群名不在ROOM_WHITELIST关键词前后带了空格或中文逗号核对群名逐字一致关键词只留纯文本、用英文逗号分隔二维码不显示终端编码不是 UTF-8字符画糊了换支持 UTF-8 的终端或直接npm run start重试频繁掉线网络不稳同时加入的群太多心跳被拖垮换稳定网络精简群白名单先少后多写在最后带走三件事先过群白名单再谈匹配关键词比较不区分大小写提醒走群内、私聊、日志三条通道互为备份。想再往前一步可以从这四条里挑一条给关键词上正则匹配、加个 HTTP 接口支持热更新、把提醒接到企业微信或钉钉、再让大模型判断语义而不只是死盯字面。动手之前这两份文档值得放在手边Wechaty 官方文档wechaty.js.org/docs、Node.js 流处理文档nodejs.org/api/stream.html。现在去把你的第一个测试群建起来吧——发一句测试看它几秒内你。【免费下载链接】wechat-bot Multi-platform IM AI Agent for Telegram, WhatsApp, Lark, and WeChat. Connects ChatGPT / Claude / Kimi / DeepSeek / Ollama / Pi for auto-replies, community analysis, contact management, and inactive-friend detection.项目地址: https://gitcode.com/GitHub_Trending/we/wechat-bot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考