编这个程序是想过节过年,一些重要的纪念日,给亲戚好友发祝福之类的,但要凌晨0点才显得比较有诚意,可我又比较贪睡,常常忘了,所以就有了编个微信定时发送消息小程序.
运行环境:
python 3.x,不支持python2
准备工作
由于我用到了微信的接口,所以引入itchat
界面用了pyqt5
安装命令如下:
pip install PyQt5 pip install itchat
代码部分
# -*- coding: utf-8 -*- # @Time : 2018/9/25 11:06 # @Author : Tangweeiyang # @File : weixinSender.py from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import QIcon,QFont import sys import datetime import time import itchat import threading from tkinter import messagebox class FriendsList(QThread): sinOut = pyqtSignal(str) # 自定义信号,执行run()函数时,从相关线程发射此信号 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('消息','发送成功') 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('定期发送') grid = QGridLayout() grid.setSpacing(10) # 创建标签之间的空间 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('定时发送消息') self.setWindowIcon(QIcon('weixinIcon.jpg')) #窗口图标 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_())
运行步骤
1.代码复制粘贴完毕后,运行,界面如图(可以将程序中的图标改成你喜欢的图片)
2.点获取好友列表按钮,第一次会弹出微信网页版登录的二维码(第二次运行,itchat会记录你登录记录,只需要点击你手机微信的确认登录的按钮),用手机微信扫描登录即可.时间框里会显示当前的时间,你改成设定时间发送即可(若约定时间已经过了,则消息会立即发送),在好友的下拉列表里选择你要发送的好友(如果好友有备注,则显示备注,否则显示微信昵称),在下面的文本框输入你想要发送的消息,目前只支持文字,不支持图片
最后一步,点击定期发送按钮,静待好友收到消息,并且我设置了文件助手也会收到这条消息,不过你也可以删除.
最后的效果图
以上这篇python3+pyqt5+itchat微信定时发送消息的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年11月26日
2024年11月26日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]