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()

運行后會生成一個二維碼  掃碼登陸  自動回復就搞好了  可以玩玩吆

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM