Python中使用itchat的相关操作

一.安装itchat

  • **pip3 install模块名**
  • 通过pycharm安装模块
    这里写图片描述

二.使用itchat对微信手机助手发送消息

import itchat
import time
import random

itchat.auto_login(hotReload=True)   #itchat.auto_login()自动登陆命令
                                    # #hotReload为热加载即是否缓存
while True:
    #给手机助手发送消息
    itchat.send('hello',toUserName="filehelper")        #发送命令为hello 发送人为'filehelper'
    itchat.send_file('etc/passwd',toUserName="filehelper")
    time.sleep(random.randint(1,3))                     ##延时发送

这里写图片描述
手机接收如下:
这里写图片描述
这里写图片描述

三.使用itchat统计你的微信好友

import itchat

itchat.auto_login(hotReload=True)   #itchat.auto_login()自动登陆命令
                                    # #hotReload为热加载即是否缓存
# 统计你的好友的男女比例
# friends是一个类似列表的数据类型, 其中第一个是自己的信息, 除了第一个之外是你的好友信息.
friends = itchat.get_friends()

info = {}  # 'male':1, 'female':, 'other':          #存储信息
for friend in friends[1:]:                          #获取好友信息
    if friend['Sex'] == 1:                          #判断好友性别,1为男性,2为女性,0为其他。
        info['male'] = info.get('male', 0) + 1
    elif friend['Sex'] == 2:
        info['female'] = info.get('female', 0) + 1
    else:
        info['other'] = info.get('other', 0) + 1
print(info)

这里写图片描述

四.获取微信群聊信息

群聊的获取方法为get_chatrooms,将会返回完整的群聊列表。
其中每个群聊为一个字典
传入update键为True将可以更新群聊列表并返回通讯录中保存的群聊列表
import itchat

itchat.auto_login(hotReload=True)   #itchat.auto_login()自动登陆命令
                                    # #hotReload为热加载即是否缓存
chatrooms = itchat.get_chatrooms(update=True)
for i in chatrooms:
    print(i['NickName'])

这里写图片描述

五.指定群组发送消息

import itchat
itchat.auto_login(hotReload=True)
def SendChatRoomsMsg(gname, context):
    # 获取群组所有的相关信息(注意最好群聊保存到通讯录)
    myroom = itchat.get_chatrooms(update=True)
    # myroom = itchat.get_chatrooms()
    #定义全局变量(也可以不定义)
    global username
    # 传入指定群名进行搜索,之所以搜索,是因为群员的名称信息也在里面
    myroom = itchat.search_chatrooms(name=gname)
    for room in myroom:
        # print(room)
        #遍历所有NickName为键值的信息进行匹配群名
        if room['NickName'] == gname:
            username = room['UserName']
            # 得到群名的唯一标识,进行信息发送
            itchat.send_msg(context, username)
        else:
            print('No groups found')
SendChatRoomsMsg('XXXXX','test')

运行结果:
这里写图片描述

六.建立微信聊天机器人

import itchat
import requests
def get_tuling_response(_info):
    print(_info)
    #图灵机器人网址
    ## 构造了要发送给服务器的数据
    api_url = "http://www.tuling123.com/openapi/api"
    data = {
        'key' : '824073e601264a22ba160d11988458e0',
        'info' : _info,
        'userid' : 'villa'
    }
    ##其中userId是用户的标志
    ##Key来告诉图灵服务器你有权和他对话
    ##info接收的信息
    res = requests.post(api_url,data).json()
    # 字典的get方法在字典没有'text'值的时候会返回None而不会抛出异常
    print(res['text'])
    return res['text']

#时刻监控好友发送的文本消息,并且给予一回复
# isGroupChat=True接收群聊消息中的文本信息, 并让图灵机器人自动回复;
# isMapChat=True接收群聊消息中的文本信息, 并让图灵机器人自动回复;
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
    #获取好友发送消息的内容
    content = msg['Content']
    #将好友的消息发送给机器人处理,处理结果就是返回给好友的消息
    returnContent = get_tuling_response(content)
    return returnContent

# if __name__ == "__main__":
itchat.auto_login(hotReload=True)
itchat.run()

这里写图片描述

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值