当前位置: 首页 > news >正文

每个人都可以用的开源微信机器人

经历过UOS web协议的重放荣光,又经过一段时间的封禁,又有大神把UOS web协议救回来了。免费的快乐又重新回来了,不是吗? 这意味着每个人都可以用Wechaty搞事情了,什么服务器通知,定时给女友发微信,群发消息都可以了,不需要太多node知识就可以实现

背景

在闲逛各大平台学习(摸鱼)的时候,突然发现有群里有人发pythonichat可以使用uos协议了,我刚开始还很纳闷,uos不是被封一年多了吗,怎么会还可以用,抱着试试看
的态度问了一下,说有大佬已经研究破解了最新的解禁方式,并且还友好的发了一份说明。带着这份好奇,我测试了一番,果然已经可以登录了。那还说什么,赶紧去提个PR去修
复一下看看。研究了一个晚上按照ichat的方式去修改各种参数,但是最后才发现,其实并不需要,puppet-wechat本身就是hook web协议的,不需要各种参数构造
直接,修改expam加上修改登录地址即可,我这暴脾气啊…

具体修改代码参考:uos make puppet-wechat great again

对于ichatuos修复方案感兴趣的可以查看此文档(此文档非本人编写,也是其他大佬提供的):https://docs.google.com/document/d/124zjP9K3URbUHQ2rC0LMQxp_PoMQ0G-KOYFFTYeiYVA/edit?usp=sharing

如何开启uos协议登录

默认的web协议是没有开启uos协议登录的,需要自行配置一下,旧版的wechaty-puppet-wechat是不支持,版本必须>=1.18.4

npm install wechaty-puppet-wechat@latest --save
const bot = WechatyBuilder.build({
    name: 'puppet-wechat',
    puppetOptions: {
      uos: true  // 开启uos协议
    },
    puppet: 'wechaty-puppet-wechat',
})

报错无法登录?

通常可能是由于你账号的原因,因为我已经测试了多个不能登录网页版微信的账户,都已经可以成功登陆。如果看不出错误,可以下载这个chrome插件,安装后,直接在浏览器访问https://wx.qq.com/?target=t 先测试一下,看看有什么报错

谷歌浏览器插件地址:https://github.com/leochen-g/wechrome

可视化配置面板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

功能介绍

  • 微信每日说,定时给女朋友发送每日天气提醒,以及每日一句

定时提醒

  • 当天定时提醒 例:“提醒 我 18:00 下班了,记得带好随身物品”
  • 每天定时提醒 例:“提醒 我 每天 18:00 下班了,记得带好随身物品”
  • 指定日期提醒 例:“提醒 我 2019-05-10 8:00 还有 7 天是女朋友生日了,准备一下”

智能机器人

  • 天行机器人
  • 图灵机器人
  • 腾讯闲聊机器人
  • 微信对话开放平台
  • 更多

群定时任务

  • 群新闻定时发送
  • 群消息定时发送
  • 更多功能等你来 pr

关键词

  • 关键词加好友
  • 关键词加群
  • 关键词回复
  • 关键词事件
    • 天气查询 例:“上海天气”
    • 垃圾分类 例:“?香蕉皮”
    • 名人名言 例: “名人名言”
    • 老黄历查询 例: “黄历 2019-6-13”
    • 姓氏起源 例: “姓陈”
    • 星座运势 例: “*双子座”
    • 神回复 例: “神回复”
    • 获取表情包 例: “表情包你好坏”
    • 获取美女图 例: “美女图”
    • 群合影 例: “群合影”
    • 牛年头像 例: “牛气冲天”
    • 国旗头像 例: “我要国旗”
    • 更多待你发现
  • 进群自动欢迎
  • 加好友自动回复

自动更新配置文件,无需重启

  • 默认给机器人发送 ‘更新’ 触发拉取新配置文件操作,可在面板小助手配置->关键词回复->关键词事件进行修改关键词

特色功能

  • 群合影
  • 主动发送消息
  • 主动更新配置
  • 主动同步好友和群列表
  • 多群消息同步
  • openapi请求

提前准备

注册智能微秘书管理账号

  1. 注册:智能微秘书

  2. 初始化配置文件小助手配置->基础配置,修改后保存

  3. 个人中心获取APIKEYAPISECRET,后续配置用到

注册天行数据账号

由于本项目大部分定时资讯和一些天气接口来自于天行数据,所以需要提前准备好天行数据的账号,同时申请好相关接口的权限

1、注册: 天行数据

2、申请接口权限

必选接口

  • 天行机器人
  • 天气
  • 新闻
  • 垃圾分类

可选接口(如果想使用相应的功能还是必须申请的),但是如果默认使用了天行机器人,以下功能接口无需申请也可以,机器人会直接返回对应信息

  • 土味情话
  • 名人名言
  • 星座运势
  • 姓氏起源
  • 顺口溜
  • 老黄历
  • 神回复
  • 歇后语
  • 绕口令
  • 疫情
  • 网络取名

开始运行

环境node > 16

Step 1: 安装

本步骤也可以省略,直接拉取仓库 https://github.com/leochen-g/wechat-assistant-pro 安装依赖,配置参数即可

npm install wechaty-web-panel@latest wechaty@latest --save

Step 2: 创建机器人并配置插件的apiKeyapiSecret

vim mybot.js

const {WechatyBuilder} = require('wechaty')
const WechatyWebPanelPlugin = require('../src/index')

const name = 'wechat-assistant'

const bot = WechatyBuilder.build({
    name, // generate xxxx.memory-card.json and save login data for the next login
    puppet: 'wechaty-puppet-wechat',
})
bot
    .use(WechatyWebPanelPlugin({
        apiKey: 'apiKey',
        apiSecret: 'apiSecret'
    }))
    .start()
    .catch((e) => console.error(e))

Step 3: 运行

node mybot.js

Step 4: 扫码进入

进入面板小助手配置->登录状态扫码登录,或直接扫码控制台二维码登录

直接拉取镜像(推荐)

由于群里经常反应会遇到各种环境问题,或者经常会卡住,所以本项目已经提前构建好发布到dockerhub了,直接pull就行了

step1: 拉取镜像


docker pull aibotk/wechat-assistant

step2: 启动docker

以下两个命令自己选择一个执行就行,执行的时候会下载puppet,可能会比较慢,耐心等待一下即可

1、请在项目根目录执行,这个命令是前台执行可以直接看到log日志的,但是没法关闭,只能销毁终端实例

docker run -e AIBOTK_KEY="微秘书apikey" -e AIBOTK_SECRET="微秘书apiSecret" --name=wechatbot aibotk/wechat-assistant

2、这个命令可以在后台运行,多了一个-d

docker run -d -e AIBOTK_KEY="微秘书apikey" -e AIBOTK_SECRET="微秘书apiSecret" --name=wechatbot aibotk/wechat-assistant

如何查看docker日志

源码

客户端所有实现的功能均已经开源:Wechaty-web-panel ,欢迎star

其他协议

  • ipad协议对接可视化面板:wechat-assistant-pro-ipad
  • 5G消息对接可视化面板:walnut-aibot
  • xp协议对接可视化面板: 如何使用免费的 wechaty-puppet-xp 协议

其他插件

  • wechaty-fanli插件 :基于wechaty实现的返利微信机器人,根据淘口令生成高佣转链接,并创建新的淘口令
  • wechaty-face-cartoon :Wechaty 人像转换插件,让你的 Wechaty 机器人实现照片卡通化,年龄变化,性别变化等功能
  • wechaty-dice-king :Wechaty 骰王卡牌抽取游戏插件,类似骰娘 ,也可以在微信群实现玩狼人杀

相关文章:

  • 一幅长文细学华为MRS大数据开发(四)——HBase
  • Vue2、Vue3知识总结---完整版✨
  • ISME| 南农大沈其荣院士团队最新揭示根际微生物组成变化可更早预测番茄青枯病
  • java基于 ssm+jsp的线上授课作业管理系统
  • 一、Win10安装并检测GPU版本Pytorch
  • 远程调试 idea配置remote debug、在远程服务器的程序中,添加JVM启动参数-Xdebug
  • Google Earth Engine(GEE)——一个简单的时序动画UI
  • L74.linux命令每日一练 -- 第十章 Linux网络管理命令 -- nmap和tcpdump
  • 进入mysql命令行之后,怎么退出
  • Js获取url里面的参数
  • springboot小区物业管理系统毕业设计-附源码051745
  • stm32驱动TFTLCD液晶屏显示图片+汉字(快速上手,只教怎么用,不讲原理!)
  • 神经网络参数研究方法,神经网络参数研究方向
  • JS常用事件,使用方法
  • 2022“杭电杯” 中国大学生算法设计超级联赛(7)3 8 题解
  • 30天自制操作系统-2
  • angular2 简述
  • Codepen 每日精选(2018-3-25)
  • go append函数以及写入
  • If…else
  • javascript从右向左截取指定位数字符的3种方法
  • Java应用性能调优
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Leetcode 27 Remove Element
  • SpringCloud集成分布式事务LCN (一)
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Vue全家桶实现一个Web App
  • vue数据传递--我有特殊的实现技巧
  • Webpack入门之遇到的那些坑,系列示例Demo
  • Web设计流程优化:网页效果图设计新思路
  • 程序员该如何有效的找工作?
  • 初识 webpack
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 聚簇索引和非聚簇索引
  • 深入 Nginx 之配置篇
  • 主流的CSS水平和垂直居中技术大全
  • Linux权限管理(week1_day5)--技术流ken
  • 阿里云移动端播放器高级功能介绍
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​业务双活的数据切换思路设计(下)
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (Forward) Music Player: From UI Proposal to Code
  • (python)数据结构---字典
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (三分钟)速览传统边缘检测算子
  • (算法)Travel Information Center
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)http协议
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载