用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,这玩意存入数据库实在不好办...所以要把它格 ...
随机推荐
- LVS负载均衡基本原理
负载均衡基本原理与lvs 基本介绍 1.1 负载均衡的由来 在业务初期,我们一般会先使用单台服务器对外提供服务.随着业务流量越来越大,单台服务器无论如何优化,无论采用多好的硬件,总会有性能天花板,当单 ...
- P1062 最简分数
P1062 最简分数 转跳点:
- 你必须知道的.Net 8.2.2 本质分析
1 .Equals 静态方法 Equals 静态方法实现了对两个对象的相等性判别,其在 System.Object 类型中实现过程可以表 示为: public static bool Equals ...
- ROS常用库(三)API学习之常用common_msgs(上)
一.概述 common_msgs包含其他ROS软件包广泛使用的消息.这些消息包括动作消息(actionlib_msgs),诊断消息(diagnostic_msgs),几何图元(geometry_msg ...
- 019、MySQL取本季度开始时间和本季度结束时间
SELECT QUARTER ( adddate( dy, ) ) QTR, date_add( dy, INTERVAL MONTH ) Q_start, adddate( dy, ) Q_end ...
- 九、响应式发:rem和less(适配移动端)
一.响应式开发 响应式开发优先适配移动端又兼容到pc端 官网:https://less.bootcss.com/usage/ 教程:https://www.w3cschool.cn/less/ rem ...
- grep -w ,grep -e的使用
1.grep -w -wDoes a word search.grep -w用于字符串精确匹配若文件中的内容包括如下:262 a326226如果 grep ‘26’ file,结果是三行全部都被显示若 ...
- 新手学Java,有哪些入门知识点?
很多小伙伴们在刚接触Java的时候,会有些迷茫,不知道该从哪里入手,不管是做前端还是后端,程序员都会用到JAVA,那该掌握哪些必要的基础知识呢.今天就跟大家分享新手学Java,有哪些入门知识点? 下面 ...
- MongoDB 数据建模
版权所有,未经许可,禁止转载 章节 MongoDB 入门 MongoDB 优势 MongoDB 安装 MongoDB 数据建模 MongoDB 创建数据库 MongoDB 删除数据库 MongoDB ...
- ACM-Subset sum
题目描述: Subset Sum Tags: 回溯 子集和问题的一个实例为〈 S,t 〉.其中,S={x1 ,x2 ,…, xn }是一个正整数的集合,c是一个正整数.子集和问题判定是否存在S的一个子 ...