python开发定时发送消息接⼝
由于发送信息是需要先登录,⽽登录⼜需要⼆维码扫码。所以保证不断线或被踢很关键。曾不信邪,就最⽤戳的⽅法定时发送信息保证⼼跳,还是会在差不多20⼩时候被踢掉,并且需要再次⽤⼆维码扫码登录。
经过多次尝试后,还是妥协⽤到了多线程。特将代码记录在这⽚博⽂中。
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.服务器建站教程
欢迎登录后台管理系统"""
import os
import os.path
import itchat,time
t import TEXT
import datetime
import random
import _thread
#import threading
os.chdir("//⽹盘/***/项⽬⽬录")
GrpSleepName = '' # ⼼跳
def resValue(res, name, val):
res1 = res.values()
j = 0
resV = False
for i in res1:
if j == 0 and val == i[name]:
resV = True
j = j + 1
return resV
# ⾃动回复
# 封装好的装饰器,当接收到的消息是Text,即⽂字消息
#@itchat.msg_register('Text') #1V1信息qda中文是什么意思
@itchat.msg_register(TEXT, isGroupChat=True) #信息
def text_reply(msg):
#global GrpName
sTime = w().strftime("%Y-%m-%d %H:%M:%S")
print ('接受到信息['+ sTime + ']')
def Send_weixin():
global GrpSleepName;
while 1:
if GrpSleepName != '':
print ("发送⼼跳:" + GrpSleepName)
# 调⽤接⼝
itchat.send("我是机器⼈初代,⼼跳扑通扑通地", GrpSleepName)
# 休眠60分钟
#itchat.dump_login_status()
time.sleep(random.randint(3600,5400))
def login_weixin():
global GrpSleepName;
# 登录
if not resValue(itchat.load_login_status('itchat.pkl'), 'Ret', 0):
print("************************** 开启登录 **************************")
itchat.auto_login(hotReload=True) #源码中规定需要⽤回调函数。
#itchat.dump_login_status()
print("************************** 登录成功 **************************")
time.sleep(random.randint(4,9))
print("*********************** 获取⽬标信息 ***********************")
sleepTo = '马甲'
print ("发送⼼跳:" + sleepTo)
# 获取⾃⼰的UserName
Groups = _chatrooms(update=True)[0:]
for grp in Groups[1:]:
if sleepTo == grp.NickName:
GrpSleepName = grp.UserName
print ("发送⼼跳:" + sleepTo + GrpSleepName)
print("**************************** RUN ****************************")
excel十大常用函数# 启动长连进程
单片机编程可能遇到的问题
itchat.run()
def test(): #Use thread.start_new_thread() to create 2 new threads
_thread.start_new_thread(Send_weixin, ())
login_weixin() # 不需要单独启动新线程,因为内部本⾝就有触发⼀个新线程if __name__=='__main__':
python入门教程网盘test()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论