数据蛙数据分析每周作业

Python库学习 wxpy - 微信机器人

2019-01-20  本文已影响7人  Spareribs

本周考虑到实现一个微信机器人的功能,研究了一下 wxpy 这个库

参考文档

说明文档
Github链接
从零开始微信机器人(一):wxpy简介(登录、消息发送、注册回复)
从零开始微信机器人(二):使用图灵机器人和api.ai相关接口
从零开始微信机器人(三):表情机器人的制作

简单的demo

例子1:获取聊天群里面所有@我的消息,并回复信息

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from wxpy import *

bot = Bot(cache_path=True)

# 机器人账号自身
myself = bot.self

# 给机器人自己发送消息
bot.self.send('Hello World!')


@bot.register(Group, TEXT)
def print_group_msg(msg):
    if msg.is_at:
        print(msg)
        print(msg.text, type(msg.text))
        msg.reply(u"你的内容是:**{0}**\n这是排骨的测试~~~".format(msg.text))

embed() # 阻塞进程

例子2:获取群成员,主要是Member这个类的分析

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from wxpy import *

bot = Bot(cache_path=True)

# 机器人账号自身
myself = bot.self

# 给机器人自己发送消息
bot.self.send(u'Hello World!')

group_fzr = bot.groups().search(u'***')[0]
group_zj = bot.groups().search(u'***')[0]
group_zzj = bot.groups().search(u'***')[0]
print(group_fzr, group_zj, group_zzj)

members_list = []
for fzr in group_fzr.members:
    members_list.append(fzr)
    # print fzr.is_friend, fzr.name, fzr.nick_name
for zj in group_zj.members:
    members_list.append(zj)
    # print zj.is_friend, zj.name, zj.nick_name
for zzj in group_zzj.members:
    members_list.append(zzj)
    # print zzj.is_friend, zzj.name, zzj.nick_name

print(len(members_list))
members_set = set(members_list)
print(len(members_set))
for mem in members_set:
    # print mem.is_friend, mem.name, mem.nick_name
    print mem.name

待分析的问题

上一篇下一篇

猜你喜欢

热点阅读