2019 新年好:一个基于itchat的微信个性化群发祝福,分享给大家~

本文介绍了一种使用Python和itchat插件实现个性化群发祝福的方法,通过设置好友备注昵称,能够在群发祝福中加入个性化元素,提升祝福的诚意感。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

互相送祝福,是我国的传统习俗,也是一种活跃气氛的方式。随着互联网的普及,人手一部手机的时代已经到来,聊天工具自然是一种必需品,以免费的姿态取代了短信祝福。

But,也越来越多的人收到了很多群发祝福,纷纷表示看看就好。个人感觉最大的原因就是,大家认为这是不够上心的祝福。那么作为计算机专业的童鞋,如何利用技术做到个性化群发,让小伙伴们收到够上心的祝福呢?

本文基于itchat插件写了一个需要你上点心的个性化群发脚本,能够让小伙伴们觉得你是够上心的,也能够让你看看是不是有一些好友已经不是好友了 T T...

之所有说需要你上点心的原因:有一件事情需要你日积月累去做,那就是给你的小伙伴好友们备注昵称。以下代码的备注规则如下:XXX-XXX-你想发送的称呼,例如:

1)某老板:XX公司-某总 --> 某总,新年好~

2)某员工:XX公司-小明 --> 小明,新年好~

3)某同学:小王 --> 小王,新年好~

其中,新年好这些祝福内容你可以自定义,重点是昵称要设置好。

代码如下:

# coding=utf8
import itchat
import time
## python2 需要加上如下语句:中文问题
# import sys
# from imp import reload
# reload(sys)
# sys.setdefaultencoding('utf-8')


#### 核心部分
## 安装 itchat: pip install itchat (本文是基于 Anaconda3 进行安装的)
## 获取所有的微信好友:users = itchat.get_friends(update=True)[0:]
## users 是一个list。list中的每个元素都是个字典,本文用到的键值如下:
### RemarkName:你给好友备注的昵称
### UserName:好友的用户名,是个主键
## itchat.send(msg, toUserName = user_name)     ## 根据用户名发送给指定的好友


def happy_holiday():

    itchat.auto_login(hotReload=True)       ## 登录微信,要扫描登录
    users = itchat.get_friends(update=True)[0:] ## 获取所有的微信好友

    ## 一些统计变量
    num_total = 0
    num_send = 0

    ## 直接遍历每个好友,然后根据自己的需求设置一些相关的约束条件,决定是否发送以及发送什么内容
    for item in users:

        if "-" in item['RemarkName']:
            name = item['RemarkName'].split("-")[-1]
        else:
            name = item['RemarkName']

        ## 根据用户昵称发送祝福信息
        ## 没给备注的用户:其昵称默认为空字符串
        ## 发送消息时,获取键值为 UserName 的主键(获取指定的用户)
        ## 测试时,可发送给 filehelper 文件传输助手: toUserName='filehelper'
        ## itchat.send(u"祝{}2019除夕&&新年快乐哈,身体健康,顺顺利利~".format(name), toUserName='filehelper')
        try:
            num_total += 1
            user_name = item['UserName']
            name = name.split()[0] ## 排除一些奇奇怪怪的昵称以及空字符串, hhhh
            if name != "":  ## 
                num_send += 1
                print("UserName = {}, name = {}".format(item['UserName'], name))
                itchat.send(u"^^祝{}: 2019除夕&&新年快乐哈,身体健康,顺顺利利~".format(name), toUserName = user_name)                
            # else:
            #     print("UserName = {}, name = {}".format(item['UserName'], name))
            #     # itchat.send(u'%s %s %s'%("祝 ", item['NickName'], " 2018除夕&&新年快乐哈~"), toUserName = user_name)
            
            time.sleep(2)   ## 不要发得太频繁,以免发生一些不必要的麻烦

        except Exception as e:
            print("Not Send{}: {}".format(item['UserName'], e))


    print(num_total, num_send)

### main program
if __name__ == '__main__':

    print('... start ...')
    happy_holiday()
    print("... end ...")

参考资料:

itchat​pypi.org

项目简介 - itchat​itchat.readthedocs.io

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值