当前位置 主页 > 服务器问题 > Linux/apache问题 >

    妙用itchat! python实现久坐提醒功能

    栏目:Linux/apache问题 时间:2019-11-27 09:55

    本文实例为大家分享了python久坐提醒的具体实现代码,供大家参考,具体内容如下

    #!/usr/bin/envy python3
    #-*- coding:utf-8 -*-
    import itchat
    import datetime, os, platform,time
     
    def timerfun(sched_time) :
     flag = 0
     while True:
      now = datetime.datetime.now()
      if now > sched_time and now < sched_time + datetime.timedelta(seconds=1) : # 因为时间秒之后的小数部分不一定相等,要标记一个范围判断
       send_move()
       time.sleep(1) # 每次判断间隔1s,避免多次触发事件
       flag = 1
      else :
       #print('schedual time is {0}'.format(sched_time))
       #print('now is {0}'.format(now))
       if flag == 1 :
        sched_time = sched_time + datetime.timedelta(hours=1) # 把目标时间增加一个小时,一个小时后触发再次执行
        flag = 0
     
    def send_move :
     # nickname = input('please input your firends\' nickname : ' )
     # 想给谁发信息,先查找到这个朋友,name后填微信备注即可,deepin测试成功
     # users = itchat.search_friends(name=nickname)
     users = itchat.search_friends(name='大壮') # 使用备注名来查找实际用户名
     #获取好友全部信息,返回一个列表,列表内是一个字典
     print(users)
     #获取`UserName`,用于发送消息
     userName = users[0]['UserName']
     itchat.send("该起来动一下了!",toUserName = userName)
     print('succeed')
     
    if __name__=='__main__':
     itchat.auto_login(hotReload=True) # 首次扫描登录后后续自动登录
     sched_time = datetime.datetime(2018,7,12,13,24,11) #设定初次触发事件的事件点
     print('run the timer task at {0}'.format(sched_time))
     timerfun(sched_time)

    需要注意的是需要先下载itchat,方法为pip install itchat ,python3.6自带pip, 只需在scripts目录下按住shift鼠标点击右键即可,运行命令即可。

    小编再为大家分享一段python代码,给爱的人设置喝水提醒功能

    import datetime,time
    import itchat
     
    def timefun(stoptime):
     now=datetime.datetime.now()
     gap=datetime.timedelta(hours=1,minutes=30)
     #stoptime=datetime.datetime(2018, 12, 11, 18, 00, 00)
     if now+gap<stoptime:
      sendmessage()
      time.sleep(5400)
    def sendmessage():
     target=itchat.search_friends(name='你的小可爱的名字,记住不是昵称,是你起得名字哦')
     name=target[0]['UserName']
     itchat.send("记得喝水哦",toUserName=name)
     print('success')
    if __name__=='__main__':
     itchat.auto_login(hotReload=True)
     stoptime=datetime.datetime(2018, 12, 11, 18, 00, 00)
     timefun(stoptime)

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。