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

相关文章

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

Spring Boot整合消息队列RabbitMQ的实现示例

《SpringBoot整合消息队列RabbitMQ的实现示例》本文主要介绍了SpringBoot整合消息队列RabbitMQ的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录RabbitMQ 简介与安装1. RabbitMQ 简介2. RabbitMQ 安装Spring

springboot rocketmq配置生产者和消息者的步骤

《springbootrocketmq配置生产者和消息者的步骤》本文介绍了如何在SpringBoot中集成RocketMQ,包括添加依赖、配置application.yml、创建生产者和消费者,并展... 目录1. 添加依赖2. 配置application.yml3. 创建生产者4. 创建消费者5. 使用在

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排

MySQL9.0默认路径安装下重置root密码

《MySQL9.0默认路径安装下重置root密码》本文主要介绍了MySQL9.0默认路径安装下重置root密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录问题描述环境描述解决方法正常模式下修改密码报错原因问题描述mysqlChina编程采用默认安装路径,

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque