如果您是在gitee看到这个repo,README.md中的图片看不了是因为甜蜜的gitee不支持外链图片。可前往github仓库查看。
有问题请提交issue
,我会及时回复的。
如果有使用上的问题,见wiki
教程撰写不易,如果对您有帮助还请动动小手点个赞:bulb:
在线实时数据获取服务由API服务商提供
毒鸡汤
神回复
每日英语
全网热点
城市天气
客服
文本处理功能由本地编写算法处理
英文字符串转大/小写
rgb<=>
hex
踢@用户名
可快速踢出群聊url
并@
提醒对方
定时发送群消息
定时给个人发送消息
2022年1月14日4点0分0秒向备注为樊庆元的联系人发送“我刚学完,早安”
群发功能(可适用于多种节日)
加上备注作为称谓,就不会被看出是群发的啦~:sparkles:诚意MAX:sparkles:
定时消息销毁
定时任务设置成功后会返回任务id,凭此可销毁任务
休息提醒
在机器人正常运行时,每天上午9点启动,晚上7关闭(自动)。每隔半小时会提醒master休息一下,近视眼福音有木有:tada:
该功能可用于记录常用的冗长文本,例如身份证号、银行卡号、购物时的好评模板等等。
通过指令map key value
可记录标签为key
,内容为value
的密码(在password
目录下生成文件)
通过指令get key可以获取标签为key的密码
文件加密
文件名通过md5
算法比对
文件内容通过aes-128-cbc
算法加密
可通过屏蔽/解除屏蔽 联系人备注
的方式,在加载于内存中的屏蔽列表中进行增加/删除联系人【机器人重启后失效】
加入群聊,机器人会在群聊内公布加入者和邀请人的名称
退出群聊,机器人会向机器人master发送消息,说明何人退出了何群
markdown
文档config/
文件夹存放公共配置imgs/
存放相关图片password/
存放密码簿生成文件listeners/
存放机器人初始化后一系列事件处理(分模块)
on-friendship.js
处理好友请求on-login.js
处理登录on-message.js
处理用户消息、群消息on-scan.js
处理登录二维码on-room-join/leave
处理用户加入/退出群聊schedule/
对定时任务node-schedule
库进行了封装superagent/
存放所有的数据请求、接口封装都在此utils/
公用方法的封装bot.js
机器人实例文件start.js
入口文件需修改config
配置,将里面的配置改为自己的。打开config/
目录并新建index.js
文件, 文件内容如下:
/*
* @author Hilbert Yi
* @digst: 全局配置config
* @time: 2022-01-03 12:36
*/
const ignoreFile = require('./ignore.json');
module.exports = {
SERVER: "", //服务器IP/域名
PUPPET_TOKEN: "", // pad-local
TXAPI_TOKEN: "", // 天行数据
JUHEAPI_TOKEN: "", // 聚合数据
WXAI_TOKEN: "", // 微信对话开放平台
BAIDU_APPID: "",
BAIDU_KEY: "",
IGNORE: ignoreFile, //json文件:不需机器人回复的用户,填写用户备注,非昵称
WEBROOM: ["test", "test2"], //要管理的群名称
MYSELF: "mnb", //大号的备注,防止其他人冒充
BOTNAME: "gjb", // 机器人的昵称
PROVINCE: [
"北京",
"湖北",
"广东",
"浙江",
"河南",
"湖南",
"重庆",
"安徽",
"四川",
"山东",
"吉林",
"福建",
"江西",
"江苏",
"上海",
"广西",
"海南",
"陕西",
"河北",
"黑龙江",
"辽宁",
"云南",
"天津",
"山西",
"甘肃",
"内蒙古",
"台湾",
"澳门",
"香港",
"贵州",
"西藏",
"青海",
"新疆",
"宁夏",
],
KEYWORDS: function () {
return `回复序号或关键字获取对应服务
1.回复群名进入群聊:${this.WEBROOM}
2.毒鸡汤
3.神回复
4.每日英语
5.全网热点
6.全国肺炎
7.客服
------------------
翻译(例:翻译 [en] [zh] text)
转小写(例:转小写 YZHYYDS)
转大写(例:转大写 yzhyyds)
转rgb(例:转rgb #cccccc)
转16进制(例:转16进制 rgb(255,255,255))
城市名 天气(例:武汉 天气)
省份/自治区 肺炎(例:湖北 肺炎)
------------------n`;
},
VIP: function() {
return `密码簿n(例:map test 123456nget test)n` +
`定时消息n(例:定时 M.D.H.m.s 目标 信息)n` +
`群发消息n(例:群发 M.D.H.m.s 目标1[,目标2] 信息)n` +
`销毁定时n(例:销毁 id)n` +
`刷新联系人数据(!WARNING!)n` +
`[解除]屏蔽n(例:屏蔽 张三(->备注))` +
`持久化屏蔽n(更新本地屏蔽联系人列表)`
}
};
token/key
获取操作如下:
官网注册账号
注册成功后,申请以下接口:
接口申请之后请打开config/index.js
,将顶部PUPPET_TOKEN
、TXAPI_TOKEN
、JUHEAPI_TOKEN
、WXAI_TOKEN
改为自己的即可。
其他免费接口可随意申请,也可以自行更换API服务商。
记得安装依赖
npm install
npm start start.js
非常不建议使用
cnpm
,请自行百度nrm
使用方法或者手动修改国内镜像。当然,执意要用的话请务必这么使用:cnpm i --by=npm
如果部署于服务器,可使用PM2进行管理
[root@xx ~]# pm2 start start.js
启动后,终端会出现一个二维码,扫码登录即可。
控制台也许会打印多个二维码,扫一个耐心等待即可。如果确实没登上去再后面出来的。
退出登录后再重新登录时,你的手机会自动弹出iPad的登录请求,点击后耐心等待即可。如果确实没登上去再扫控制台的二维码登录。
若控制台打印的二维码是支离破碎的,无法扫描,请更换终端。
我在本机用的是
Windows Terminal
,ECS服务器用tabby
连接。
2022-04-02
2022-03-31
2022-03-29
2022-03-08
2022-03-04
2022-03-01
2022-02-24
config.js
)2022-02-07
2022-02-05
2022-01-29
2022-01-28
npn i
安装依赖,彻底解决依赖版本的困扰2022-01-25
2022-01-23
2022-01-20
2022-01-18
2022-01-17
2022-01-15
2022-01-12
2022-01-11
2022-01-03
puppet
供应商,由wechaty
(web协议)切换为padlocal
(iPad协议)2022-01-02
2022-01-01
2022-12-28
2021-11-23