ESCAPE-WECHAT 逃离微信

ESCAPE-WECHAT 逃离微信

介绍:

escape-wechat是一个微信助手,通过简单的可视化的配置,实现微信好友、微信群的指定消息的自动回复、自动转发或自动处理,让你从微信中“逃”出来,节省你宝贵的注意力
最新功能:提供发送消息的api接口供第三方应用调用,可发送群消息或个人消息


小故事:
我的孩子正在上小学,学校各项事务都会通过微信群进行发布,包括作业和各项通知。而群里的小学生进行提问并完成作业情况的打卡群里核心信息密度不高。如果你需要了解群里的核心消息,你可能需要翻看很长时间的历史消息,这会占用你的注意力。另外就是孩子们的校车群,每天我需要关注的就是校车到达特定某个地点的消息。在收到这个消息后,我出发去接孩子们即可。但是校车老师会从发车起就开始发消息,并且周围有明显家长的提问。这会大分散你的注意力,甚至会导致你无法及时关注你最应该关注的那条消息。
于是我开发了这个东西。

在实现上述功能之后,我还把东西这个也对接上了大语言模型,只要api使用了openAI的api,你就可以通过简单的配置实现智能回复。
本项目基于wechaty项目,感谢wechaty项目组提供的开源项目。
https://github.com/wechaty/wechaty

如何安装:

一、使用docker安装 docker安装是最简单,最快捷的方案

  1. 拉取镜像 docker pull hmllsnow/escape-wechat
  2. 运行容器
docker run -d -p 443:443 -p 8080:8080  -e API_KEY="your api key" -e LOGIN_PWD="your_login password use fro login control Panel" --name escape-wechat-container hmllsnow/escape-wechat

API_KEY参数配置使用api接口发送消息时的apikey
LOGIN_PWD参数登录配置页面的密码

如何升级:

为什么升级:

功能仍在不断完善,bug也在不断修复,所以升级技巧也是需要的。

docker版本升级原理:

删除原docker镜像,拉取新版镜像

升级优点:

实现

升级故障处:

原配置都丢了,所以请将你的配置都备份好(目前我给你的备份方法就是,复制粘贴进写字版本,安装好新版本后再配置一遍)

好了,现在可以告诉你指令了:

1、封闭把容器干掉

docker rm -f escape-wechat-container

2、删除镜像

docker rmi hmllsnow/escape-wechat

3、拉取、运行新的容器

docker run -d -p 443:443 -p 8080:8080  -e API_KEY="your api key" -e LOGIN_PWD="your_login password use fro login control Panel" --name escape-wechat-container hmllsnow/escape-wechat

4、登陆配置页面,重新配置,并登陆机器人

说明:

一、进入配置页面

核心功能都在配置页面完成。根据您的安装方法,进入配置页面则不同

1、docker安装

如果使用docker镜像方式运行,配置页面:http://localhost:8080

2、node直接运行

不适用docker,且没有修改配置文件,配置页面:http://localhost:7788

二、配置

配置页面分为两个部分:

ESCAPE-WECHAT 逃离微信插图

1、控制区

首先是:启动,停止,重启按钮 启动:启动微信机器人,如果已经启动,则不会重复启动。 停止停止:微信机器人,如果已经停止,则不会重复停止。 重启:重启微信机器人(修改配置后)请重启生效)

2、配置面板

大类分为个人和群,分别对应个人微信消息、群消息的配置

1、个人消息

1.1、回复配置

接收白名单(*表示任何人)用户发送的文本消息,文本消息如何包含关键字关键字(或文本消息符合Regex配置的正则表达式)则执行Handler配置的回复函数。默认已经开发了greet函数,会回复dang关键字、正则表达式两个条件可以同时存在,但必须同时符合,才会触发,所以这样做意义不大,所以建议这两个条件互斥存在。
回复函数实现了调用函数参参的功能,函数名和参数之间通过##分隔,参数使用json格式
简单:

replyOpenAI##{baseurl:"https://api.deepseek.com",apikey:"sk-**************",model:"deepseek-chat" }

–说明:1、baseurl:大模型api地址,2、apikey:大模型api key,3、model:大模型模型名称
举例使用的deepseek模型(原因:接口格式与openai一致且价格较低)

ESCAPE-WECHAT 逃离微信插图1

1.2、转发配置

接收白名单(*表示任何人)用户发送的文本消息,文本消息如何包含关键字关键字(或文本消息符合正则表达式配置的正则表达式)则转发到指定的群目标房间或干燥机目标联系人。

1.3、动作配置

接收白名单(*表示任何人)用户发送的文本消息,如何文本消息包含关键字关键字(或文本消息符合Regex配置的正则表达)则执行Handler配置的函数内写好的动作。
回复函数实现了调用函数传参的功能,函数名和参数之间通过##分隔,参数使用json格式
简单说明:

actionCozeTextChat##{apikey:\"pat_************************c\", bot_id:\"12345678901234564\", user_id:\"123\" }

ESCAPE-WECHAT 逃离微信插图2

###### 1.4、非文本消息处理配置欠缺非文本消息目前无法处理,所以非文本消息一般执行转发规则。收到白名单人员发送的消息,直接转发给指定群或指定群。 ## ### 2、群消息回复,转发、动作与个人消息规则类似,增加了说话人(就是消息的发送人),增加了@自己和@所有者两个选项。 规则说明:当群白名单,执行后续规则————。所以如果只想在被@时触发,则需配置一个永远无法满足的关键字做为条件。

3、举例

1、转发

要求:转发A群,B用户,发送的包含文字C的文本消息,转发给D群和E用户。在配置面板中找到组->转发配置,点击添加按钮,填入以下信息:

ESCAPE-WECHAT 逃离微信插图3

陣容

ESCAPE-WECHAT 逃离微信插图4

2、与AI对话

要求:群A中,只需被@把消息发送给大模型,大模型响应后,把响应消息发送回群A。

配置如图
由于keyword、regex为一组条件(如都配置就需要都满足),@Me,@all,共三组条件,满足任意一组就触发动作。所以设置了永远无法满足的关键词,只有@Me时才能触发。

ESCAPE-WECHAT 逃离微信插图5

3、API调用

可以使用api调用,是程序开放与否的重要标准。为了让您体验开放带来的快感,我还设计了两个api接口。可以实现调用api接口发送消息(两个接口分别对应群和个人消息) )。

接口地址

https://ip:443/api/
接口文档

接口必须携带参数apiKey,apikey为docker run启动容器时API_KEY配置的参数

1、发送群消息

方法:POST
/chat/room

总体结构

參數 要素 類型 說明 結果
api密钥 细绳 api密钥
房间名称 细绳 群名
信息 目的 消息内容,数据格式参考消息数据类型说明 {}

消息结构

參數 要素 類型 說明 結果
类型 数字 消息类型:1文字2图片url 3图片base64(暂时仅支持1) 1
内容 细绳 消息内容,如果类型为1必填,内容换行使用\n
网址 细绳 输入为2,3必填,图片地址,或者文件地址,例如png,jpg或者zip,excel都可以,必须是网络地址(暂时不支持)
2、发送群消息

方法:POST
/chat/contact

总体结构

參數 要素 類型 說明 結果
api密钥 细绳 api密钥
姓名 细绳 好友昵称,不能带特殊字符和表情
别名 细绳 好友备注,如果昵称带特殊字符,建议使用备注,名字为空,别名有值即可
編號 细绳 好友列表查看wxid 对于web协议此id不唯一,可能不生效(插件>1.6.10支持)
信息 目的 消息内容,数据格式参考消息数据类型说明 {}

消息结构

參數 要素 類型 說明 結果
类型 数字 消息类型:1文字2图片url 3图片base64(暂时仅支持1) 1
内容 细绳 消息内容,如果类型为1必填,内容换行使用\n
网址 细绳 输入为2,3必填,图片地址,或者文件地址,例如png,jpg或者zip,excel都可以,必须是网络地址(暂时不支持)
3、请求示例

curl -k --location 'https://127.0.0.1/api/chat/contact' \
--header 'Content-Type: application/json' \
--data '{
    "apiKey": "your apikey",
    "name": "联系人",
    "alias":"",
    "message": {
        "type": 1,
        "content":"消息内容"
    }
    
}'
curl -k --location 'https://127.0.0.1/api/chat/room' \
--header 'Content-Type: application/json' \
--data '{
    "apiKey": "your apikey",
    "roomName":"群名",
    "message": {
        "type": 1,
        "content":"群消息"
    }
    
}'

windows cmd 语法示例(注意不是power shell)

curl -k -X POST "https://127.0.0.1/api/chat/contact" ^
-H "Content-Type: application/json" ^
-d "{\"apiKey\": \"your apikey\", \"name\": \"联系人\", \"alias\": \"\", \"message\": {\"type\": 1, \"content\": \"消息内容\"}}"
curl -k -X POST "https://127.0.0.1/api/chat/room" ^
-H "Content-Type: application/json" ^
-d "{\"apiKey\": \"your apikey\", \"roomName\": \"群名\",\"message\": {\"type\": 1, \"content\": \"消息内容\"}}"

加入-k参数忽略自签名证书,否则会报错。我们的程序暂时使用的是自签名证书,所以需要忽略。


  • 打赏
  • 分享
分享到...
ESCAPE-WECHAT 逃离微信插图6
请选择打赏方式
ESCAPE-WECHAT 逃离微信插图6
ESCAPE-WECHAT 逃离微信插图7 ESCAPE-WECHAT 逃离微信插图8
  • 微信
  • 支付宝
© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容