wechaty微信机器人收到好友请求时自动同意,并回复一条默认消息,且发一封邮件给管理员

本文主要是介绍wechaty微信机器人收到好友请求时自动同意,并回复一条默认消息,且发一封邮件给管理员,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

https://wechaty.js.org/zh/docs/howto/event#friendship-event-friend-requests

//微信登录
const chatWx = async (req, res) => {try {// 扫码const onScan = (qrcode, status) => {let qrcodeImageUrlif (status === ScanStatus.Waiting || status === ScanStatus.Timeout) {// 在控制台显示二维码qrTerminal.generate(qrcode, { small: true })qrcodeImageUrl = ['https://api.qrserver.com/v1/create-qr-code/?data=',encodeURIComponent(qrcode),].join('')console.log('onScan:', qrcodeImageUrl, ScanStatus[status], status)} else {log.info('onScan: %s(%s)', ScanStatus[status], status)}console.log(`Scan QR Code to login: ${status}\nhttps://wechaty.js.org/qrcode/${encodeURIComponent(qrcode)}`)console.log(qrcode)res.send({code: 200,data: {qrcode1: `https://wechaty.js.org/qrcode/${encodeURIComponent(qrcode)}`,qrcode,qrcodeImageUrl,},message: '成功',})return}// 登录const onLogin = (user) => {console.log(`${user} has logged in`)const date = new Date()console.log(`Current time:${date}`)console.log(`Automatic robot chat mode has been activated`)}// 登出const onLogout = (user) => {console.log(`${user} has logged out`)customSendEmail({subject: '微信机器人掉线',html: `微信机器人掉线`,})}// 收到好友请求const onFriendShip = async (friendship) => {if (friendship.type() === 2) {await friendship.accept()// if want to send msg , you need to delay sometimesawait new Promise((r) => setTimeout(r, 1000))await friendship.contact().say(
`免费向微信机器人提问的格式:
gpt,xxx
speech,xxx(文本转语音)
付费后向微信机器人提问的格式:
gpt4,xxx
claude3,xxx
mistral,xxx
mj,xxx(AI绘画)
gemini,xxx
文心一言v4,xxx
upload
uploadForMJ
whisper,xxx(xxx为音频或视频链接,语音转文本)
可以加微信机器人私聊
网站:
https://chat.xutongbao.top`)console.log('after accept')let contact = friendship.contact()let alias = (await contact.alias()) || (await contact.name()) // 发消息人昵称customSendEmail({subject: '微信机器人加入新朋友',html: `微信机器人加入新朋友:${alias}`,})}}const onMessage = async (msg) => {await handleMessage({ msg, bot })}let bot// eslint-disable-next-lineif (global.isLocal) {const CHROME_BIN = process.env.CHROME_BIN? { endpoint: process.env.CHROME_BIN }: {}// eslint-disable-next-lineconst puppet = new PuppetPadlocal({token: 'xxx',})bot = WechatyBuilder.build({name: 'WechatEveryDay',puppet: 'wechaty-puppet-wechat4u', // 如果有token,记得更换对应的puppet  免费//puppet,  //需要花钱//puppet: 'wechaty-puppet-wechat', // 如果 wechaty-puppet-wechat 存在问题,也可以尝试使用上面的 wechaty-puppet-wechat4u ,记得安装 wechaty-puppet-wechat4upuppetOptions: {uos: true,...CHROME_BIN,},})} else {bot = WechatyBuilder.build()}// 扫码bot.on('scan', onScan)// 登录bot.on('login', onLogin)// 登出bot.on('logout', onLogout)// 收到消息bot.on('message', onMessage)// 添加好友bot.on('friendship', onFriendShip)// 启动微信机器人bot.start().then(() => console.log('Start to log in wechat...')).catch((e) => console.error(e))} catch (error) {console.log(error)}
}

邮件通知

人工智能学习网站

https://chat.xutongbao.top

这篇关于wechaty微信机器人收到好友请求时自动同意,并回复一条默认消息,且发一封邮件给管理员的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/894092

相关文章

PostgreSQ数据库实现在Windows上异地自动备份指南的详细教程

《PostgreSQ数据库实现在Windows上异地自动备份指南的详细教程》这篇文章主要为大家详细介绍了如何在Windows系统上实现PostgreSQL数据库的异地自动备份,文中的示例代码讲解详细,... 目录前期准备实现步骤步骤一:创建备份脚本步骤二:配置免密登录(可选但推荐)步骤三:设置任务计划程序步

基于Python编写一个git自动上传的脚本(打包成exe)

《基于Python编写一个git自动上传的脚本(打包成exe)》这篇文章主要为大家详细介绍了如何基于Python编写一个git自动上传的脚本并打包成exe,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录前言效果如下源码实现利用pyinstaller打包成exe利用ResourceHacker修改e

Springboot请求和响应相关注解及使用场景分析

《Springboot请求和响应相关注解及使用场景分析》本文介绍了SpringBoot中用于处理HTTP请求和构建HTTP响应的常用注解,包括@RequestMapping、@RequestParam... 目录1. 请求处理注解@RequestMapping@GetMapping, @PostMappin

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤

idea-java序列化serialversionUID自动生成方式

《idea-java序列化serialversionUID自动生成方式》Java的Serializable接口用于实现对象的序列化和反序列化,通过将对象转换为字节流来存储或传输,实现Serializa... 目录简介实现序列化serialVersionUID配置使用总结简介Java.io.Seripyth

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF