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

今天除夕,大家过年好啊!可以预见,晚上又是一波波的祝福轰炸,奈何微信好友太多,收发信息到手抖,春节晚会也不能细细品味,亦不能放下手机与家人共享天伦之乐(委屈脸),不过不怕,Python不是白学的!下面就来操作一波自动发送祝福语,然后自动回复,这一切都得感谢wxpy的存在哈哈哈哈。

本文操作基于Python3的环境,需要的包可通过pip install [包名] 进行安装,安装之后首先导入包,

from wxpy import *
import requests
import random
import time
from tqdm import tqdm  #display the progress bar

接下来基于wxpy实现三个主要的功能:

①通过python程序登录网页版微信,

#login the wechat
def LoginWechat():
    bot=Bot()
    return bot

你没看错,就是这么简单,运行这个函数之后会出现一个二维码,用手机微信扫码二维码即可登录到网页版微信。

②发送新年祝福

为了显示我们的诚意,应给不同的好友不同的祝福(嬉皮笑脸),所以我们要首先准备一个祝福语列表,接下来就是发送祝福了,变量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.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)


*********************************************************不要再拉了,人家也是有底线的****************************************************

虽然这个博文讲的是自动发送和回复新年祝福,但是该技术的应用可绝对不仅限于此哦。经常看到有人花钱买这样一个服务,那就是帮忙检测一下自己微信好友列表里的人哪些是把自己删掉了的,这个其实就可以用本文的技术实现,思路是:对好友列表的每个人自动发送空字符串,即

friend.send('')

这样做不会打扰到没有删除你好友的人,因为他们不会收到任何消息,但如果某个人删除你好友了,你就会收到不是好友的提示,至于你要不要删掉这个人,就看你咯

发布了34 篇原创文章 · 获赞 20 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/G_B_L/article/details/86763093