目录:

  • 目录:
  • 前言
  • 异常处理
    • 异常的抛出和捕捉
    • 已知错误码
    • 注意

前言

学习完了python的基本概念和相应操作后,就要进入实战阶段了,首先选的是和微信端口自动交互的wxpy。
本文操靠wxpy的官方文档:官方文档
机器人对象可以参考前文:机器人对象
聊天对象可以参考前文:聊天对象
消息处理可以参考前文:消息处理
微信监控可以参考前文:微信监控
探索调试可以参考前文:探索调试
实用组件可以参考前文:实用组件

异常处理

异常的抛出和捕捉

每当使用 wxpy 向微信发出请求 (例如发送消息、加好友、建群等操作),wxpy 都会在收到服务端响应后进行检查。

若响应中的错误码不为 0,程序将抛出 ResponseError 异常。

class wxpy.ResponseError(err_code, err_msg)[源代码]当 BaseResponse 的返回值不为 0 时抛出的异常err_code错误码 (int)err_msg错误消息 (文本),但可能为空

捕捉异常:

try:# 尝试向某个群员发送消息group.members[3].send('Hello')
except ResponseError as e:# 若群员还不是好友,将抛出 ResponseError 错误print(e.err_code, e.err_msg) # 查看错误号和错误消息

已知错误码

通常来说,每个错误码表示一种类型的错误。

但因微信未公开 (也没有义务公开) 这套错误码体系的具体说明,我们只能根据经验猜测部分错误码的定义。

以下为一些常见的已知错误码。欢迎提交 PR 进行完善。
“`
1205

通常因为操作频率过高。需要控制频率,避免再次引起该错误。

注意

Web 微信对 加好友、建群 这两种操作的频率限制尤其严格!

对于微信而言,为了机器人避免打扰其他用户,以及控制服务器的负载压力,需要对各种不同的操作进行频率限制。

通常每种操作可有多层频率限制,而每层频率限制分为两个参数:

周期、次数,分布表示: 在 x 周期内,只能发送 y 个请求。

举个例子:

对于 发送消息 操作,可能会是这样 (数值为虚构):层   限制周期    限制次数1   2 分钟    1202   10 分钟   3003   1 小时    10004   24 小时   2000可能会有用户在 1 分钟内狂发 100 条消息。但这样的频率不可能维持一整天,所以一天内 3000 条是足够的。通过以上方式,微信可实现较为合理的限制。

1204

通常因为操作对象不为好友关系。例如尝试向一位不为好友的群员发送消息时,会引起这个错误。
1100, 1101, 1102

通常表示机器人已经掉线,需要重新登录。

请重新初始化 Bot 对象,并重新注册消息。

因为重新登录后,聊天对象的 user_name 可能已经变化,所以原先的消息注册也会因此失效。

Python进阶_wxpy学习:异常chu'li相关推荐

  1. Python进阶_wxpy学习:实用组件

    目录: 目录: 前言 实用组件 聊天机器人 图灵 小 i 查找共同好友 忽略 ResponseError 异常 前言 学习完了python的基本概念和相应操作后,就要进入实战阶段了,首先选的是和微信端 ...

  2. Python进阶_wxpy学习:用微信监控你的程序

    目录: 目录: 前言 用微信监控你的程序 获得专用 Logger 指定接收者 前言 学习完了python的基本概念和相应操作后,就要进入实战阶段了,首先选的和微信端口自动交互的wxpy. 本文操靠wx ...

  3. Python进阶_wxpy学习:消息处理

    目录: 目录: 前言 消息处理 消息对象 内容数据 用户相关 群聊相关 回复方法 转发消息 自动处理消息 开始运行 示例代码 已发送消息 历史消息 前言 学习完了python的基本概念和相应操作后,就 ...

  4. Python进阶_wxpy学习:常见问题

    目录: 目录: 前言 必看: 常见问题 FAQ 提示 每次登陆都要扫码? 小技巧 为什么要开发 wxpy? 前言 学习完了python的基本概念和相应操作后,就要进入实战阶段了,首先选的是和微信端口自 ...

  5. Python进阶_wxpy学习:原始数据

    目录: 目录: 前言 itchat 与原始数据 使用 itchat 的原接口 使用原始数据 前言 学习完了python的基本概念和相应操作后,就要进入实战阶段了,首先选的是和微信端口自动交互的wxpy ...

  6. Python进阶_wxpy学习:愉快的探索和调试

    目录: 目录: 前言 愉快的探索和调试 使用 wxpy 命令 初始化一个名为 bot 的机器人: 前言 学习完了python的基本概念和相应操作后,就要进入实战阶段了,首先选的和微信端口自动交互的wx ...

  7. Python进阶_wxpy学习:聊天对象

    目录: 目录: 前言 聊天对象 各类型的继承关系 基础类 实际类 基本聊天对象 公众号 前言 学习完了python的基本概念和相应操作后,就要进入实战阶段了,首先选的和微信端口自动交互的wxpy. 本 ...

  8. Python进阶_wxpy学习:机器人对象

    目录: 目录: 前言 机器人对象 初始化/登陆 搜索聊天对象 搜索好友: 搜索群聊: 在群聊中搜素: 搜索任何类型的聊天对象 (但不包含群内成员) 加好友和建群 自动接受好友请求: 其他 控制多个微信 ...

  9. python进阶之学习笔记_干货 | Python进阶系列之学习笔记(二)

    目录 对象 字符串 一.对象 (1)什么是对象 在python中一切都是对象,每个对象都有三个属性分别是,(id)身份,就是在内存中的地址,类型(type),是int.字符.字典(dic).列表(li ...

最新文章

  1. s1考试 图书管理系统 结构体版
  2. NeurIPS 2021 | 寻MixTraining: 一种全新的物体检测训练范式
  3. Qt Dll总结——链接库预备知识(转载)
  4. maven_结合使用嵌入式Tomcat和Maven tomcat插件
  5. 二进制文件后缀_ZSY2018综合录井仪的数据流与数据文件
  6. 查询复旦大学往年的考研成绩
  7. 在原生js中的事件监听方法
  8. LAMP环境下配置虚拟主机和域名的跳转
  9. 机器学习笔记(三)——正则化最小二乘法
  10. 2021年泸州市高考三诊成绩查询,2020-2021学年四川省泸州市高考数学三诊试卷(理科)及答案解析...
  11. dell服务器硬盘锁_服务器十大排行
  12. React:网络工具库
  13. bootstrap4 图标和文字行内对齐
  14. 宽高变化动画代码,旋转动画代码(HTML5)
  15. python面向对象程序设计董付国ppt_(董付国)Python 学习笔记---Python面向对象程序设计(1)...
  16. 项目成功部署到idea ,并且成功运行,访问却是404
  17. 注意: 如何解决Windows Server 2008 R2 EFI启动模式安装2019年8月更新KB4512486 KB4512506  KB4512514后自动进入修复模式,无法正常启动问题!!!
  18. python基于django校园信息管理平台设计与实现(项目源码+视频录制+截图)
  19. php gd库 缩小图片_【源码分享】PHP中GD库实现图片等比例缩放
  20. 贝叶斯优化: 一种更好的超参数调优方式

热门文章

  1. Essential fact about future of PhD studies
  2. 我希望你能精简一些东西
  3. 博弈之 取石子1——6)
  4. oracle连接数据的oci和thin的区别
  5. 第三次作业:阅读《构建之法》1-5章有感
  6. Build OpenVSwitch and OVN
  7. 阿里云总裁胡晓明:保护客户数据隐私是阿里云第一原则
  8. 常见架构TLB miss处理方法(转)
  9. Oracle执行计划顺序
  10. 看文艺青年怎么玩微信客户端