【Python微信机器人】第六篇:优化使用方式,可pip安装

这篇具有很好参考价值的文章主要介绍了【Python微信机器人】第六篇:优化使用方式,可pip安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

优化内容

这篇不聊技术点,说一下优化后的Python机器人代码怎么使用,优化内容如下:

  1. 将hook库独立成一个库,发布到pypi,可使用pip安装
  2. 将微信相关的代码发布成另一个库,也可以pip安装
  3. git仓库统一,以后都在这个仓库更新,不再一篇文章一个仓库
  4. 开始建群,根据群里反馈增加功能和修复bug

使用教程

当前支持的微信版本

32位:

  • 3.9.8.12

64位:

  • 3.9.8.15

等这个系列教程结束再更新最新版本。其实hook库和主动调用都已经说完了,也可以等群友提pr来更新。

当前支持功能
  • 发送文本消息
  • 发送图片消息
  • hook微信日志输出
  • hook接收消息(下篇更新)
  • 防撤回(下篇更新)
准备环境
  1. 安装支持的版本微信 (下载链接: https://www.123pan.com/s/ihEKVv-XcWx.html 提取码: 5WLu)
  2. 安装32位或64位Python(取决于你安装的微信是32位还是64位),版本大于等于3.7
  3. pip install --upgrade wechat_pyrobot

后续如果要更新代码都需要执行一遍: pip install --upgrade wechat_pyrobot

使用

首先创建一个目录,例如robot_code,再创建一个main.py(名称随意)写入以下代码:

from py_process_hooker import inject_python_and_monitor_dir


if __name__ == "__main__":
    process_name = "WeChat.exe"
    open_console = True
    inject_python_and_monitor_dir(process_name, __file__, open_console=open_console)

启动并登录微信,执行这个main.py就会把Python注入到微信并且打开控制台,你也可以将open_console设置成False,就不会打开控制台,不过这样就不方便调试了

【Python微信机器人】第六篇:优化使用方式,可pip安装,

接着你在当前目录创建的任何代码保存后,都会被自动加载到微信并执行(注意创建的带代码文件名不能以数字开头)

发送消息

例如 创建一个sendmsg.py,写入以下代码后保存:

import time
from module import SendMsg


st = SendMsg()
st.send_text("filehelper", "测试消息!")
# 注意发送消息之间要间隔时间
time.sleep(1)
st.send_image("filehelper", r"D:\a.png")

第一个参数是wxid,获取方式后面再讲,或者下篇接收消息也能获取到好友的wxid,第二个参数是消息内容

发送消息时不要使用死循环,会阻塞Python进程,如果想定时发送消息,可以使用Python的定时器threading.Timer或者多线程threading.Thread

定时发消息
import time
from threading import Timer
from module import SendMsg


st = SendMsg()

def send_timer(n: int):
    global msg_timer
    t = time.strftime("%Y-%m-%d")
    msg_text = f"{t}: {n}"
    st.send_text("filehelper", msg_text)
    # 10秒后再执行一次
    msg_timer = Timer(10, send_timer, (n+1, ))
    msg_timer.start()

# 2秒后执行send_timer
msg_timer = Timer(2, send_timer, (1, ))
msg_timer.start()
# timer.cancel()#取消执行

如果想定点发消息,可以每隔一秒开启一个定时器,判断时间是否是符合要求,符合就发送,不符合就继续。

取消定时器(解释见下面的骚操作):

import sys

sendmsg_timer = sys.modules["sendmsg_timer"]
msg_timer = sendmsg_timer.msg_timer
msg_timer.cancel()
hook日志

例如创建一个hooklog.py,写入以下代码后保存:

from module import HookLog

hooker = HookLog()
hooker.hook() 

日志就会打印在控制台。hook不会阻塞进程,因为回调函数是在微信内部被调用,所以不需要使用多线程

骚操作

之前说了加载模块都会被保存在sys.modules这个字典里,而这个热加载就是以模块形式加载代码

所以你可以在新文件里引用之前文件的变量和方法,例如我新建一个unhooklog.py, 写入如下代码:

import sys

# 获取robot.py模块
robot = sys.modules["robot"]
# 获取robot模块中的hooker变量
hooker = robot.hooker
# 取消hook
hooker.unhook()

这在使用定时器和多线程时很有用,hook类已经被定义成了单例模式,不需要这样操作,你新建一个文件在实例化一个也是一样的效果

from module import HookLog

hooker = HookLog()
hooker.unhook() 
接收消息

待更新文章来源地址https://www.toymoban.com/news/detail-834075.html

防撤回

待更新

到了这里,关于【Python微信机器人】第六篇:优化使用方式,可pip安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

    全网搜索了所有相关文章,由于个人原是java老程序员,对python有点兴趣,正好这个机器人的python资料比较多,因此就着手尝试。 在网上基本没有找到python-wechaty的完整说明的使用手册因此自己写一个记录一下全过程。 真正的从0开始。只有系统。没有其他的情况下,都是全新

    2024年01月24日
    浏览(55)
  • python微信机器人制作教程+源码

    大多数人无法登录网页版,所以饶过它模拟电脑登录,这个模块一定记得安装: python微信机器人 b站:川川菜鸟 前面qq机器人教程也在b站有,关注一下博主吧。 比如给文件传输助手发送消息,并实时监控,代码: 效果如下: 比如要自动给张三发送消息,代码如下: 效果:

    2024年02月13日
    浏览(37)
  • Python基于PC版微信实现机器人

    在 github 中有基于 web 版的微信实现的实时收发消息 api , python 调用起来非常简单。但是目前来说,大部分的用户没法登录 web 版的微信,因此也就没法使用。 今天我们介绍基于 windows 版的微信,实现实时收发信息。本文站在巨人的肩膀上,基于第三方提供的库,实现自动聊

    2023年04月17日
    浏览(36)
  • 微信机器人的构建与使用

    一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055@qq.com Time of completion:2022.12.15 Last edited: 2022.12.17 目录 《微信机器人》程序使用说明 微信机器人使用说明 1.项目说明 2.  系统环境 3.准备条件 4.操作步骤 部分代码: 首先启动 Flask项目 ,然后启动 小米球内

    2024年02月09日
    浏览(44)
  • 智能寻迹避障清障机器人设计(第六章)

    本课题拥有蓝牙遥控以及红外遥控二种模式,红外遥控没有测距显示以及调节速度,其他的控制模式和蓝牙遥控一样。因而,本测试以蓝牙遥控为主。 蓝牙遥控器初始页面如图6.61所示,使用蓝牙遥控器之前用先点击连接蓝牙按钮,点击之后便会进入蓝牙选择页面如图6.1.2所示

    2024年01月17日
    浏览(32)
  • python连接自己的机器人接口在微信聊天

    机器人有连接到数据库,所以可以长记忆对话,多线程可以使得机器人同时和几个好友聊天。将消息发送到远程API进行处理,并回复处理后的消息。脚本还允许为每个好友分配一个唯一的随机 ID,以便跟不同的好友聊天并维护聊天记忆。

    2024年02月09日
    浏览(42)
  • 运用python实现企业微信群机器人消息推送

    使用场景 :将BI报表精准推送入(群),精准触达用户 目的 :提高管理层对数据的感知度 工具:python+企业微信 步骤: 1、创建企业微信群机器人,提取Webhook地址(群机器人地址) 2、编写代码填充推送内容信息实现推送 3、其他需求自定义代码编写 实现方法1–优化后 实现

    2024年02月16日
    浏览(36)
  • 【Python微信机器人】第一篇:在windows11上编译python

    我打算写一个系列,内容是将python注入到其他进程实现inline hook和主动调用。本篇文章是这个系列的第一篇,后面用到的案例是 注入python到PC微信实现基本的收发消息 。文章着重于python方面的内容,所以对于微信找收发消息的call不会去讲过程,有兴趣的可以直接百度搜 PC微信

    2024年02月08日
    浏览(44)
  • JavaDemo——使用机器人发送微信消息

    原理很简单,使用机器人模拟按键,使用剪贴板把内容copy进去发送; 需要先在pc登录微信客户端,然后用机器人按键,使用ctrl+alt+w快捷键打开微信,使用ctrl+f打开搜索,黏贴好友名称进行搜索,然后黏贴要发送的消息发送即可; 此外还需要注意耗时操作,需要等待操作完成

    2024年02月13日
    浏览(43)
  • 企业微信机器人WorkTool使用文档

    先附一下官方介绍 源码友情链接 根据产品需求的 落地场景 我这里最看重的是他的自动创建外部群拉入客户和销售,并能用接口查询群聊记录,连企业微信会话存档的费用都省了,把机器人拉群里,@机器人问问题可以预先设置简单的问答库。另一个我看重的功能是自动通过

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包