商城补货检测脚本(邮件通知)

商城补货检测

前言

商品不定时补货,没有时间和精力盯着刷,买不到,写一个脚本检测一下!发货了第一时间邮箱通知

Node.js 脚本

const axios = require('axios')
const nodemailer = require('nodemailer')

const pollTime = 60000

const API_URL = 'https://newsite.ricn-mall.com/api/product/detail/51' // 请求接口URL
const EMAIL_FROM = '******@qq.com' // 发件人邮箱
const EMAIL_PASSWORD = '*********' // 邮箱授权码
const EMAIL_TO = '******@qq.com' // 收件人邮箱
const EMAIL_TYPE = 'qq' // 发件人邮箱类型

let times = 0
let intervalId

async function checkStockAndSendEmail() {
  try {
    const response = await axios.get(API_URL)
    times += 1
    const data = response.data.data
    const stock = data?.storeInfo?.stock ?? 0
    process.stdout.write(`\r---require(${times})--- 剩余:${stock} `)
    if (stock > 0) {
      console.warn('补货了,发送邮件!')

      // 设置邮件传输
      let transporter = nodemailer.createTransport({
        service: EMAIL_TYPE, // 使用的邮件服务
        auth: {
          user: EMAIL_FROM,
          pass: EMAIL_PASSWORD,
        },
      })

      // 邮件内容
      let mailOptions = {
        from: EMAIL_FROM,
        to: EMAIL_TO,
        subject: '理光放货了!!!',
        text: `快tm的去抢,还有${stock}`,
      }

      // 发送邮件
      let info = await transporter.sendMail(mailOptions)
      console.log('Email sent: ' + info.response)
      clearInterval(intervalId)
      console.log('已停止监控')
    }
  } catch (error) {
    console.error('Error fetching data:', error)
  }
}

// 每60秒检查一次
intervalId = setInterval(checkStockAndSendEmail, pollTime)

理光到底怎么抢啊,真的买不到/(ㄒoㄒ)/

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JoveTAT

感谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值