• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

018 Python玩转微信小程序 用Python玩转微信

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Python玩转微信

大家每天都在用微信,有没有想过用python来控制我们的微信,不多说,直接上干货!  这个是在 itchat上做的封装  http://itchat.readthedocs.io/zh/latest/

安装模块

pip3  install  wxpy    


pip install  wxpy -i "https://pypi.doubanio.com/simple/"   #豆瓣源
 

1.生成微信对象

bot = Bot()   #初始化一个对象,就相当于拿到了这个人的微信,后续的一些操作都要用它来完成

 

2.分别找到微信对象的好友,聊天对象,朋友,群组,公众号

friends = bot.friends()  # 获取朋友            chats = bot.chats()      # 获取聊天对象 
groups = bot.groups()    #获取群聊 
maps = bot.maps() #获取公众号

# 拿到的都是列表 如果要取到对象加上角标[0]
但是这样很麻烦
推荐方法,这样写
ensure_one(bot.groups().search(\'全栈开发脱产11期\'))

3.  查找某个好友

friend = bot.friends().search(\'袁勇\')[0]

 4.向好友发送消息

 1 # 发送文本
 2 my_friend.send(\'Hello, WeChat!\')
 3 # 发送图片
 4 my_friend.send_image(\'my_picture.png\')
 5 # 发送视频
 6 my_friend.send_video(\'my_video.mov\')
 7 # 发送文件
 8 my_friend.send_file(\'my_file.zip\')
 9 # 以动态的方式发送图片
10 my_friend.send(\'@img@my_picture.png\')

 

5.统计微信好友的信息,比如男女比例,地域分配,等等

bot.friends().stats_text()

 

 6.监听群里面某个人的消息

 1 from wxpy import *
 2 
 3 bot = Bot()
 4 
 5 # 定位公司群
 6 company_group = ensure_one(bot.groups().search(\'公司微信群\'))
 7 
 8 # 定位老板
 9 boss = ensure_one(company_group.search(\'老板大名\'))
10 
11 # 将老板的消息转发到文件传输助手
12 @bot.register(company_group)
13 def forward_boss_message(msg):
14     if msg.member == boss:
15         msg.forward(bot.file_helper, prefix=\'老板发言\')
16 
17 # 堵塞线程
18 embed()    # banner 参数 – 设定欢迎内容,将在进入命令行后展示。

7.接入图灵机器人  让机器人来回复好友信息

from wxpy import *
import wxpy
from wxpy import *
bot = Bot()   #初始化一个对象,就相当于拿到了这个人的微信,后续的一些操作都要用它来完成
# me = ensure_one(bot.search(\'袁勇\'))
# me.send(\'哈哈\')
all_friends = bot.friends()  # 找到我所有的好友
tuling = Tuling(api_key=\'0f329eba0af742cfb34daa64f9edef8b\') # 接入图灵机器人
for friend in all_friends :
    @bot.register(friend)
    def reply_me_friend(msg):
        tuling.do_reply(msg)
embed()

8.设置最大保存信息条数,并且可以搜索

bot = Bot()
# 设置历史消息的最大保存数量为 10000 条
bot.messages.max_history = 10000

# 搜索所有自己发送的,文本中包含 \'wxpy\' 的消息
bot.messages.search(\'wxpy\', sender=bot.self)

 

 9.用微信监控你的程序

      1.获得专用logger

wxpy.get_wechat_logger(receiver=None, name=None, level=30)
获得一个可向指定微信聊天对象发送日志的 Logger

参数:    
receiver –
当为 None, True 或字符串时,将以该值作为 cache_path 参数启动一个新的机器人,并发送到该机器人的”文件传输助手”
当为 机器人 时,将发送到该机器人的”文件传输助手”
当为 聊天对象 时,将发送到该聊天对象
name – Logger 名称
level – Logger 等级,默认为 logging.WARNING
返回:    
Logger

    2.指定一个群为消息接受者

 1 from wxpy import *
 2 
 3 # 初始化机器人
 4 bot = Bot()
 5 # 找到需要接收日志的群 -- `ensure_one()` 用于确保找到的结果是唯一的,避免发错地方
 6 group_receiver = ensure_one(bot.groups().search(\'XX业务-告警通知\'))
 7 
 8 # 指定这个群为接收者
 9 logger = get_wechat_logger(group_receiver)
10 
11 logger.error(\'打扰大家了,但这是一条重要的错误日志...\')   #默认的日志级别设置为WARNING(日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG)

   3.将异常消息发送到指定对象那里

from wxpy import get_wechat_logger

# 获得一个专用 Logger
# 当不设置 `receiver` 时,会将日志发送到随后扫码登陆的微信的"文件传输助手"
logger = get_wechat_logger()

#指定接受对象
group_reciver = ensure_one(bot.groups().search(\'全栈开发脱产11期\'))

# 发送警告
logger.warning(\'这是一条 WARNING 等级的日志,你收到了吗?\')

# 接收捕获的异常
try:
    1 / 0
except Exception as e 
    logger.exception(e)

技术指导文档:http://wxpy.readthedocs.io/zh/latest/index.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序之使用本地接口开发发布时间:2022-07-18
下一篇:
微信小程序避坑指南发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap