Wechaty Web Panel 微信小程序消息推送:模板消息与订阅消息配置
你是否还在为微信机器人消息推送配置复杂而烦恼?是否想让用户及时获取重要通知却不知从何下手?本文将带你一文解决 Wechaty Web Panel 中小程序消息推送的配置难题,轻松实现模板消息与订阅消息的高效管理。读完本文,你将掌握两种消息类型的配置方法、应用场景及注意事项,让你的机器人消息推送更加精准和高效。
消息推送概述
在微信生态中,消息推送是连接用户与服务的重要桥梁。Wechaty Web Panel 作为一款强大的微信机器人管理工具,提供了便捷的消息推送功能,主要包括模板消息和订阅消息两种类型。模板消息通常用于服务通知、交易提醒等场景,而订阅消息则更适合周期性的资讯推送、活动提醒等。
消息类型对比
| 消息类型 | 适用场景 | 特点 | 配置复杂度 |
|---|---|---|---|
| 模板消息 | 服务通知、交易提醒 | 主动推送,无需用户授权 | 中 |
| 订阅消息 | 资讯推送、活动提醒 | 需用户授权,周期性推送 | 低 |
准备工作
在开始配置消息推送前,需要完成以下准备工作:
注册智能微秘书管理账号
- 注册:智能微秘书(注:实际使用时请通过官方渠道注册)
- 初始化配置文件
小助手配置->基础配置,修改后保存 - 个人中心获取
APIKEY和APISECRET,后续配置用到
项目环境搭建
- 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/wec/wechaty-web-panel
cd wechaty-web-panel
npm install --registry=https://registry.npmmirror.com
- 创建机器人配置文件:
const {WechatyBuilder} = require('wechaty')
const WechatyWebPanelPlugin = require('wechaty-web-panel')
const bot = WechatyBuilder.build({
name: 'wechat-assistant',
puppet: 'wechaty-puppet-wechat',
})
bot.use(WechatyWebPanelPlugin({
apiKey: '你的APIKEY',
apiSecret: '你的APISECRET'
})).start().catch((e) => console.error(e))
模板消息配置
模板消息是一种主动推送的消息类型,适用于服务通知、交易提醒等场景。在 Wechaty Web Panel 中,模板消息的处理逻辑主要在消息处理模块中实现。
配置步骤
- 在管理面板中,进入
小助手配置->消息模板,添加新的模板消息 - 设置模板标题、内容、跳转链接等信息
- 在代码中调用消息发送接口,实现模板消息推送
代码实现
模板消息的发送逻辑主要在 src/handlers/on-message.js 中处理。以下是关键代码片段:
// 私聊消息处理
async function dispatchFriendFilterByMsgType(that, msg) {
// ...省略其他代码
switch (type) {
case that.Message.Type.Text:
content = msg.text()
// 检测是否需要忽略消息
const isIgnore = checkIgnore(content.trim(), aibotConfig.ignoreMessages)
if (content.trim() && !isIgnore) {
// 获取回复内容
replys = await getContactTextReply(that, contact, content.trim())
// 发送消息
for (let reply of replys) {
await contactSay.call(that, contact, reply)
await delay(200)
}
}
break
// ...处理其他消息类型
}
}
订阅消息配置
订阅消息需要用户主动授权,适用于资讯推送、活动提醒等周期性消息。Wechaty Web Panel 提供了灵活的订阅消息配置方式,满足不同场景的需求。
配置步骤
- 在管理面板中,进入
小助手配置->订阅消息,创建订阅主题 - 设置订阅标题、描述、周期等信息
- 用户通过关键词或菜单进行订阅
- 在代码中实现订阅消息的定时推送
面板配置界面
消息推送实战
定时任务配置
Wechaty Web Panel 提供了强大的定时任务功能,可以轻松实现消息的定时推送。在管理面板中,进入定时任务->新增任务,设置任务名称、执行时间、消息内容等信息。
代码示例:定时发送新闻
// 定时任务配置示例(可在面板中可视化配置)
{
"taskName": "每日新闻推送",
"cron": "0 8 * * *", // 每天早上8点执行
"targetType": "room", // 推送到群聊
"targetId": "群聊ID",
"messageType": "template", // 使用模板消息
"templateId": "新闻模板ID",
"templateData": {
"title": "今日新闻",
"content": "{{newsContent}}"
}
}
注意事项
- 消息频率控制:避免频繁推送消息,以免被用户投诉
- 用户体验优化:消息内容应简洁明了,避免过多无关信息
- 错误处理:在代码中加入完善的错误处理机制,确保消息推送稳定可靠
// 消息发送错误处理示例
try {
await contactSay.call(that, contact, reply)
} catch (error) {
console.error('消息发送失败', error)
// 可添加重试机制或错误日志记录
}
总结与展望
通过本文的介绍,你已经掌握了 Wechaty Web Panel 中小程序消息推送的配置方法。模板消息和订阅消息各有特点,应根据实际场景选择合适的消息类型。未来,Wechaty Web Panel 将继续优化消息推送功能,提供更多个性化配置选项,让消息推送更加智能和高效。
如果你觉得本文对你有帮助,欢迎点赞、收藏、关注三连!下期我们将介绍如何通过 AI 功能实现消息的智能回复,敬请期待。
参考资料
- 官方文档:README.md
- 消息处理源码:src/handlers/on-message.js
- 配置数据库:src/db/configDb.js
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






