Pythonで指定した時刻にLINEへメッセージを送信
Pythonで指定した時刻にLINEへメッセージを送信するプログラムについて紹介します。
LINEへメッセージをする方法はLINE Notifyを使って実行しています。
LINE Notifyについて紹介した投稿がこちら↓
「RaspberryPiからスマホのLINEにメッセージを送信する方法」
指定した時刻にLINEへメッセージを送信するプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import requests import time import datetime def line(ms_data,url,token): post_data = {'message': ms_data} headers = {'Authorization': 'Bearer ' + token} #送信 res = requests.post(url, data=post_data, headers=headers) print(res.text)#メッセージが送信されたかどうかの確認 token = 'LINE Notifyで発行されたトークンを記入' url = 'https://notify-api.line.me/api/notify'#LINE NotifyのAPIのURL ms = "お疲れ様です。"#送信するメッセージ while True: dt = datetime.datetime.now()#現在時刻の取得 now=dt.strftime('%Y/%m/%d-%H:%M:%S') if now == "2021/03/29-20:26:01":#時刻の指定 line(ms + now,url,token)#自作関数lineを呼び出す break time.sleep(1) |
while文の中でtime.sleep(1)をすることで、1秒ずつ指定した時刻までカウントしています。そして、指定した時刻になればLINEにメッセージを送信します。
22行目でメッセージを送信する時刻を指定しています。
23行目のms + nowは”お疲れ様です。“の文字列にPython側で取得した現在時刻の文字列を付け足しています。
※注意※
Python側で20時26分00秒に指定して、プログラムを実行するとLINE側では20時25分に送信されたことになってしまいます。
そのズレの対策として1秒足した20時26分01秒に指定して、実行することでLINE側で20時26分に送信されたことになります。
LINEに送信された様子↓

Python側とLINE側で時間のズレが出た様子
Python側で14時20分00秒にメッセージを送信するようにしたのですが、LINE側では14時19分に通知がきています。
“お疲れ様です。“の下の時刻は、Python側で取得した現在時刻の文字列です。
