Pythpn整合itchat定时发送自定义消息到微信群

完整代码如下:

import itchat
import time
from apscheduler.schedulers.blocking import BlockingScheduler
# 登陆,enableCmdQR 值为true 或 负数 为负数的原因有的手机无法识别二维码,改为负数就好了
# 读取文件
def send():
    f = open(r'C:\CRM\doc\01综合管理\01资源相关\05日常运维监控\dingding\dingding.json')
    contents = f.read()
    contents=contents[42:-3]
    f.close()
    chatroomName = u'批处理监控'
    itchat.get_chatrooms(update=True)
    chatrooms = itchat.search_chatrooms(name=chatroomName)
    print(chatrooms)
    if len(chatrooms) <=0:
        print(u'没有找到群聊:' + chatroomName)
    else:
        chatroom = chatrooms[0]["UserName"]
        print(chatroom)
        itchat.send(contents, toUserName=chatroom)


itchat.auto_login(enableCmdQR='-1',hotReload=True)
sched = BlockingScheduler()
sched.add_job(send, 'cron', hour=6,minute=40,second=10)
sched.start()

环境:python3.7
下载对应模块,安装时可能会提示升级,输入对应命令升级即可
<1> pip install itchat
<2>pip install apscheduler
登陆微信:
itchat.auto_login(enableCmdQR=’-1’,hotReload=True)
上为登陆微信方法,run代码,控制台输出登陆二维码,并提示Please scan the QR code to log in.扫码登陆即可,如下图
这里写图片描述

enableCmdQR默认为true,但是输出的二维码有的手机无法登陆,因此改为-1,遇到无法登陆的情况,可以尝试切换该值;
hotReload默认为True,为True时,下次登陆就不用扫码了
手机登录微信
建立群聊,修改群名,群名自定义即可,群聊要保存到通讯录,否则会找不到群聊。
chatrooms = itchat.search_chatrooms(name=自定义群名)
chatrooms 为从你群列表里查到的群名为自定义群名的list,因此为了方便,群名最好不一样
chatroom = chatrooms[0][“UserName”]
chatroom 为你建立那个群聊对象
itchat.send(contents, toUserName=chatroom)
发送消息,contents为自定义内容
定时
这时候就要用到apscheduler模块了,导入apscheduler
from apscheduler.schedulers.blocking import BlockingScheduler
创建定时器
sched = BlockingScheduler()
添加任务
sched.add_job(send, ‘cron’, hour=6,minute=40,second=10)
send为要执行的方法名
cron定时任务类型
后面的时间意为每天6点40分10秒执行,可根据需要自行修改
执行
sched.start()

猜你喜欢

转载自blog.csdn.net/weixin_40874592/article/details/82345763