微信自动发送新年祝福/自动回复

5020 ワード

今日は大晦日です.皆さん、お正月おめでとうございます.予見することができて、晩にまた1波の祝福の爆撃で、どのように微信の友达が多すぎて、情报を受信して手が震えるまで、春节のパーティーも細かく味わうことができなくて、携帯電話を置いて家族と天倫の楽を共有することができなくて(屈辱の颜)、しかし恐れないで、Pythonはむだに学んだのではありません!次は自動的に祝福の言葉を送って、それから自動的に返事をして、このすべてはwxpyの存在に感謝しなければなりませんハハハハ.
この操作はPython 3の環境に基づいており、必要なパッケージはpip install[パッケージ名]でインストールでき、インストール後にまずパッケージをインポートし、
from wxpy import *
import requests
import random
import time
from tqdm import tqdm  #display the progress bar

次に、wxpyに基づいて3つの主要な機能を実現します.
①pythonプログラムでWeb版の微信にログインし、
#login the wechat
def LoginWechat():
    bot=Bot()
    return bot

あなたは間違っていません.このように簡単で、この関数を実行するとQRコードが現れ、携帯電話の微信でQRコードをスキャンすれば、ホームページ版の微信に登録することができます.
②新年のお祝いをする
私たちの诚意を示すために、异なる友达に异なる祝福(ヒッピー笑颜)を与えるべきで、だから私达はまず1つの祝福语のリストを用意して、次は祝福を送ることで、変数msgは相手が受け取った情报を表して、tqdmを通じて进度条を表示して、私达に更に直感的に今祝福を送る情况を见ることができて、コードは以下の通りです:
#send new year greeting
def SendYearGreeting(bot):
    greet_list = ['   1','   2','……']
    friends = bot.friends()
    print("        ……")
    for friend in tqdm(friends):
        if friend.sex == 1:  #   
            msg = '     ,      ,       :'
        elif friend.sex == 2:  #   
            msg = '     ,      ,       :'
        else:
            msg = '  ,      ,       :'
        
        #                 
        msg += greet_list[random.randrange(len(greet_list))]
        
        try:
            friend.send(msg)
        except:
            print(friend)

        time.sleep(2) #        2 ,               

③自動返信
長年の経験によると、あなたと関係の悪い友达は新年の祝福を受けた後にあなたに返事をします.この時、私たちが返事をしなければ、よくありません.だから返事しますが、何を返事しますか?......何?正確な返事が欲しいの?では、自然言語処理(nlp)の問答システムを研究しなければなりません.ある日、このブログで問答システムに関する内容を更新するかもしれませんが、今、考え方を変えましょう.また、長年の経験から、多くの人の返事は「同楽」や表情などです.そうすれば、豚の年の祝福の表情や図を返事すればokになります.そうしましょう.
同様に、ランダムに返信するための画像リストを用意します.
ここで特に注意しなければならないのは、プログラムが実行すると終了し、プログラムが常に傍受されている状態になるために、コードbotを1行追加する必要があることです.join()またはembed()はプログラムをブロックします.
また、ニュースを傍受すると、「どんな人のニュースを傍受しますか?」と聞かれます.すべてのメッセージ?それともグループのニュースですか?それとも友達のニュースですか?それとも公衆番号の中にありますか?これは、@bot.register(パラメータ)は、パラメータが空の場合、すべてのメッセージをデフォルトで傍受することを決定し、本稿では友人のメッセージのみを傍受したいので@bot.と書く.register(friends)、はい、friendsを定義しておきます.具体的には、公式ドキュメントチャットオブジェクト-wxpy 0.3.9.8ドキュメントを参照してください.
#reply the friends
def AutoReply(bot):
    friends = bot.friends()
    image_list=["pig.jpg","pig2.jpg","eat.jpg","year.jpg","fu.jpg"]
    print("           ……")
    @bot.register(friends)
    def print_others(msg):
        #         
        print(msg)
        #     
        image=image_list[random.randrange(len(image_list))]
        msg.reply_image(image)
    #embed()
    bot.join()

以上がすべての内容で、最后に最も素朴な祝福の“新年おめでとうございます!豚年大吉!”
何?すべてのコードが必要ですか?手を伸ばすなよ!ojbk......下へ引いて...
#!/usr/bin/env python
# coding=utf-8
from wxpy import *
import requests
import random
import time
from tqdm import tqdm

def LoginWechat():
    bot=Bot()
    return bot

def SendYearGreeting(bot):
    greet_list = ['     ,     ,     ,     !    。',
                  '               ,               。         ,         。               。      :    !',
                  '    ,    :1   2   3   4   5   6   7   8   9   10   ,    !',
                  '       。               ,         ,         ,          !',
                  '    ,    ,    ,     ,     ,     ,         ,     !',
                  '    ,     ,     ,     ,       。        ,    。',
                  '  2019 :365       ,8760        ,525600     ,31536000     !',
                  '        :     ,     ,     ,     ,     ,     ,     。',
                  '  、  、   ,       ;  、  、   ,       。      !',
                  '        ,            ;        ,          。      。'
                  ]
    #friends = [bot.friends().search(u'  ')[0]]
    friends = bot.friends()
    print("        ……")
    for friend in tqdm(friends):
        if friend.sex == 1:  #   
            msg = '     ,      ,       :'
        elif friend.sex == 2:  #   
            msg = '     ,      ,       :'
        else:
            msg = '  ,      ,       :'

        msg += greet_list[random.randrange(len(greet_list))]

        try:
            friend.send(msg)
        except:
            print(friend)

        time.sleep(2)

def AutoReply(bot):
    friends = bot.friends()
    image_list=["pig.jpg","pig2.jpg","eat.jpg","year.jpg","fu.jpg"]
    print("           ……")
    @bot.register(friends)
    def print_others(msg):
        #         
        print(msg)
        #     
        image=image_list[random.randrange(len(image_list))]
        msg.reply_image(image)
    #embed()
    bot.join()

if __name__=='__main__':
    bot=LoginWechat()
    SendYearGreeting(bot)
    AutoReply(bot)



もうこれ以上引っ張らないでください.あの人にもベースラインがあります.