怎么用Python把爱人感动的不要不要的?

247 阅读3分钟
原文链接: zhuanlan.zhihu.com

hi~


landis and gentlemen!!!





long time 不见了!


这次,想说点有用的,就是我们在跟另一半相处的时候,经常会使用微信来进行感情传递。想想,如果我们能让我们自己的微信有独特的功能,比如,时不时微信自动“关心”一下对方,时不时自动提醒对方喝热水,时不时自动查询天气状况,提醒对方穿衣等等。


是不是很爽呢?


对于 Python 来说,这些都是小意思,那么咱们就用Python来给我们的微信加点料,让另一半对你爱的死去活来?







看什么看,打开你的pycharm

新建一个love的python文件









有一个牛逼的python模块叫itchat。

这个库有多牛逼?它就是微信的神器!

快点导入

之前没有过itchat模块的就pip install一下。



接着一行代码就能登录你的微信,然后就可以用python控制了!

itchat.auto_login()





登录完之后

使用itchat的run方法

itchat.run()


就可以让python检测对方发过来的消息了。


@itchat.msg_register(['Text', 'Map', 'Card', 'Note', 'Sharing'])
def text_reply(msg):
    itchat.send('%s: %s'%(msg['Type'], msg['Text']), msg['FromUserName'])


在你的 Pycharm 试试看!


import itchat


@itchat.msg_register(['Text', 'Map', 'Card', 'Note', 'Sharing'])
def text_reply(msg):
    itchat.send('%s: %s'%(msg['Type'], msg['Text']), msg['FromUserName'])

itchat.auto_login()
itchat.run()





右键运行 love,是不是有个二维码?

用你的微信扫一扫,以网页的方式登录!

登录完你就可以用你的代码

控制你的微信了!





我们刚刚写的代码,就是对方发给你啥,你就回复啥!


测试一下?


让对方给你发个短信看看。










ok,没毛病,测试成功。

那么接下来,发挥你自己的想象力。


比如在每天晚上23点33分

跟对方说你们在一起多久了

很是爱对方

把对方感动的不要不要的



涉及到时间

所以我们要导入datetime模块


from datetime import datetime



接着我们在创建一个获取在一起多少天的方法


def get_days():
    now = datetime.now()
    # 你们在一起的日子
    start_day = datetime(2018, 11, 11)
    days_num = (now - start_day).days
    return days_num


接着,我们在来个线程,当到了23点33分的时候

我们就发送消息给对方


def say_love():
    while True:
        now_time = datetime.now()
        print(str(now_time.hour) + "---" + str(now_time.minute))
        if now_time.hour == 23 and now_time.minute == 33:
            message = 'oh~~亲爱的,我们已经在一起' + str(get_days()) + '天了,我每天都记着呢,而且每天我都告诉你,我爱你哦!'
            userinfo = itchat.search_friends(remarkName='wistbean')
            username = userinfo[0]['UserName']
            itchat.send(message,toUserName=username)
        time.sleep(60)


运行一下代码

测试一下看看









恩,还不错!

可以把程序放到服务器上跑

那么以后每天就自动给对方发有爱的信息了


可以动动你的脑筋


比如

对方给你发消息的时候

你可以去调用图灵机器人的API

然后将返回的信息发送给对方


比如

你在玩游戏或者看片的时候

可以设置个留言的方法


itchat.send('亲爱的,我在学习哦,等会做完笔记我再回复你',toUserName=username)



算了...


不能教太多

毕竟

爱情

还是要靠自己那颗心





刚说到的代码


import itchat
from datetime import datetime
import threading
import time


# @itchat.msg_register(['Text', 'Map', 'Card', 'Note', 'Sharing'])
# def text_reply(msg):
#     itchat.send('%s: %s'%(msg['Type'], msg['Text']), msg['FromUserName'])
def get_days():
    now = datetime.now()
    # 你们在一起的日子
   start_day = datetime(2018, 11, 11)
    days_num = (now - start_day).days
    return days_num

def say_love():
    while True:
        now_time = datetime.now()
        print(str(now_time.hour) + "---" + str(now_time.minute))
        if now_time.hour == 23 and now_time.minute == 33:
            message = 'oh~~亲爱的,我们已经在一起' + str(get_days()) + '天了,我每天都记着呢,而且每天我都告诉你,我爱你哦!'
            userinfo = itchat.search_friends(nickName='wistbean')
            username = userinfo[0]['UserName']
            itchat.send(message,toUserName=username)
        time.sleep(60)

itchat.auto_login()
t1 = threading.Thread(target=itchat.run)
t2 = threading.Thread(target=say_love)
t1.start()
t2.start()
t1.join()
t2.join()



对了...


刚刚这个

叼毛,

有点嚣张,已经被我的小弟打死了。



案发现场如下











还不在微信搜索【学习python的正确姿势】加入pythonner的聚集地?


ps:还没获取我精心准备的 Python 电子书和思维导图等干货的可以在我的公众号「学习Python的正确姿势」中发送 python 免费获取哦!


别忘了点赞哦!!!!!!!!