[TOC]
每天不同時(shí)間段通過微信發(fā)消息提醒女友
簡(jiǎn)介
有時(shí)候,你很想關(guān)心她,但是你太忙了,以至于她一直抱怨,覺得你不夠關(guān)心她。你暗自下決心,下次一定要準(zhǔn)時(shí)發(fā)消息給她,哪怕是幾句話,可是你又忘記了。你覺得自己很委屈??,但是她又覺得你不負(fù)責(zé)。
<br />
<br />
現(xiàn)在,再不用擔(dān)心了,用python就可以給女友定時(shí)發(fā)提示消息了,而且不會(huì)漏過每一個(gè)關(guān)鍵時(shí)刻,每天早上起床、中午吃飯、晚上吃飯、晚上睡覺,都會(huì)準(zhǔn)時(shí)發(fā)消息給她了,而且還可以讓她學(xué)習(xí)英語單詞哦!等你了解了全部這100行代碼,你可以加上每個(gè)節(jié)日自動(dòng)發(fā)問候語哦,比如三八婦女節(jié)、女神節(jié)、情人節(jié)、春節(jié)、圣誕節(jié),再也不用擔(dān)心他說你沒有儀式感了!??
編寫思路
為了方便快速開發(fā),我們使用python中的wxpy模塊完成微信的基本操作。
首先,,我們開始設(shè)置一些相關(guān)的參數(shù),這些參數(shù)一看就懂,所以無需多言
# 設(shè)置你的微信名稱和對(duì)方的微信名稱,記住,不是微信ID也不是微信備注
# 你的微型名稱,記住,不是微信ID也不是微信備注
my_wechat_name = u'你的微信名字'
# 你女友的微信名稱,記住,不是微信ID也不是微信備注
my_lady_wechat_name = u'她的微信名字'
# 設(shè)置早上起床時(shí)間,中午吃飯時(shí)間,下午吃飯時(shí)間,晚上睡覺時(shí)間
say_good_morning = "07:00"
say_good_lunch = "11:50"
say_good_dinner = "17:50"
say_good_dream = "23:10"
# 不同時(shí)間段想要發(fā)送的內(nèi)容
str_good_morning = "小寶貝~起床啦~\n\n已經(jīng)7點(diǎn)鐘啦,起來曬太陽啦!"
str_good_lunch = "?(°?‵?′??)親親,不要太累啦,中午飯記得吃哦,勞逸結(jié)合(*^__^*) 嘻嘻……"
str_good_dinner = "n(*≧▽≦*)n小可愛,又到了下班時(shí)間啦,一起來吃晚飯吧"
str_good_dream = "⊙﹏⊙∥∣°豬豬,晚上23點(diǎn)了,時(shí)間不早了哦,記得早點(diǎn)休息。"
如果你愿意,可以在上面對(duì)時(shí)間的判斷中,加入一些其他你想要的,比如節(jié)日問候(情人節(jié)、圣誕節(jié)、三八婦女節(jié)等),這樣你女友就更開心啦!后期如果有時(shí)間,我將會(huì)加上以上節(jié)日問候功能。??
接著,開啟微信機(jī)器人,為了程序的健壯性,自動(dòng)判斷一下操作系統(tǒng),根據(jù)不同操作系統(tǒng)執(zhí)行不同指令
# 啟動(dòng)微信機(jī)器人,自動(dòng)根據(jù)操作系統(tǒng)執(zhí)行不同的指令
# windows系統(tǒng)或macOS Sierra系統(tǒng)使用bot = Bot()
# linux系統(tǒng)或macOS Terminal系統(tǒng)使用bot = Bot(console_qr=2)
if('Windows' in platform.system()):
# Windows
bot = Bot()
elif('Darwin' in platform.system()):
# MacOSX
bot = Bot()
elif('Linux' in platform.system()):
# Linux
bot = Bot(console_qr=2,cache_path=True)
else:
# 自行確定
print("無法識(shí)別你的操作系統(tǒng)類型,請(qǐng)自己設(shè)置")
設(shè)置完相關(guān)參數(shù)以后,我們?cè)賮韺W(xué)習(xí)一下,如何每天教女友學(xué)英語
# 獲取每日勵(lì)志精句
def get_message():
r = requests.get("http://open.iciba.com/dsapi/")
note = r.json()['note']
content = r.json()['content']
return note,content
教完女友學(xué)英語后,開始把我們的關(guān)心語發(fā)給他。這里涉及到wxpy模塊的相關(guān)操作,很簡(jiǎn)單,看我的例子就會(huì)了。
# 發(fā)送消息給她
def send_message(your_message):
try:
# 對(duì)方的微信名稱
my_friend = bot.friends().search(my_lady_wechat_name)[0]
# 發(fā)送消息給對(duì)方
my_friend.send(your_message)
except:
# 你的微信名稱
my_friend = bot.friends().search(my_wechat_name)[0]
# 提示
my_friend.send(u"守護(hù)女友出問題了,趕緊去看看咋回事~")
最后,就是如何每天定時(shí)發(fā)關(guān)心語給女友的問題了。首先來個(gè)while循環(huán),365天無限關(guān)心??
# 來個(gè)死循環(huán),24小時(shí)關(guān)心她
while(True):
# 提示
print("守護(hù)中,時(shí)間:%s"% time.ctime())
# 獲取時(shí)間,只獲取時(shí)和分,對(duì)應(yīng)的位置為倒數(shù)第13位到倒數(shù)第8位
now_time = time.ctime()[-13:-8]
if (now_time == say_good_morning):
if(first_say_good_morning == False):
message = str_good_morning
send_message(message)
first_say_good_morning = True
first_say_good_lunch = False
first_say_good_dinner = False
first_say_good_dream = False
print("提醒女友早上起床:%s" % time.ctime())
這下面還有很多代碼,我就不列出來了
# 延時(shí)10秒
time.sleep(10)
上面的first_say_good_morning,first_say_good_lunch,first_say_good_dinner,first_say_good_dream是干什么用的呢?其實(shí)是用來做標(biāo)志檢測(cè)的,防止同一時(shí)間斷內(nèi)多次發(fā)送同樣的消息給女友,發(fā)多了被拉黑怎么辦??,所以標(biāo)志位是必須要的。
最后,輸入start_care()開始守護(hù)女友模式吧~
使用教程
- pip安裝下列包
- [x] pip install wxpy
- [x] pip install requests
- 設(shè)置你的微信名字和她的微信名字
# 設(shè)置你的微信名稱和對(duì)方的微信名稱,記住,不是微信ID也不是微信備注
# 你的微型名稱,記住,不是微信ID也不是微信備注
my_wechat_name = u'你的微信名字'
# 你女友的微信名稱,記住,不是微信ID也不是微信備注
my_lady_wechat_name = u'她的微信名字'
- 設(shè)置早上起床時(shí)間,中午吃飯時(shí)間,下午吃飯時(shí)間,晚上睡覺時(shí)間
# 設(shè)置早上起床時(shí)間,中午吃飯時(shí)間,下午吃飯時(shí)間,晚上睡覺時(shí)間
say_good_morning = "07:00"
say_good_lunch = "11:50"
say_good_dinner = "17:50"
say_good_dream = "23:10"
- 設(shè)置想要提醒的內(nèi)容
# 不同時(shí)間段想要發(fā)送的內(nèi)容
str_good_morning = "小寶貝~起床啦~\n\n已經(jīng)7點(diǎn)鐘啦,起來曬太陽啦!"
str_good_lunch = "?(°?‵?′??)親親,不要太累啦,中午飯記得吃哦,勞逸結(jié)合(*^__^*) 嘻嘻……"
str_good_dinner = "n(*≧▽≦*)n小可愛,又到了下班時(shí)間啦,一起來吃晚飯吧"
str_good_dream = "⊙﹏⊙∥∣°豬豬,晚上23點(diǎn)了,時(shí)間不早了哦,記得早點(diǎn)休息。"
演示圖片


完整源代碼
項(xiàng)目源代碼在GitHub倉(cāng)庫(kù)
項(xiàng)目持續(xù)更新,歡迎您star本項(xiàng)目