基于 WeChatFerry 的 Python 机器人框架WeChatRobot

news2024/12/26 17:17:30

WeChatRobot

一个基于 WeChatFerry 的 Python 机器人框架。

微信机器人,接入Gemini、ChatGPT、ChatGLM、讯飞星火、Tigerbot;成语接龙、天气预报、新闻摘要、定时任务

克隆项目:

git clone https://github.com/lich0821/WeChatRobot.git

安装 pyenv-win用于创建管理python虚拟环境

最简单的方法是在 PowerShell 终端中运行以下安装命令

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

#这个命令会下载并安装 Python 3.10.11。安装过程可能需要一些时间
pyenv install 3.10.11

#这会在当前目录下创建一个 .python-version 文件,指定使用 Python 3.10.11 版本
pyenv local 3.10.11
## 创建虚拟环境
pyenv exec python -m venv WeChatRobot

# 激活虚拟环境
WeChatRobot\Scripts\activate
# 升级 pip
python.exe -m pip install --upgrade pip
# 安装必要依赖
pip install -r requirements.txt
# ChatGLM 还需要安装一个 kernel
ipython kernel install --name chatglm3 --user

#升级wcferry
pip install --upgrade wcferry
#根据wcferry-39.2.4.0版本安装相应微信版本
微信3.9.10.27夸克网盘分享

版本号:w.x.y.z

其中:

  • w 是微信的大版本号,如 37 (3.7.a.a), 38 (3.8.a.a), 39 (3.9.a.a)
  • x 是适配的微信的小版本号,从 0 开始
  • y 是 WeChatFerry 的版本,从 0 开始
  • z 是各客户端的版本,从 0 开始

微信设置

关闭自动更新

运行

我们需要运行两次 main.py 第一次是生成配置文件 config.yaml, 第二次是真正跑你的机器人。 直接运行程序会自动拉起微信,如果微信未打开,会自动打开微信;如果版本不对,也会有提示;其他报错,请进群交流。

下面代码为第一次运行:第一次运行 main.py 会在 WeChatRobot 目录下生成一个 config.yaml 文件,参照修改配置进行修改。

其中 chatgpt、tigerbot、chatglm 和 xinghuo_web 是四种模型的配置信息,你需要配置它们的参数

python main.py
# 查看帮助
python main.py -h
#optional arguments:
#  -h, --help            show this help message and exit
#  -c C, --chat_model C  选择要使用的AI模型,默认不选择,可选参数:1. tigerbot 模型 2. chatgpt 模型 3. 讯飞星火模型 4. chatglm 模型

# 例: 我想运行选择chatgpt的机器人
python main.py -c 2

选择模型参数序号: 1: 'TIGER_BOT', 2: 'CHATGPT', 3: 'XINGHUO_WEB', 4: 'CHATGLM', 5:
              'BardAssistant', 6: 'ZhiPu'

修改配置

修改配置后,需要重新启动,以便让配置生效。

配置文件 config.yaml 是运行程序后自动从模板复制过来的,功能默认关闭。

响应被 @ 消息

为了响应群聊消息,需要添加相应的 roomId

第一次运行的时候,可以在手机上往需要响应的群里发消息,打印的消息中方括号里的就是;多个群用 , 分隔。

groups: enable: [] # 允许响应的群 roomId,大概长这样:2xxxxxxxxx3@chatroom, 多个群用 , 分隔
配置 AI 模型

为了使用 AI 模型,需要对相应模型并进行配置。

推荐:tigerbot

https://www.tigerbot.com/api-reference/authentication

chatgpt:推荐个第三方调用openai api的平台

  • 访问:DevAGI 
  • 注册后邀请好友,你还能获得100次免费调用机会!
  • API key 在个人中心获取。

CMD启动脚本

@echo off
REM 切换到脚本所在的目录
cd /d %~dp0

REM 激活虚拟环境
call WeChatRobot\Scripts\activate

REM 运行 Python 脚本
python main.py -c 1

REM 可选:暂停以查看输出
pause

测试chatgpt新出的模型o1-preview:

注:使用其他微信号和其进行对话进行测试

常见问题参见:

Docs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2135934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机毕业设计 沉浸式戏曲文化体验系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

百年病态集论的症结:3000年不识伪≌直线段

黄小宁 公元前1100年中国人商高同周公的一段对话谈到了勾股定理说明人类认识几何学的直线段起码已有3000多年。 直角三角形⊿的斜边c~水平直角边a,即c经旋转和均匀压缩变换可变为a~c。3000年不识伪≌直线段使数学认定a经刚体运动变为附着在c…

rk3399 的 HDMI 热插拔的问题

问题: 客户的3399 的板子上,烧写ubuntu 发现, 没有热插拔。 测试情况: 系统在第一次烧写完成之后,是有热插拔的,但是第二次启动就没有了。 还有一个情况,就是 ,如果我一开始 上电的…

[论文精读]Polarized message-passing in graph neural networks

论文网址:Polarized message-passing in graph neural networks - ScienceDirect 论文代码:he-tiantian/PMP-GNNs:极化消息传递图神经网络的 Pytorch 实现,发表在 Artificial Intelligence,2024 年。 (github.com) 英…

红日靶场通关

初始准备 首先是网络配置,看教程来的,我配置完的效果如下 windows7:(内:192.168.52.143 / 外:192.168.154.136) windows2003:(内:192.168.52.141)windows2008:(内:192.…

运算放大器选型的关键参数

上图中的顺序是从左上到右下进行选型,小信号看带宽,大信号看压摆率。一般选用电压反馈型的运放,但是涉及到高频特性的时候也会选择电流反馈型的运放。精密运放选用失调电压比较小的运放,一般失调电压在1mv左右。低功耗的情况下需要…

极越造车2.0:01销量回暖,07杀出血路,ASD抢跑FSD

‍‍‍作者 |张马也 编辑 |德新 9月13日,极越公布其第二款车型极越07上市48小时内,订单超过5000台。 对这家造车4年多的车企来说,这意味着新车取得了初步的成功。 懂车帝的数据显示,7月极越01销量1143台,8月销量则翻…

Linux 入门:简单的基础操作

“批判他人总是想的太简单 剖析自己总是想的太困难” 文章目录 前言Linux 入门:从基础操作到 WSL2 安装文章有误敬请斧正 不胜感恩!1. 什么是 Linux?2. Linux 和其他系统有啥不同?3. Linux 的主要组成4. 常见 Linux 发行版5. 基本…

openstack之cinder介绍

概念 cinder 为虚拟机提供管理块存储服务。支持的文件系统:lvm、iscsi、nfs、san、RBD 组件构成及功能介绍 cinder api:在控制节点运行,管理服务的接口,被命令行、其他组件调用; cinder scheduler:类似n…

大数据新视界 --大数据大厂之Kafka消息队列实战:实现高吞吐量数据传输

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

美国税收制度及SAP实施

1. 税制综述 美国是以直接税为主的国家,实行联邦、州和地方(市、县)三级征税制度,属于彻底的分税制国家。美国联邦税以个人所得税和企业所得税为其主要收入来源,州税以销售与使用税为其主要收入来源,地方税以财产税为…

UART 16550的使用

前言 本文从操作系统使用 16550 的角度来学习 16550。主要解析通用的串口寄存器的作用。 16550 串口由一系列寄存器控制串口行为。不同的具体设备寄存器的偏移不同,寄存器的长度可能不同。 例如,在 AXI UART 16550中,各寄存器长度都为 32 b…

overleaf如何下载论文的pdf

用overleaf写完英文论文后,要将论文保存为PDF格式 点击图片中的下载按钮 然后选择一个路径保存论文的PDF格式即可。

测试通用面试题大全

24年软件测试的发展如何? 1、IT行业还会继续升温,高质量人才需求相对还是短缺。 2、要求变高之后,很难再下降了,学历和经验。 3、功能测试之外的东西,接口、性能和自动化要掌握一点。 4、长远来看,软件…

Android Framework(五)WMS-窗口显示流程——窗口布局与计算

文章目录 relayoutWindow流程概览应用端处理——ViewRootImpl::setView -> relayoutWindowViewRootImpl::setViewViewRootImpl::performTraversalsViewRootImpl::relayoutWindow Surface的创建WindowManagerService::relayoutWindow了解容器类型和Buff类型的SurfaceBuff类型…

并发编程 - GCD的栅栏(dispatch_barrier_async)

引言 Grand Central Dispath(GCD)是苹果提供的强大工具,它几乎涵盖了多线程编程的所有方面。通过GCD,我们可以轻松地创建队列、管理线程,并以更优雅的方式处理并发任务。在前面的博客中,我们已经深入探讨了…

基于SpringBoot+Vue+MySQL的校园健康驿站管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 本文设计并实现了一个基于SpringBoot后端、Vue前端与MySQL数据库的校园健康驿站管理系统。该系统旨在通过数字化手段,全面管理学生的健康信息,包括体温监测、疫苗接种记录、健康状况申报等,为…

【Canvas与表盘】绘制黄蓝两色简约表盘

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>黄蓝卡通手表</title><style type"text/css">…

【我的Android进阶之旅】解决CardView四个圆角有白边的问题

文章目录 一、问题描述二、分析CardView出现白边的原因三、如何解决这个问题?3.1 如何修复?3.2 为什么这样可以修复?3.3 示例代码3.4 总结一、问题描述 在实现一个RecycleView的Item时候,样式需要用到卡片式效果,于是想到用CardView来实现,但是最终发现运行出来的效果,…

(微服务项目)新闻头条——Day1

最近发生了很多事情&#xff0c;躺了一阵子&#xff0c;也是终于振作起来做自己的事情了.... 有的人追求精彩而活&#xff0c;而即使瘦若浮游&#xff0c;仍旧痴迷71种滋味&#xff0c;而有的人寿命明却装醉不得自由虚度自己的光阴&#xff0c;年华终究在最后一刻幡然醒悟&…