Python itchat 微信推送消息至指定群聊或个人

itchat 安装

pip install itchat

登录

    def __init__(self):
        # 登录微信enableCmdQR表示的是当完全的命令行界面可以弹出文本绘制的二维码
        # 可以让你得以扫码登录,hotReload表示的连续几次运行不需要再次扫码
        itchat.auto_login(hotReload=True)

判断登录状态

    def Login(self):
        """判断登录状态"""
        # 获取所有好友信息详情 search_friends() 返回字典 第一条信息为自己
        content = itchat.search_friends()
        # NickName 获取好友昵称
        name = content['NickName']
        if not name:
            print('登录失败')
            return False

        print('登录成功')
        return True

发送消息至指定群聊

    # 获取所有群的相关信息, name根据群名称获取指定群信息
        # search_chatrooms 获取通讯录中群聊列表 update=True 会获取实时有信息的群
        # myroom = itchat.get_chatrooms(update=True)

        path = os.path.abspath('.') + r'\log\Push_record.txt'
        myroom = itchat.search_chatrooms(name='蛋蛋')
        for room in myroom:
            # NickName 获取群名称
            if room['NickName'] == '蛋蛋':
                # UserName 获取群UUID 根据ID发送信息
                username = room['UserName']
                # send_msg 发送信息 参数:信息内容,uid
                itchat.send_msg(msg, username)
                with open(path, 'a+', encoding='utf-8') as f:
                    f.write(msg + '\n')
                print("消息发送成功")
            else:
                print('No groups found')

发送消息至指定好友–获取好友uuid

   """获取好友UUID"""
        # search_friends 根据好友备注名称获取好友ID 返回列表 如有多个相同备注 全部返回
        UID = []
        remarks = [好友备注列表]
        for i in remarks:
            # 获取好友信息
            users = itchat.search_friends(i)
            if not users:
                # print('没有此好友')
                continue
            userName = users[0]['UserName']
            UID.append(userName)
        return UID

发送消息至指定好友–根据好友ID发送消息

    def SendFriend(self, msg):
        """个人"""
        path = os.path.abspath('.') + r'\log\Push_record.txt'
        # 根据好友ID发送信息
        uaername = self.GetUserName()
        for i in uaername:
            # toUserName UUID参数
            itchat.send(msg, toUserName=i)
            # print("发送成功")
        with open(path, 'a+', encoding='utf-8') as f:
            f.write(msg + '\n')

PS:首先确定微信账号是否可登录网页版微信,如提示下图所示,请自行解决账号问题,烦请告知解决办法
错误提示
本文中个人推送,是通过好友备注名称获取好友ID,通过好友ID发送消息,请确保好友备注正确
**

如需完整源码请下方留言!!!

**

你可能感兴趣的:(python,itchat,微信推送,微信自动回复,微信自动发送消息)