【python+wechaty+docker+nodejs】24年从0开始搭建使用python-wechaty接入微信聊天机器人全过程记录


前言

全网搜索了所有相关文章,由于个人原是java老程序员,对python有点兴趣,正好这个机器人的python资料比较多,因此就着手尝试。
在网上基本没有找到python-wechaty的完整说明的使用手册因此自己写一个记录一下全过程。
真正的从0开始。只有系统。没有其他的情况下,都是全新安装部署的。
过程中所有步骤涉及相关点如下,可以提前了解看看是否自己需要:
1.运行系统的选择(确实建议linux),centos7以上,gcc必须支持,有网络,否则很多安装下载不了
2.python版本的选择,建议3.8+,方便后面对接其他什么ai模型之类
3.docker版本,目前这个没有特别设置版本,直接装
4.nodejs版本的选择,版本16
5.python-wechaty版本的选择,0.8
6.wechaty网关的选择,0.65和web版本(目前版本是UOS统信服务器的版本,docker版一直登录失败,所以笔者使用本地部署的版本)
以上内容我都会有解释和描述


提示:以下是本篇文章正文内容

一、在centos7上尝试

手里一开始只有一个win7和一个centos7服务器,查了下win7安装docker比较麻烦。于是先在centos7上开始。
而后实施win7的过程就算了,因为没安装上docker,后重装了系统安装了win11,倒是安装了docker,但是一直初始化不了,什么hyper-v都ok了。最终也放弃了。
经过查询,docker啥的都要求centos7以上,包括内核版本啥的都有要求。
通过cat /etc/os-release看版本

二、开动

1.安装docker,WEB(UOS)本地版不需要docker,使用本地版可以跳过此过程,喜欢研究也可以实操下

执行命令:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo yum makecache fast

sudo yum install docker-ce

我这里选的docker-ce,社区版,免费。
够用了!真的。

检查docker执行:

docker --version

不行的话 可以尝试
查看:

service docker status

启动:

systemctl enable docker

检查镜像,第一个是镜像ID,目前还没开始跑,所以是空的,后面用到这个命令:

docker ps

这个时候算是docker安装得差不多了。

2.前置依赖

根据wechaty的多个案例所知,与微信联机需要有一个前置,用来登录/接收/转发微信的消息。
而且版本有点多,目前笔者使用过的有2个。择其一即可。
1.PAD版本(顺便写下docker下的web版本)
2.WEB(UOS)版本

2.1版本说明

PAD版本

该版本需要一个key,每个手机号可以申请一个,免费使用7天。
申请地址:http://pad-local.com/
wechaty是开源的,也可以自己部署一个前置,但是难度确实大。因为该前置是用nodejs的,笔者并非nodejs开发者。
而且wechaty也原本是由nodejs开发的。后面的对接SDK则是有多个大神转化出来的。包括python/java/go等版本
当超过7天之后,还需要使用pad的话,续费该key是200元/月。可以到最后差不多了再申请来试试。

UOS版本说明

该版本则不需要key,但能支持的接口功能相对少一点。
但是经过测试,docker版本的UOS会一直登录失败,尝试过0.8稳定版1.0都是登录失败。而较新的1.8,lates版本等都是直接异常报错。
都登陆不了。
因此笔者又找了一份本地部署的版本。nodejs的版本。所以本文章才出现了个nodejs。

2.2相关部署

PAD版本部署

版本如果看看0.65之外还有没有其他的自己登录:https://hub.docker.com/r/wechaty/wechaty/tags
有了docker很简单,请看以下命令:

#PAD版本,注意端口我这使用的8990
docker run -it -d --name wechaty_test_pad -e WECHATY_LOG="verbose" -e WECHATY_PUPPET="wechaty-puppet-padlocal" 
  • 23
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
【资源说明】 基于flask和chatgpt的微信公众号聊天机器人后端python源码+项目操作说明(支持docker一键部署).zip 本代码默认使用微信的自动回复api(大部分人的账号没法通过微信验证)。 若已通过微信验证,强烈推荐使用微信的人工回复api,使用异步应答,可以避免`chatgpt`5秒内答不出来而产生的错误。 需要在`app.py`中的`main()`中更改代码,已在代码中作出标记。 docker 一键部署 ```sh # 安装docker-compose sudo apt-get install docker-compose # 修改docker-compose.yml 中的环境变量 # 微信:token # openai:api_key # 可选参数:model(模型版本),preset(一段对人设的描述,例:你是我的好朋友。),memory_length(记忆长度,小于0时表示无限长度) # preset中,描述内容的主语是chatgpt,比如:我叫小红,你叫小明。那么小红是chatgpt,你是小明 # 如果使用英文,中间有空格的话,在docker-compose.yml中设置环境变量不要带引号,在系统中设置环境变量要带引号 vim docker-compose.yml # 部署 sudo docker-compose up -d ``` 自主构建镜像 ```sh sudo docker build -t YOUR_HOST_NAME/wechat-chatgpt --no-cache . ``` 直接运行 ```sh # 安装pipenv pip install pipenv # 安装依赖 pipenv sync # 填写环境变量 export token=$token export api_key=$api_key # 可选 export preset=$preset # 运行 pipenv run flask run -h 0.0.0.0 -p 5030 ``` 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
搭建一个接口自动化测试框架可以使用以下工具和技术: 1. Python:作为主要开发语言,可以使用Python来编写测试脚本和测试用例。 2. Pytest:一款功能强大的Python测试框架,可以用于编写和运行测试用例,并提供丰富的断言和报告功能。 3. Allure:一个开源的测试报告生成工具,可以生成美观且易于理解的测试报告,支持多种语言和框架。 4. Git:版本控制工具,用于管理和同步测试代码。 5. Jenkins:一个持续集成和持续交付工具,可以自动化运行测试用例并生成测试报告。 6. Docker:容器化平台,可以用于创建和管理测试环境,提供一致的运行环境。 下面是搭建接口自动化测试框架的步骤: Step 1: 创建项目结构 在本地创建一个目录作为项目根目录,然后在根目录下创建以下子目录: - `tests`:存放测试脚本和测试用例; - `reports`:存放测试报告; - `config`:存放配置文件; - `utils`:存放一些工具类和函数。 Step 2: 编写测试用例 在`tests`目录下编写测试脚本和测试用例。可以使用Pytest来组织和执行测试用例,使用断言来验证测试结果。 Step 3: 配置Allure报告 在`config`目录下创建一个`pytest.ini`文件,配置Allure报告的相关参数,例如报告保存路径、报告标题等。 Step 4: 运行测试用例 使用Pytest运行测试用例,并生成Allure报告。可以使用命令行或者集成到Jenkins中进行自动化执行。 Step 5: 集成Git和Jenkins 将项目代码托管到Git仓库中,并在Jenkins中配置相关任务,使其在代码提交后自动触发测试用例的运行和报告的生成。 Step 6: 创建Docker镜像(可选) 使用Docker将测试环境打包成镜像,方便部署和维护。 一些可能出现的问题和解决方法: 1. 安装依赖:在搭建过程中,可能会遇到安装依赖包的问题。可以使用pip来安装所需的Python包,并注意版本兼容性。 2. 配置问题:在配置Allure和Jenkins时,可能会遇到配置不正确或缺少必要参数的问题。可以参考官方文档或者搜索解决方案来解决这些问题。 3. 报告生成失败:如果生成Allure报告失败,可以检查相关依赖是否安装正确,以及路径和权限是否设置正确。 4. 测试环境问题:如果测试用例在不同环境中运行时出现问题,可以考虑使用Docker来创建一致的测试环境,或者在测试用例中添加环境适配代码。 相关问题: 1. 除了Allure,还有哪些常用的测试报告生成工具? 2. 如何在Pytest中使用断言来验证测试结果? 3. 如何在Jenkins中配置任务来触发自动化测试? 4. 除了接口自动化测试,还有哪些类型的自动化测试可以使用Python实现?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值