代码拉取完成,页面将自动刷新
同步操作将从 枯叶蚊/wechatbot 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
wechaty 是目前最成熟的微信机器人SDK,而且由于UOS的微信客户端导致微信web版复活了。
微澜图书馆社区需要一个推送消息给群的功能,所以来研究一下,wechaty也有相关的生态。
技术栈:
管理后台 vue-element-admin
restapi express + wechaty
bot 部署,进入 api 目录
# 本地打包 docker 镜像
$ cd api
$ docker build -t bot:1.0.0 .
# 推送镜像到阿里云
$ docker login --username=<用户名> registry.cn-guangzhou.aliyuncs.com
$ docker tag bot:1.0.0 registry.cn-guangzhou.aliyuncs.com/<用户名>/bot:1.0.0
$ docker push registry.cn-guangzhou.aliyuncs.com/<用户名>/bot:1.0.0
# 在服务器上拉取
$ docker login --username=<用户名> registry.cn-guangzhou.aliyuncs.com
$ docker pull registry.cn-guangzhou.aliyuncs.com/<用户名>/bot:1.0.0
# 拉取完毕后运行镜像
$ cd <项目目录>/api
$ cp .example.env .env # 然后修改相应的配置项
DB_HOSTNAME=host.docker.internal # 这一样来访问host的数据库
$ docker run \
--privileged \
-p 8999:8999 \
-d \
-v $(pwd):/bot \
--name bot \
--add-host host.docker.internal:host-gateway \
registry.cn-guangzhou.aliyuncs.com/<用户名>/bot:1.0.0
$ docker logs -f bot # 查看日志即可扫码
# 后续更新只需要重新git拉取代码,然后重启容器即可
# 设置容器自启,删除容器后重新构建时使用
$ docker update --restart=always bot
OPENAPI 文档访问:http://localhost:8999/api-docs
后台管理部署
$ cd admin
$ yarn install
$ yarn run build:prod
# 将 dist 下的文件部署到网站 /bot-admin 目录下
# 访问 http://xxxxxx/bot-admin
simplepad 付费协议已不可用,使用了一下 padlocal 协议,容易自动登出,然后客服没回应。
暂时用 workpro 协议来进行调试开发,如果要换回padlocal协议,进行以下步骤处理。
// api/src/bot.js
// Padlocal协议的 puppet
const puppet = new PuppetPadlocal({
token: config.PADLOCAL_TOKEN,
});
this.bot = WechatyBuilder.build({
puppet,
});
消息发送API暂未进行权限验证,后续需要添加,避免被恶意调用。
express-jsdoc-swagger
这个库web协议,已知的问题有:
simplepad 协议,同步群组需要将群组加入通讯录。
Copyright © 2021 Adam Smith
This project is licensed under version 3 of the GNU General Public License.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。