国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python3+pyqt5+itchat微信定時發(fā)送消息的方法

2020-02-16 01:17:15
字體:
供稿:網(wǎng)友

編這個程序是想過節(jié)過年,一些重要的紀(jì)念日,給親戚好友發(fā)祝福之類的,但要凌晨0點(diǎn)才顯得比較有誠意,可我又比較貪睡,常常忘了,所以就有了編個微信定時發(fā)送消息小程序.

運(yùn)行環(huán)境:

python 3.x,不支持python2

準(zhǔn)備工作

由于我用到了微信的接口,所以引入itchat

界面用了pyqt5

安裝命令如下:

pip install PyQt5pip install itchat

代碼部分

# -*- coding: utf-8 -*-# @Time  : 2018/9/25 11:06# @Author : Tangweeiyang# @File  : weixinSender.pyfrom PyQt5.QtCore import *from PyQt5.QtWidgets import *from PyQt5.QtGui import QIcon,QFontimport sysimport datetimeimport timeimport itchatimport threadingfrom tkinter import messageboxclass FriendsList(QThread):  sinOut = pyqtSignal(str)  # 自定義信號,執(zhí)行run()函數(shù)時,從相關(guān)線程發(fā)射此信號  def __init__(self):    super().__init__()  def run(self):    itchat.auto_login(hotReload=True)    friendList = itchat.get_friends()    for each in friendList:      if len(each['RemarkName']) < 2: #如果 備注名為空,則用微信昵稱        self.sinOut.emit(each['NickName'])      else:        self.sinOut.emit(each['RemarkName'])class sendMessage(QThread):  def __init__(self,message,name,time):    super().__init__()    self.message=message    self.name=name    self.time=time  def run(self):    timer = threading.Timer(self.time,self.send)    timer.start()  def send(self):    itchat.auto_login(hotReload=True)    sender = itchat.search_friends(self.name)[0]['UserName']    itchat.send(self.message, toUserName=sender)    itchat.send(self.message, toUserName='filehelper')    messagebox.showinfo('消息','發(fā)送成功')class weixinSender(QListWidget):  def __init__(self):    super().__init__()    self.Ui()    # self.dataProduce()  def Ui(self):    self.year_label = QLabel('年')    self.year=QLineEdit()    self.month_label=QLabel('月')    self.month=QLineEdit()    self.day_label=QLabel('日')    self.day=QLineEdit()    self.friendList_lable=QLabel('好友')    self.friendList=QComboBox()    self.hour_label = QLabel('時')    self.hour = QLineEdit()    self.min_label = QLabel('分')    self.min = QLineEdit()    self.second_label = QLabel('秒')    self.second = QLineEdit()    self.text=QTextEdit() #文本域    self.listbt = QPushButton('獲取好友列表')    self.OKbt=QPushButton('定期發(fā)送')    grid = QGridLayout()    grid.setSpacing(10) # 創(chuàng)建標(biāo)簽之間的空間    grid.addWidget(self.year_label,1,1)    grid.addWidget(self.year,1,0)    grid.addWidget(self.month_label,1,3)    grid.addWidget(self.month,1,2)    grid.addWidget(self.day_label,1,5)    grid.addWidget(self.day,1,4)    grid.addWidget(self.friendList_lable,1,6,2,1)    grid.addWidget(self.friendList,1,7,2,3)    grid.addWidget(self.hour_label,2,1)    grid.addWidget(self.hour,2,0)    grid.addWidget(self.min_label,2,3)    grid.addWidget(self.min,2,2)    grid.addWidget(self.second_label,2,5)    grid.addWidget(self.second,2,4)    grid.addWidget(self.text,3,0,4,10)    grid.addWidget(self.listbt,7,5,1,2)    grid.addWidget(self.OKbt,7,7,1,2)    self.setLayout(grid)    self.friendList.addItem('好友1')    self.friendList.addItem('好友2')    self.text.setFont(QFont("楷體",12,QFont.Normal))    self.OKbt.clicked.connect(self.send)    self.listbt.clicked.connect(self.dataProduce)    self.setGeometry(300, 300, 500, 300)    self.setWindowTitle('定時發(fā)送消息')    self.setWindowIcon(QIcon('weixinIcon.jpg')) #窗口圖標(biāo)    self.show()  def dataProduce(self):    now=time.localtime()    self.year.setText(str(now.tm_year))    self.month.setText(str(now.tm_mon))    self.day.setText(str(now.tm_mday))    self.hour.setText(str(now.tm_hour))    self.min.setText(str(now.tm_min))    self.second.setText(str(now.tm_sec))    self.friendList.clear()    self.thread=FriendsList()    self.thread.sinOut.connect(self.slotAdd)    self.thread.start()  def slotAdd(self,name):    self.friendList.addItem(name)  def send(self):    self.target = datetime.datetime(int(self.year.text()),int(self.month.text()),int(self.day.text()),int(self.hour.text()),int(self.min.text()),int(self.second.text()))    self.now = time.time()    self.delay_time = self.target.timestamp() - self.now    self.sendThread=sendMessage(self.text.toPlainText(),self.friendList.currentText(),self.delay_time)    self.sendThread.start()if __name__ == '__main__':  app = QApplication(sys.argv)  ex = weixinSender()  sys.exit(app.exec_())            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 闸北区| 务川| 清徐县| 基隆市| 古浪县| 阿克苏市| 宜兰县| 邵阳市| 临江市| 聊城市| 宁城县| 家居| 浦江县| 沈阳市| 牙克石市| 镇安县| 特克斯县| 浮山县| 镇雄县| 东丰县| 阿克苏市| 渭南市| 江达县| 达州市| 建始县| 屯昌县| 新龙县| 日照市| 阿拉善盟| 城固县| 新建县| 青河县| 潜山县| 织金县| 桑日县| 莱州市| 星子县| 鄂州市| 翼城县| 博罗县| 栾川县|