基于Wechaty-IPAD协议的预警消息转发机器人

2023-10-15 00:30

本文主要是介绍基于Wechaty-IPAD协议的预警消息转发机器人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

微信机器人 - 实时转发预警信息

使用须知

1、本项目基于微信IPAD协议,避免了网页版微信登陆不成功的情况
2、本项目必须要申请token,具体操作流程请参考教程
3、本项目延伸自 wechat-assistant-padplus ,因为官方版本当前只有TypeScript,目前为JavaScript语言。

初衷

服务器上的预警信息天天都要有人一直监控着!好烦啊!能不能找一个机器人让我们能实时看到消息啊!
恩,就这样,在网上研究了之后,找到了wechaty。
本项目使用koa+wechaty的方式,暴露了Web API接口,方便服务器实时调用,转发到koa后向对应好友、微信群发送消息。也可以通过定时任务,轮询的方式来进行转发消息。

须知:本项目必须向wechaty团队申请token, 否则该项目是无法使用的. 申请流程参考: 申请token

安装环境

1、 Git客户端

官网下载地址

2、 node.js (版本10以上)

官方下载地址

3、 pm2后台守护线程工具 (需要后台运行的话)

命令行运行:npm i pm2 -g

4、修改token //在wechaty-alert-padplus/wechaty/wechat.config.js文件的WECHATYTOKEN处修改

安装启动过程

1、下载项目

git clone https://github.com/Songbingjun/wechat-alert-padplus.git //参考git下载方式

2、下载依赖

npm install //进入到项目目录下后输入

3、项目启动

项目启动有两种方式,一种是前台运行,一种是使用pm2进行后台运行
前台运行: npm run dev
后台运行: npm run pm2

前台示例图片如下:

前台登陆后

后台方式启动导航

npm i pm2 -g  //全局安装进程守护工具pm2
npm run pm2   //启动pm2程序
pm2 logs koa  //后台查看运行程序  首次会显示扫码日志

注意事项

1、 项目运行后,会出现二维码扫描,如果识别不出二维码的原因可能是命令操作台的字体有问题,调整点阵字体,或者换一个客户端打开命令行,推荐Cmder
2、 端口目前是15999,请先确保端口未被占用。修改需到wechaty/app.js 51行处修改
3、 配置群名称需要到wechaty/wechaty/wechaty.config.js中 25行修改ROOMLIST数组中的roomName属性,目前接口逻辑只识别一个群(向好友发消息类似)
4、 扫描成功后会添加缓存文件,下次免登录,文件地址及名称 wechaty/ WechatEveryDay.memory-card,如果自动登录了后,想切换账号,删除该文件。
5、 日志及错误记录在wechaty/koa/log目录中
6、 如果不是后台运行的话,请设置计算机进入休眠状态为 从不。建议最好开启后台运行,并且修改状态。

具体修改流程(win10) Win+R –> control –> 搜索:电源 -> 电源选项 –> 选择关闭显示器的时间 –> 使计算机进入休眠状态 –> 从不

7、 pm2进程守护工具常用命令

1)pm2 logs 线程名 。 查看线程日志 例如:pm2 logs koa
2)pm2 list 。 查看pm2所有应用
3)pm2 stop 0 。 关闭id为0的应用
4)pm2 delete 0 。 删除id为0的应用
5)pm2 restart all 。 重启所有应用

API接口

1、发送到群

请求方式: GET 请求参数: message 请求url: ip:15999/api/pushMessage 请求示例:http://localhost:15999/api/pushMessage?message=发送到群的文字输入在此处

2、发送给好友

请求方式: GET 请求参数: message 请求url: ip:15999/api/pushInfo 请求示例:http://localhost:15999/api/pushInfo?message=发送给好友的文字输入在此处

较wechat-assistant-padplus进行的改动

由于本人是一名后端开发,web协议的wechaty本来有Java语言的版本,但是由于网页版微信限制(详见issues)。所以找到了另外一种协议 – IPAD协议。问题又来了,没有对应语言的版本,所以找到了wechat-assistant-padplus项目,项目主要以JS为主,对其做了以上变动。

1、注释了 wechat-assistant-padplus 中定时任务的相关业务逻辑
2、将KOA与wechaty整合到了一个项目(因为需要在koa暴露的Web API接口中调用wechaty的初始化属性)
3、去除了MongoDB与天气接口

更多问题

关于wechaty的相关接口,请参考wechaty官网文档,如果以上还没有解决你的问题,请先往wechaty的项目issues中查找是否存在相同的问题,由于本项目是依赖wechaty开发,所以启动时遇到的问题大部分是wechaty的。

事实上, 如果需要一些其他自定义功能, 也可以很方便的在项目里修改哦!

注意事项

本项目属于个人兴趣开发,开源出来纯粹是为了技术交流,请勿使用此项目做违反微信规定或者其他违法事情。


http://www.taodudu.cc/news/show-7963316.html

相关文章:

  • CVE-2020-15999:Chrome FreeType字体库堆溢出原理分析
  • 常用的谷歌插件
  • 必须掌握的TCP全家桶系列详细解读:流量控制、三次握手、四次挥手及拥塞控制算法
  • AOSP预置第三方应用
  • 创业者该如何与投资机构打交道?
  • 知己知彼,百战不殆---管理软件这个行业
  • 强烈不建议使用Gitee 5G总容量非常坑!Gitee仓库转github方法推荐
  • LLMs:LLMs大语言模型评估的简介(两标+六性+九维,大模型排行榜多种),两类基准—通用任务的基准(单任务【BLEU/ROUGE-MT-Bench/Chatbot Arena】、多任务【Super
  • 读书笔记 摘自:《统计数据会说谎》的笔记(作者: 【美】达莱尔·哈夫)
  • 统计数字会撒谎
  • 即时通讯音视频开发(十三):实时视频编码H.264的特点与优势
  • 音视频编解码标准MPEG4简介
  • 统一通信 Qos
  • 即时通讯中音频编码标准发展现状及发展趋势
  • memory compiler使用流程
  • 转载:Swap与Memory内存简单介绍
  • 一段代码搞懂 gpu memory
  • 对智能合约里的storage 和 memory两个关键字的理解
  • linux内存swap什么意思,Linux中Swap与Memory内存简单介绍
  • 通学智能合约系列(十九)--memory与storage
  • Solidity存储关键词memory含义?
  • java freememory 单位_java里的totalMemory()、maxMemory()、freeMemory()究竟是什么。。。
  • 在计算机英语中 memory的中文意思是,memory竟也能表示计算机的“记忆”!
  • 蓝牙属于计算机网络的研究范畴
  • 从计算机网络到嵌入式网络
  • 湘大计算机网络原理
  • 计算机文化基础概念,计算机文化基础概念.pptx
  • 湘大计算机网络安全学院导师,黎自强_湘潭大学研究生导师信息
  • 学习笔记-计算机视觉
  • 计算机导论在线阅读,计算机导论答案.pdf
  • 这篇关于基于Wechaty-IPAD协议的预警消息转发机器人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

    相关文章

    Java中Springboot集成Kafka实现消息发送和接收功能

    《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

    利用Python编写一个简单的聊天机器人

    《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

    Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

    《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

    Java如何接收并解析HL7协议数据

    《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

    SpringBoot 自定义消息转换器使用详解

    《SpringBoot自定义消息转换器使用详解》本文详细介绍了SpringBoot消息转换器的知识,并通过案例操作演示了如何进行自定义消息转换器的定制开发和使用,感兴趣的朋友一起看看吧... 目录一、前言二、SpringBoot 内容协商介绍2.1 什么是内容协商2.2 内容协商机制深入理解2.2.1 内容

    禁止平板,iPad长按弹出默认菜单事件

    通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

    【Linux】应用层http协议

    一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

    ActiveMQ—消息特性(延迟和定时消息投递)

    ActiveMQ消息特性:延迟和定时消息投递(Delay and Schedule Message Delivery) 转自:http://blog.csdn.net/kimmking/article/details/8443872 有时候我们不希望消息马上被broker投递出去,而是想要消息60秒以后发给消费者,或者我们想让消息没隔一定时间投递一次,一共投递指定的次数。。。 类似

    【Go】go连接clickhouse使用TCP协议

    离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

    2024.9.8 TCP/IP协议学习笔记

    1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A