Releases: youfou/wxpy
wxpy 0.3.9.8 (2017-6-16)
wxpy 0.3.9.7 (2017-6-6)
-
[新增] 正式兼容 Python 2.7,感谢 @RaPoSpectre 的贡献!
-
[新增] 公众号推送中的文章列表
Message.articles
(文档)收到公众号推送消息(Sharing)时,可通过
msg.articles
来获取本条推送中的所有文章 -
[新增]
.set_remark_name()
可为群聊成员设置备注 -
[修复] 上个版本中引入的
-1001
错误 (原因) -
[修复] 为
SentMessage
对象补全了.member
属性 -
[文档] 增加了
异常处理
(文档),并调整一些细节 -
[新增] 加入了部分主要功能的 tests
wxpy 0.3.9.6 (2017-5-14)
- [修复] 原
bot.groups()
中会包含一些曾经加入但实际已退出的群 (Web 微信 BUG)- 现针对这种情况增加过滤: 仅返回包含自身的群
- [修复] 当使用
get_wechat_logger()
和WeChatLoggingHandler
时,将等级设置为INFO
导致循环发送日志的问题
wxpy 0.3.9.5 (2017-5-9)
-
[优化] 改善因网络问题导致机器人掉线的问题 (表现为发送消息时报 1101 错误,但机器人没有自动 logout)
-
[新增]
ResponseError
异常新增err_code
和err_msg
两个属性,出错时方便判断错误号try: # 尝试向某个群员发送消息 group.members[3].send('Hello') except ResponseError as e: # 若群员还不是好友,将抛出 ResponseError 错误 print(e.err_code, e.err_msg) # 查看错误号和错误消息
-
[新增]
detect_freq_limit()
,可用于检测Web微信对于特定操作的频率限制 (文档) -
[调整] 默认的机器人默认最大历史消息数调整为 200 (原先默认不限制),以节省内存占用
-
[修复] 与 Python 3.4 的语法兼容性问题
-
[修复] Message.url 报错的问题
-
[修复] wxpy 命令行工具中日志选项
-l / --logging_level
无效的问题
wxpy 的 Python 2.x 版本 (感谢 @RaPoSpectre 的贡献) 已处于测试阶段,欢迎有需要的同学进行测试
wxpy 0.3.9 (2017-4-26)
-
[新增] 持续有效,且稳定唯一的聊天对象/用户ID:
Chat.puid
属性 (文档)请使用
Bot.enable_puid()
来启用 puid# 启用 puid 属性,并指定 puid 所需的映射数据保存/载入路径 bot.enable_puid('wxpy_puid.pkl') # 指定一个好友 my_friend = bot.friends().search('游否')[0] # 查看他的 puid print(my_friend.puid) # 'edfe8468'
-
[新增] 程序中通过 .send/reply() 系列方法发出的消息:
SentMessage
类 (文档)想和好友开个玩笑?
words = '苟******,*******' sent = list() for i in words: sent.append(my_friend.send(i)) # 逐字发送 time.sleep(0.5) for i in sent: i.recall() # 全部撤回
-
[新增] Message 对象新增
receive_time
和latency
属性,分别表示 “接收时间” 和 “接收延迟秒数” (文档) -
[新增] 关注公众号 Bot.add_mp() (文档)
-
[修复] Bot.add_friend() 使用微信号作为参数时,加好友失败的问题
wxpy 0.3.6 (2017-4-15)
-
[优化] 完善了日志输出,新增新消息/对应注册函数,及各种事件的日志,方便查找问题
试试加入以下代码,查看完善后的日志
import logging # 将日志设为调试等级 logging.basicConfig(level=logging.DEBUG) # 减少网络层日志的干扰 for m in 'requests', 'urllib3': logging.getLogger(m).setLevel(logging.WARNING)
-
[新增] 支持通过 微信 ID 添加个人号或公众号为好友 (
Bot.add_friend()
)例如通过 微信 ID 加 wxpy 机器人 为好友
bot.add_friend('wxpy_bot')
-
[新增] 消息转发功能 (
Message.forward()
) 新增支持转发自己发出的个人号名片 -
[文档] 完善了各聊天对象类型的继承关系说明 (查看)
wxpy 0.3.5 (2017-4-9)
-
[优化] 机器人在线稳定性 (通过增加内部最大重试次数,实测在线数天未掉线)
-
[优化] IDE 中的自动补全提示 (通过在 docstring 中加入
rtype
字段)例如,在 PyCharm 中输入
bot.friends()
,按下.
会提示补全search()
等 -
[修复] 图灵机器人的上下文识别能力
例如
Q: 天气
A: 悄悄告诉我你在哪个城市?
Q: 深圳
A: 深圳 4月9号 周日,22-29° 多云转阵雨…
wxpy 0.3.4 (2017-3-31)
- [修复] 消息转发功能中的视频类消息转发失败的 BUG
- [修复] 将部分对象属性改为 weakref,以优化内存占用
- [调整] 群消息同步的默认消息前缀,去掉了代表性别的 emoji (可通过
prefix
参数修改)
wxpy 0.3.3 (2017-3-28)
- [新增] 为消息转发和群消息同步功能增加“地图”类消息支持
- [调整] 为群消息同步功能调整了一些 emoji 表情 (用于代表转发后的头像)
- [修复] 消息的对象的
url
属性未被反转义的问题 - [调整] 临时将
itchat
版本依赖固定为 1.2.32,以避免近期发现的一些细节问题,期待修复
wxpy 0.3.2 (2017-3-25)
-
[新增] 转发消息,目前支持 7 种消息类型
Message.forward()
(文档)例如,将公司群中的老板消息转发出来
from wxpy import * bot = Bot() # 定位公司群 company_group = ensure_one(bot.groups().search('公司微信群')) # 定位老板 boss = ensure_one(company_group.search('老板大名')) # 将老板的消息转发到文件传输助手 @bot.register(company_group) def forward_boss_message(msg): if msg.member == boss: msg.forward(bot.file_helper, prefix='老板发言') # 堵塞线程 embed()
-
[新增] 在多个群中同步消息
sync_message_in_groups()
(文档)my_groups = [group1, group2, group3 ...] @bot.register(my_groups, except_self=False) def sync_my_groups(msg): sync_message_in_groups(msg, my_groups)
-
[新增] 上传文件并获得 media_id,可用于重复发送
Bot.upload_file()
(文档) -
[新增] 堵塞进程,直到结束消息监听 (例如,机器人被登出时)
Bot.join()
(文档) -
[新增] 群聊中的机器人自身(作为群成员)
Group.self
-
[修复] 群消息中,当发送者为机器人自身时,msg.member 为 None 的问题