1、要安装的工具
- Anaconda3
- vscode
- Cygwin64
- Docker Desktop
2、要用到的技术框架或命令
- python 3.9.*
- node-js
- npm命令
- docker命令
- wechaty,padlocal
- 百度飞桨paddle引擎
3、分析说明
1)安装Anaconda3是要用到它的python和conda,其中conda可以用来创建多个python虚拟环境
2)安装vscode是用来编写机器人的python业务代码
3)安装Cygwin是要在Windows系统下用到Linux的终端命令
4)安装Docker Desktop是因为用python开发wechaty微信机器人的话是没有直接的库可以调用的,因为wechaty底层框架是用JS和TS开发的,如果要用python开发业务代码的话,就必须开一个wechaty的server网关来供python对接使用,而这个wechaty的server网关在docker上已经有现成的镜像可以下载使用
4、入门步骤
默认上面第一节要求的工具已经安装完成,其安装步骤请自行查找教程完成
1)创建python虚拟环境
- 打开终端:快捷键Win+R,输入cmd,回车即可,也有其他方法。
- 输入conda create -n py39 python=3.9.*
- 安装完后,输入conda activate py39,激活py39虚拟环境
2)vscode安装python插件
太简单,请自行找教程完成
3)启用Docker引擎
在启用前须先检查Windows下是否有安装WSL的Ubuntu子系统,没有安装的话须先在Microsoft Store里安装一个Ubuntu子系统,具体步骤自行找教程完成
4)下载wechaty的Docker镜像
# 0.65的版本对于python来说是最稳定的,docker其他命令请参考菜鸟教程自行补充
docker pull wechaty/wechaty:0.65
5)获取wechaty的padlocal协议的token
启动网关前需要先获取wechaty的token,这里我推荐用的是padlocal协议的token,功能最全且最稳定,也是最贵的,每个月需要交200RMB,不过新账户可以免费领取7天体验,这里是获取地址,复制token,例如puppet_padlocal_xxxx,然后新建一个start.sh文件,复制粘贴以下的内容到该文件。注意:运行这个.sh文件需要用到Linux的终端,Cygwin此时就起到了作用。
if [ -z "$1" ]; then
>&2 echo -e "Missing argument.\nUsage: $0 <__padlocal_token__>"
exit 1
fi
# export WECHATY_LOG="verbose"
export WECHATY_PUPPET_PADLOCAL_TOKEN=$1
export WECHATY_PUPPET="wechaty-puppet-padlocal"
export WECHATY_TOKEN=`python -c "import uuid;print(uuid.uuid4())"`
# Set port for your puppet service: must be published accessible on the internet
export WECHATY_PUPPET_SERVER_PORT=8788
docker pull wechaty/wechaty:0.65
docker run \
--name wechaty \
--rm \
-ti \
-e WECHATY_LOG \
-e WECHATY_PUPPET \
-e WECHATY_PUPPET_PADLOCAL_TOKEN \
-e WECHATY_PUPPET_SERVER_PORT \
-e WECHATY_TOKEN \
-p "$WECHATY_PUPPET_SERVER_PORT:$WECHATY_PUPPET_SERVER_PORT" \
wechaty/wechaty:0.65
6)启动wechaty网关
打开Cygwin,进入到上面建的start.sh文件的目录下,
输入bash start.sh puppet_padlocal_xxxx
这里的puppet_padlocal_xxxx要替换成你自己的token
7)登录微信
复制如下图所示的二维码链接,在浏览器打开,然后微信扫描登录即可。
5、本章结语
以上内容完成后,接下来就是纯python的代码开发了,这部分将在下一章节讲解。Wechaty微信机器人开发本身就需要用到很多的基础工具和技术框架,这里我是默认大家都了解或者会一点的,不会的也可以自己照着菜鸟教程边学边用,补充盲点,像Linux命令,docker命令,python,node-js/ts等,这些基础在菜鸟教程上都有的,所以不要指望我这一两篇文章就能教会你什么,我只是个引导者,并非教学者,并不会长篇大论。