zoukankan      html  css  js  c++  java
  • python 几行代码实现自动回复功能

    今天发现python一个很好玩的模块 itchat ,可以很简单就实现一个自动回复    话不多说  上代码:

    import itchat
    import requests
    import re
    import sys
    
    reload(sys)
    sys.setdefaultencoding('utf8')
    
    
    # 抓取网页
    def getHtmlText(url):
        try:
            r = requests.get(url, timeout=30)
            r.raise_for_status()
            r.encoding = r.apparent_encoding
            return r.text
        except:
            return ""
    
    
    # 自动回复
    # 封装好的装饰器,当接收到的消息是Text,即文字消息
    @itchat.msg_register(['Text', 'Map', 'Card', 'Note', 'Sharing', 'Picture'])
    def text_reply(msg):
        print msg
        # 当消息不是由自己发出的时候
        # if not msg['FromUserName'] == Name["Jestiao"]:
        # 回复给好友
        url = "http://www.tuling123.com/openapi/api?key=b6a58f77524e49f1ad0c15274142dd53&info="
        url = url + msg['Text']
        html = getHtmlText(url)
    
        message = re.findall(r'"text":".*?"', html)
    
        reply = eval(message[0].split(':')[1])
        print reply ,'[]'
        return reply
    
    
    if __name__ == '__main__':
        # 扫码登陆微信
        itchat.auto_login()
        # 获取自己的UserName
        friends = itchat.get_friends(update=True)[0:]
        #  使用字典存放好友昵称与用户名
        Name = {}
        # 好友昵称
        Nic = []
        # 好友用户名
        User = []
        for i in range(len(friends)):
            Nic.append(friends[i]["NickName"])
            User.append(friends[i]["UserName"])
        for i in range(len(friends)):
            Name[Nic[i]] = User[i]
        itchat.run()

    还有一个  自行观看:

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    # @Author  : nanyu
    # @File    : 111.py
    # @Time    : 2019/4/17 14:14
    # @Software: PyCharm
    import itchat
    import time
    global num
    global lis
    # @itchat.msg_register(itchat.content.TEXT) #模块自带装饰器  可根据需要自行百度
    @itchat.msg_register(itchat.content.TEXT, isGroupChat=False)  #针对群聊
    def text_reply(msg):
        print msg  #消息所有内容
        bb=msg.get('User').get('NickName') # 网名
        # if msg.get('ActualNickName') == 'xxx':  针对群聊
        #     return u'你可能不信 这是自动回复! 但是这确实是自动回复'
        if msg.get('User').get('RemarkName') == u'XXX': #备注  根据不同的人  回复不同消息
            global num1, lis1
            if num1 == len(lis1):
                lis1.append(u'你可能不信 这是自动回复! 但是这确实是自动回复')
                lis1.append(u'啥  不信  我他妈 ')
                lis1.append(u'你的网名:' + msg.get('User').get('NickName'))  #获取网名
                lis1.append(u'你的个性签名:' + msg.get('User').get('Signature'))  #获取个性签名  更多信息 可从ms查看
                sex = u'' if msg.get('User').get('sex') == 1 else u''
                lis1.append(u'性别:' + sex)
                lis1.append(u'你所在城市:' + msg.get('User').get('City'))
                lis1.append(u'咋样信了吧 小样')
                lis1.append(u'告辞!!')
                lis1.append(u'家境贫寒告辞')
            b = lis1[0]
            del lis1[0]
            return b
        elif msg.get('User').get('NickName') == u'xx':
            global num2, lis2
            if num2 == len(lis2):
                lis2.append(u',你可能不信 这是自动回复! 但是这确实是自动回复')
                lis2.append(u'啥  不信  我他妈 ')
                lis2.append(u'你的网名:' + msg.get('User').get('NickName'))
                lis2.append(u'你的个性签名:' + msg.get('User').get('Signature'))
                sex = u'' if msg.get('User').get('sex') == 1 else u''
                lis2.append(u'性别:' + sex)
                lis2.append(u'你所在城市:' + msg.get('User').get('City'))
                lis2.append(u'咋样信了吧 小样')
                lis2.append(u'告辞!!')
                lis2.append(u'家境贫寒告辞')
            b = lis2[0]
            del lis2[0]
            return b
        
        # else:
        #     return u'你可能不信 这是自动回复! 但是这确实是自动回复'
    
    itchat.auto_login()
    itchat.run()

    运行后会生成一个二维码  扫码登陆  自动回复就搞好了  可以玩玩吆

  • 相关阅读:
    linux umask使用详解
    Linux 解压压缩命令
    linux命令:tail 命令
    linux命令:head 命令
    linux下cat命令详解
    linux命令:rm 命令
    linux命令:mv命令
    Linux 的cp命令
    文件权限详解
    Linux ls命令参数详解
  • 原文地址:https://www.cnblogs.com/nanyu/p/10724944.html
Copyright © 2011-2022 走看看