python中itchat_python打招呼的代码

python中itchat_python打招呼的代码#!/usr/bin/envypython3#-*-coding:utf-8-*-importitchatimportdatetime,os,platform,timedeftimerfun(sched_time):flag=0whileTrue:now=datetime.datetime.now()if…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

#!/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鼠标点击右键即可,运行命令即可

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188582.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【语言-C++】多线程通同步 临界区 CCriticalSection 与 CSingleLock

    【语言-C++】多线程通同步 临界区 CCriticalSection 与 CSingleLock多线程通同步与互斥示例下面示例是一个相机处理和显示分开的两个线程:定义临界区使用单锁#define_CRITICAL_LOCK(critical_lock) CSingleLocklocker(&critical_lock); locker.Lock();CCriticalSection_critical_data2;启动线程,创建四个事件:停止线程事件、处理图

    2022年7月20日
    11
  • inputstream.read() 方法 乱码_InputStreamReader

    inputstream.read() 方法 乱码_InputStreamReadernewInputStreamReader(request.getInputStream(),“UTF-8”)引起了乱码,改为newInputStreamReader(newBufferedInputStream(request.getInputStream()))后解决了乱码问题针对这个乱码问题,在网上搜索后有以下3种情况[1]数据库表里面字符集设置错误[2]由于未加编码过滤器导致SpringMVC接收参数时造成的乱码[3]代码中涉及byte数组转换String时出现了问题一、解

    2022年9月26日
    4
  • sha1给出了三种新的sha版本_sha1怎么下载

    sha1给出了三种新的sha版本_sha1怎么下载注:如果出现【’keytool’不是内部或外部命令,也不是可运行的程序或批处理文件。】请参照下面的链接https://blog.csdn.net/csdnhejingzhou/article/details/50643246开发版SHA11.在AndroidStudio最下面找到Terminal点击2.切换到C盘,cd到Users\Administrator\.android…

    2022年8月11日
    18
  • logstash高速入口

    logstash高速入口

    2022年1月10日
    48
  • LLDP简介

    LLDP简介1.1.1LLDP产生背景目前,网络设备的种类日益繁多且各自的配置错综复杂,为了使不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息,需要有一个标准的信息交流平台。LLDP(LinkLayerDiscoveryProtocol,链路层发现协议)就是在这样的背景下产生的,它提供了一种标准的链路层发现方式,可以将本端设备的信息(包括主要能力、管理地址、设备标识、接口标识等)组织成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU(Lin…

    2022年5月28日
    91
  • Apache <mark>Karaf</mark>用户指导

    Apache <mark>Karaf</mark>用户指导

    2022年2月23日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号