WeChatFerry

WeChatFerry 是一款 Hook PC WeChat 构建的微信机器人项目。

项目地址:
github: https://github.com/lich0821/WeChatFerry

wcfhttp

wcfhttp 是 WeChatFerry 的客户端,通过 http api 方式通讯。方便任何语言,任何形式与 WeChatFerry 通讯。

# 安装
pip install --upgrade wcferry

# 启动
wcfhttp --cb http://your_host:your_port/callback

callback

callback 可以是本机也可以远端。
doc 中描述机器人通过 PSOT 回调 callback 地址。
用 PHP 接收 callback post 数据有一点要注意。数据并不在 $_POST 数组中,而是在 php://input 中,用 file_get_contents('php://input') 来接收数据。

doc

wcfhttp 运行成功后,控制台打印 doc 地址:http://0.0.0.0:9999/docs
所有的API DOCS里都有,页面上还可以做简单的Execute,十分方便。

msg-types 接口 返回数据 demo
{
  "status": 0,
  "message": "成功",
  "data": {
    "types": {
      "0": "朋友圈消息",
      "1": "文字",
      "3": "图片",
      "34": "语音",
      "37": "好友确认",
      "40": "POSSIBLEFRIEND_MSG",
      "42": "名片",
      "43": "视频",
      "47": "石头剪刀布 | 表情图片",
      "48": "位置",
      "49": "共享实时位置、文件、转账、链接",
      "50": "VOIPMSG",
      "51": "微信初始化",
      "52": "VOIPNOTIFY",
      "53": "VOIPINVITE",
      "62": "小视频",
      "66": "微信红包",
      "9999": "SYSNOTICE",
      "10000": "红包、系统消息",
      "10002": "撤回消息",
      "1048625": "搜狗表情",
      "16777265": "链接",
      "436207665": "微信红包",
      "536936497": "红包封面",
      "754974769": "视频号视频",
      "771751985": "视频号名片",
      "822083633": "引用消息",
      "922746929": "拍一拍",
      "973078577": "视频号直播",
      "974127153": "商品链接",
      "975175729": "视频号直播",
      "1040187441": "音乐链接",
      "1090519089": "文件"
    }
  }
}

chatgpt

对接chatgpt api。我的信用卡无法绑定chatgpt。所以使用 Free ChatGPT API Key 提供的免费 API KEY 使用 gpt-3.5-turbo 模型。

github: https://github.com/chatanywhere/GPT_API_free

应用

这次主要是对接 chatgpt 做一个聊天机器人。
用作消息推送,监控报警,定时消息都是OK的。

注意

任何 hook 都有风险,使用 WeChatFerry 应该会有微信号被ban的风险。最好用小号,且和大号不是同一个实名(不实名也可以)。因为腾讯实行的是连坐制。同一个实名下的所有号一起封。

不要发送大量信息,敏感信息,容易触发微信风控机制。另外据说发送GPT消息的尤其容易被封。

大量重复内容会被封号?!

我给bot开启了一个debug,忘记关了,两个同样弱智的机器人不停地互怼,跑了1天多的时间,发了可能有几万条消息?(计数器只看到99+)。
1.jpg
难道说大量重复内容不会封号?还是说风控逻辑是对单个微信发很多消息不受限?

由此能简单推测,风控的不是消息的数量,而是消息的范围?

发送人数每人发送数量影响范围影响烈度
1人10条110
10人1条101
10人群1条10-1-

如果这样假设成立,那么在很多群里,发送很多信息就是最危险的,再@的话,会更加危险。

什么时候会封号?

@lich0821 建议不封号的办法是不用微信,看来不封号只是过程,封号才是归宿。
持续观察。

更新
D3
大概挂机2.5天后,发现掉线了,上服务器看了一下,这样了:
2.png

重新登录,还能登录,没有封号,算是一次警告?【这是新环境登录的正常掉线】
持续观察。

D5
又过了两天,目前正常,只推送了少量消息,发送了一些CRON测试。
3.jpg

持续观察。

D7
又过了两天,推送消息都正常,机器人没有掉线。
难道第一次掉线是因为互怼了大量消息导致的?
持续观察。

D9
中间服务器重启,微信忘记开,停了半天,其他时间都正常在线,推送消息数量少。
也就差不多这样了。

D30~40
? 不记得多少天了,目前正常。

标签: none

添加新评论