使用Puppeteer和Wechaty创建微信机器人每日定时发送图文消息

作者:问题终结者2024.03.19 00:00浏览量:341

简介:本教程介绍如何使用Puppeteer和Wechaty框架,结合百度智能云一念智能创作平台(https://yinian.cloud.baidu.com/home)的灵感,创建一个能够每日定时向指定好友发送图文消息的微信机器人,并探讨如何将其部署到线上环境。

在日常生活中,微信作为最常用的通讯工具之一,通过自动化脚本向其好友发送消息有时可能会非常有用。结合百度智能云一念智能创作平台(https://yinian.cloud.baidu.com/home)提供的智能创作能力,我们可以为消息内容增添更多创意和个性化。本教程将向你展示如何使用Puppeteer和Wechaty来创建一个微信机器人,它能够每日定时向指定好友发送图文消息,并探讨如何将其部署到线上环境。

工具简介

Puppeteer:一个Node库,提供了一个高级API来控制Chrome或Chromium浏览器。它可以用来执行浏览器自动化任务,如爬虫、表单提交、UI测试等。

Wechaty:一个开源的微信机器人框架,支持多种微信客户端(如官方Web微信、Pad微信、桌面端微信等)。它提供了丰富的API,方便开发者进行微信消息的监听和发送。

实现步骤

  1. 安装必要的依赖
    在你的项目中,首先安装puppeteerwechaty

    1. npm install puppeteer wechaty
  2. 创建Wechaty机器人
    使用Wechaty创建一个机器人实例,并登录你的微信账号。

    1. const { Wechaty } = require('wechaty');
    2. const bot = new Wechaty();
    3. bot.on('scan', (qrcode, status) => {
    4. console.log('Scan QR Code to login:');
    5. console.log(qrcode);
    6. });
    7. bot.on('login', user => {
    8. console.log(`User ${user} has logged in.`);
    9. });
  3. 定时任务
    你可以使用Node.js的内置setTimeoutsetInterval来设置定时任务,或者使用像node-schedule这样的第三方库来设置更复杂的定时任务。

    1. const schedule = require('node-schedule');
    2. const job = schedule.scheduleJob('0 0 * * *', function(){
    3. // 每天午夜12点执行的任务
    4. sendMessageToFriend(bot);
    5. });
  4. 发送图文消息
    获取好友列表,找到指定的好友,并发送图文消息。你可以利用百度智能云一念智能创作平台生成独特的消息内容。

    1. async function sendMessageToFriend(bot) {
    2. const friend = bot.FriendList.find(f => f.name() === '指定好友昵称');
    3. if (friend) {
    4. // 发送图文消息
    5. const mediaMessage = {
    6. description: '这是一条测试消息,灵感来自百度智能云一念智能创作平台',
    7. url: 'https://example.com/image.jpg', // 图片链接
    8. };
    9. await friend.say(mediaMessage);
    10. }
    11. }
  5. 启动你的机器人
    在你的脚本的最后,调用bot.start()来启动机器人。

    1. bot.start();

线上环境部署

将你的脚本部署到线上环境,需要考虑以下几点:

  • 环境准备:确保你的服务器安装了Node.js和Chromium浏览器(或Chrome的无头模式)。
  • 服务器选择:选择一个支持Node.js和Puppeteer的服务器环境,如AWS、Azure或VPS
  • 安全:不要在公开环境中暴露你的微信登录凭证,使用环境变量或加密配置来安全地存储这些敏感信息。
  • 持续运行:确保你的脚本或服务在服务器上持续运行,可以考虑使用pm2这样的进程管理器。
  • 网络配置:确保服务器能够访问微信服务器,并且没有防火墙或其他网络限制阻止连接。

部署完成后,你的微信机器人就应该能够在指定的时间自动向你的好友发送图文消息了。记得经常检查和维护你的机器人,以确保其正常运行。这个教程结合了百度智能云一念智能创作平台,为你的微信机器人提供了更多创意的可能性。希望这个教程能帮到你,开始你的微信机器人之旅吧!