用Python在00:00给微信好友发元旦祝福语
2019年的元旦即将来临,这里用Python撸一串简单的代码来实现定点给微信里的所有小伙伴发祝福语
环境说明
Python版本: 不限
第三方库: itchat, schedule
注:所有祝福语来源于网络,代码运行周期较长,最好跑在服务器上
代码如下
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 18-12-9 上午9:08
# @Author : KainHuck
# @Email : kainhoo2333@gmail.com
# @File : 元旦祝福.py
import itchat
import random
import schedule
import datetime
import time
# 登录,并暂存登录状态
itchat.auto_login(hotReload=True)
# 获取所有好友信息
friends = itchat.get_friends(update=True)
# 筛选掉没有备注名的好友, 并将要发送祝福语的好友放置在一个字典里
final_friends = {}
for each in friends:
if len(each['RemarkName']) > 0:
final_friends[each['RemarkName']] = each['UserName']
# 祝福语列表
greeting = ['元旦到了,在辞旧迎新的日子里,我愿为你送走烦恼迎来开心,送走压力迎来健康,送走失意迎来顺利,送走意外迎来平安,并希望你快快乐乐过个元旦节。',
'圆圆的梦想,七色的花;圆圆的人生,五彩的画;圆圆的元旦,幸福的家;圆圆的问候,事业大发;圆圆的祝福,你笑哈哈!祝你元旦快乐! ',
'元旦即将来到,信息不能迟到;好友前来报到,祝福提前送到:爱情浪漫美好,友情温暖笼罩,亲情时刻围绕,工作业绩攀高,生活幸福欢笑,来年更美好! ',
'喜悦,在心中荡漾;笑容,在脸颊洋溢;歌声,在悠扬回荡;舞步,在惬意游走;礼花,在尽情绽放;祝福,在频频发送。朋友,元旦快乐!祝你幸福,阖家欢乐! ',
'元旦加祝福,新的一年好幸福;元旦加努力,新的一年好成绩;元旦加上你,新的一年好给力!祝元旦的你格外美丽,快乐一整个世纪!',
'新的开始新希望,新的一天新阳光,开始新的追求,播下新的梦想,翻开新的一页,写下新的辉煌。新的一年开始,送你深深的祝福,元旦快乐。',
'元旦将来到,我心费思量。朋友关系好,送个什么好。我无多钱财,也没中彩票。短信送祝福,礼轻情意重。祝你轻轻松松无烦恼,快快乐乐过元旦!',
'将快乐化作短信,发送给你,愿你新的一年快乐无边;将好运融入信息,传达给你,愿新的一年里,好运连连幸福不断;元旦里我将所有的祝福复制,一并发于你,愿你明年万事如意! ']
# 发送祝福函数
def send_greet(RemarkName,userName):
greet = random.choice(greeting) # 随机选择一句祝福语
message = RemarkName + ',' + greet # 添加上备注名
itchat.send(message, toUserName=userName)
# 定义任务
def job():
now_date = str(datetime.datetime.now().date()) # 获取函数执行时的时间
if now_date == '2019-01-01' or now_date == '2019-1-1': # 如果是2019年元旦就执行(PS:忘记datetime.datetime.now().date()输出的格式了...)
for each_friend in final_friends:
send_greet(each_friend, final_friends['final_friends'])
# 每天00:00执行一次job函数
schedule.every().day.at("00:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
用Python在00:00给微信好友发元旦祝福语的更多相关文章
- python 操作 mysql 数据库 datetime 属性字段为 0000-00-00 00:00:00 的问题
撇开 sqlalchemy, 先讲 MySQLdb 和 pymysql mysql 版本 mysql Ver 14.14 Distrib 5.1.73 新建一个测试表 test, 结构如下: mys ...
- 1970年1月1日(00:00:00 GMT)Unix 时间戳(Unix Timestamp)
转载自(http://jm.ncxyol.com/post-88.html) 今天在看Python API时,看到time模块: The epoch is the point where the ...
- SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
相信很多人进行数据存储时,会遇上如标题的异常错误. 其实也不算上一个错误. 当你的程序中有宣告一个字段的数据类型为DateTime时,但你又没有赋值给它,就进行存储时,它就会得到这样一个结果. 看看下 ...
- “SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。”
原因: .NET中 DateTime最小值为: 0001-1-1 0:00:00 数据库中DateTime最小值为: 1753-1-1 0:00:00, 很明显:.NET中的最小值超出了数据库时间类 ...
- '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp error
'0000-00-00 00:00:00' can not be represented as java.sql.Timestamp error 异常现象 ### Cause: java.sql.SQ ...
- mysql解决Value ‘0000-00-00 00:00:00’ can not be represented as java.sql.Timestamp
同步发布:http://www.yuanrengu.com/index.php/mysqlsolvetimestamp.html 在使用mysql时,如果数据库中的字段类型是timestamp,默认为 ...
- 错误:Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp;的解决
问题: 代码中查询MySQL的结果集时报错,提示Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp;刚开始 ...
- Mysql-提示java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 7 to TIMESTAMP.
在Mysql数据库中使用DATETIME类型来存储时间,使用JDBC中读取这个字段的时候,应该使用 ResultSet.getTimestamp(),这样会得到一个java.sql.Timestamp ...
- extjs DateField 的值用getValue()方法获取后是一大堆字符串,类似Tue Dec 07 2010 00:00:00 GMT 0800,这玩意存入数据库实在不好办。。。
extjs DateField 的值用getValue()方法获取后是一大堆字符串,类似Tue Dec 07 2010 00:00:00 GMT 0800,这玩意存入数据库实在不好办...所以要把它格 ...
随机推荐
- 机器学习中 为何要使用 独热编码 one-hot
背景 接触tensorflow时,学习到mnist,发现处理数据的时候采取one-hot编码,想起以前搞FPGA状态机遇到过格雷码与独热码. 解析: 将离散型特征使用one-hot编码,确实会让特征之 ...
- HDU 1024:Max Sum Plus Plus 经典动态规划之最大M子段和
Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- Vue - 定义使用组件
import Card from './components/Card.vue' Vue.component('m-card',Card) // component是注册全局组件,在实例化VUE前 ...
- 013.CI4框架CodeIgniter数据库操作之:查询数据库,并让数据以数组的方式返回查询结果
01. 我们在CI4框架中的Model文件夹新建一个User_model.php的文件,使用的是getResultArray,表示并让数据以数组的方式返回查询结果,代码如下: <?php nam ...
- spark aggregate算子
spark aggregate源代码 /** * Aggregate the elements of each partition, and then the results for all the ...
- 树莓派 Raspberry 软件源更改 看门狗启用
看门狗无法在pi1上执行,似乎后更高级的pi上面才可用 1.替换脚本 下面脚本请直接复制到终端执行!! 适用于raspbian-stretch(基于Debian9) sudo -s echo -e & ...
- NO14 快照-克隆-必须掌握的Linux目录结构
壹 VMware克隆,快照讲解及相应问题讲解: ·快照:比喻:假设把人生作一个快照.1岁10岁20岁6无限还原到前一个设置的节点. ·克隆学习一般用链接克隆,不另外占用磁盘,但是依赖本体虚拟机.完整 ...
- 锤子科技向OpenBSD基金会捐款195 万
导读 专注于提供 OpenBSD 资讯的网站 OpenBSD Journal 昨日报道了锤子科技成为 OpenBSD 基金会 2019 年首位铱金捐赠者的消息. 根据 OpenBSD Journal ...
- C++ 检测物理内存以及磁盘空间
BOOL CheckResource() { MEMORYSTATUSEX statex; statex.dwLength = sizeof (statex); GlobalMemoryStatusE ...
- arduino通信问题的学习与解决
我想实现的是,我用电脑在串口监视器上输入一个字符串,arduino能识别这个字符串中的每一个字符并在相应的串口上给出相应的高低电平以驱动舵机,比如输入L1,RS,功能是左手腕舵机逆时针旋转90°,然后 ...