diff options
author | Kyomotoi <[email protected]> | 2020-06-04 12:57:23 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2020-06-04 12:57:23 +0800 |
commit | a1cb3115b9be7b300ec86d0cd53033ab161df46a (patch) | |
tree | 1a338b0ccffb50f5422f978dccb7d582148af87c /AyaBot/plugins/weather.py | |
parent | a1788b1fb8001579bf67b8f4d60d0c4b8b675102 (diff) | |
download | ATRI-a1cb3115b9be7b300ec86d0cd53033ab161df46a.tar.gz ATRI-a1cb3115b9be7b300ec86d0cd53033ab161df46a.tar.bz2 ATRI-a1cb3115b9be7b300ec86d0cd53033ab161df46a.zip |
Added some functions(hitokoto weather)
Diffstat (limited to 'AyaBot/plugins/weather.py')
-rw-r--r-- | AyaBot/plugins/weather.py | 54 |
1 files changed, 39 insertions, 15 deletions
diff --git a/AyaBot/plugins/weather.py b/AyaBot/plugins/weather.py index f02198d..f6a78fe 100644 --- a/AyaBot/plugins/weather.py +++ b/AyaBot/plugins/weather.py @@ -1,22 +1,46 @@ -import re +import json +import requests from nonebot import on_command, CommandSession -@on_command('weather', aliases=['天气', '查天气', '天气查询']) -async def weather(session: CommandSession): - city = session.get('city', prompt='你想查哪个城市呢?') - date = session.get('date', prompt='你想查哪一天呢?(格式:20200427)') - await session.send('你查询的情况如下' + city) - await session.send('你想查询的日期' + date) +API_URL = 'https://www.tianqiapi.com/free/day?appid=36628957&appsecret=WKn4dtVg&city=' [email protected]_parser -async def _(session: CommandSession): - if session.is_first_run: - return +LIST = """{city} 今日信息如下: +更新时间:{time} +天气情况:{wea} +空气质量:{air} +温度: + 现在温度:{tem} + 最高温度:{temday} + 最低温度:{temnight} +风向:{win} +风力等级:{winspeed} +风速:{winmeter}""" - if session.current_key == 'date': - if not re.fullmatch(r'\d{8}', session.current_arg_text): - session.pause('日期格式有误,请重新输入') - session.args[session.current_key] = session.current_arg_text +@on_command('weather', aliases=['天气', '查天气', '天气查询'], only_to_me=False) +async def weather(session: CommandSession): + city = session.get('city', prompt='你想查哪个城市呢?') + try: + res = API_URL + city + res1 = requests.get(res) + res1.encoding = 'utf-8' + html = res1.text + wt = json.loads(html) + await session.send(LIST.format( + city=wt["city"], + time=wt["update_time"], + wea=wt["wea"], + tem=wt["tem"], + temday=wt["tem_day"], + temnight=wt["tem_night"], + win=wt["win"], + winspeed=wt["win_speed"], + winmeter=wt["win_meter"], + air=wt["air"] + ) + ) + except: + await session.send('获取数据时出问题,请重试') + return
\ No newline at end of file |