现在已经是人手一机的时代了,基本上大家每天起来後一定会做的事情就是打开手机检查讯息,其中LINE又几乎是每个人都有的通讯软件,比起将讯息印在终端机或存成txt档,传送LINE讯息肯定是更方便且更容易接收讯息的选择。今天就来使用LINE Notify,将气象资料用LINE传给我吧!
LINE Notify是LINE一个特殊的官方帐号,是一个专门用来推送讯息的LINE机器人,特点是只要去申请一个服务提供者,就会以LINE Notify的帐号主动推送讯息给使用者! 而且最大的优点在於,他不像LINE Bot要收费,LINE Notify推送讯息是完全免费的! 适合用於传送客户通知或现有服务的错误讯息。
底下就来教你如何使用LINE Notify。
取得权杖後就可以试着传送讯息了! LINE Notify使用POST的方式将权杖以及讯息送到LINE Notify的API,接着再将讯息传给这个权杖所绑定的使用者。
程序码如下:
import requests
def line_notify():
token = "你的权杖"
message = "Hello! 这是测试文字!"
# line notify所需资料
line_url = "https://notify-api.line.me/api/notify"
line_header = {
"Authorization": 'Bearer ' + token,
"Content-Type": "application/x-www-form-urlencoded"
}
line_data = {
"message": message
}
requests.post(url=line_url, headers=line_header, data=line_data)
if __name__ == '__main__':
line_notify()
结果:
再来结合昨天的气象资讯,回传气象通知的讯息吧!
因为要传的参数有点多,所以我们将资料打包成tuple,虽然说传递上比较安全,但麻烦的就是要记住每个参数的索引值。
line_notify(tuple([location, start_time, end_time, weather_state, rain_prob, min_tem, comfort, max_tem]))
因为也有无法取得气象资讯的情况(status code不等於200),就传一个空的tuple就好。
line_notify(tuple())
再来就只要将资料依序填入讯息字串中就好了,这部分不需要跟我一模一样,你也可以客制化自己的讯息! 另外,如果收到的是空tuple,就是没有取得资料的情况,所以回传错误讯息就好。
感觉讯息太过死板吗? 我们可以加上一些简单的条件判断,在下雨机率很高、很冷或很热的时候,给你一句暖心的提醒! 假装是女朋友的提醒,安慰一下孤单寂寞觉得冷的心QQ
def line_notify(data):
token = "你的权杖"
message = ""
if len(data) == 0:
message += "\n[Error] 无法取得天气资讯"
else:
message += f"\n今天{data[0]}的天气: {data[3]}\n"
message += f"温度: {data[5]}°C - {data[7]}°C\n"
message += f"降雨机率: {data[4]}%\n"
message += f"舒适度: {data[6]}\n"
message += f"时间: {data[1]} ~ {data[2]}\n"
if int(data[4]) > 70:
message += "提醒您,今天很有可能会下雨,出门记得带把伞哦!"
elif int(data[7]) > 33:
message += "提醒您,今天很热,外出要小心中暑哦~"
elif int(data[5]) < 10:
message += "提醒您,今天很冷,记得穿暖一点再出门哦~"
# line notify所需资料
line_url = "https://notify-api.line.me/api/notify"
line_header = {
"Authorization": 'Bearer ' + token,
"Content-Type": "application/x-www-form-urlencoded"
}
line_data = {
"message": message
}
requests.post(url=line_url, headers=line_header, data=line_data)
结果还不错哦!
你也可以更改参数,试试看暖心提醒是否有发挥功能。
例如,将下雨机率改成90%:
最高温改成35度:
最低温改成5度:
今天使用LINE Notify推送气象资讯的LINE讯息,也加上了暖心的提醒语,小明的问题应该已经解决了吧?
这时你才察觉到一个严重的问题,目前程序都是在我们的电脑上运行,而且要我按执行後才会推送讯息,但总不可能叫我电脑随时都开着,而且每天六点爬起来按执行吧? 就算小明是我好朋友,但还是没有比睡眠时间来的重要,那这下该怎麽办呢?
明天就要教你将程序部署到HEROKU云端主机上,并每天固定时间执行哦! 明天教的内容真的超实用(认真推),不看就亏大了!
如果喜欢这系列文章麻烦帮我按Like加订阅,你的支持是我创作最大的动力~
本系列文章以及范例程序码都同步更新在GitHub上,後续会持续的更新,如果喜欢也麻烦帮我按个星星吧~
有任何问题或建议,都欢迎在底下留言区提出,还请大家多多指教。
>>: Day21 Arrays and More Data Structures (Ⅰ)
图片来源github Kind Kind = Kubernetes in Docker,简单说就是...
credit: https://medium.com/@brilvio/how-i-impleme...
GitHub Repo https://github.com/b2etw/Spring-Kotlin...
Data is the hardest part of ML and the most impor...
我们之前在 HTML 篇章有介绍 DOM,是 Document Object Model 的缩写!...