diff options
author | Kyomotoi <[email protected]> | 2020-06-07 12:09:13 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2020-06-07 12:09:13 +0800 |
commit | e9e2d6b76b8e0f6fe3bf928835d934d01eb28eba (patch) | |
tree | b5e85dfc221e4070df081fae0d20cd27030ebb3d | |
parent | 5504c5b9809dc432ef2c6e84f5c726ed01e5abc7 (diff) | |
download | ATRI-e9e2d6b76b8e0f6fe3bf928835d934d01eb28eba.tar.gz ATRI-e9e2d6b76b8e0f6fe3bf928835d934d01eb28eba.tar.bz2 ATRI-e9e2d6b76b8e0f6fe3bf928835d934d01eb28eba.zip |
some changes
-rw-r--r-- | AyaBot/config.py | 2 | ||||
-rw-r--r-- | AyaBot/plugins/Module/google_translate/__pycache__/__init__.cpython-37.pyc | bin | 3205 -> 3205 bytes | |||
-rw-r--r-- | AyaBot/plugins/covid19.py | 2 | ||||
-rw-r--r-- | AyaBot/plugins/translate.py | 2 | ||||
-rw-r--r-- | AyaBot/plugins/weather.py | 215 |
5 files changed, 150 insertions, 71 deletions
diff --git a/AyaBot/config.py b/AyaBot/config.py index a7e6456..ea756a8 100644 --- a/AyaBot/config.py +++ b/AyaBot/config.py @@ -6,7 +6,7 @@ HOST = '127.0.0.1' PORT = 8080 #ADMIN -SUPERUSERS = {1172294279} +SUPERUSERS = {} #机器人赋名,替代@ NICKNAME = {'喵内', 'rbq', 'Aya'} diff --git a/AyaBot/plugins/Module/google_translate/__pycache__/__init__.cpython-37.pyc b/AyaBot/plugins/Module/google_translate/__pycache__/__init__.cpython-37.pyc Binary files differindex 2e141ef..c9cca07 100644 --- a/AyaBot/plugins/Module/google_translate/__pycache__/__init__.cpython-37.pyc +++ b/AyaBot/plugins/Module/google_translate/__pycache__/__init__.cpython-37.pyc diff --git a/AyaBot/plugins/covid19.py b/AyaBot/plugins/covid19.py index e0623c0..393d31b 100644 --- a/AyaBot/plugins/covid19.py +++ b/AyaBot/plugins/covid19.py @@ -2,7 +2,7 @@ import re import json import sys -sys.path.append('D:\code\Aya\AyaBot\plugins\Module') +sys.path.append(r'请改成你机器人的对应目录\Aya\AyaBot\plugins\Module') import demjson import requests from pprint import pformat, pprint diff --git a/AyaBot/plugins/translate.py b/AyaBot/plugins/translate.py index 9c4ade5..9f56dca 100644 --- a/AyaBot/plugins/translate.py +++ b/AyaBot/plugins/translate.py @@ -1,7 +1,7 @@ # -*- coding:utf-8 -*- import re import sys -sys.path.append('D:\code\Aya\AyaBot\plugins\Module') +sys.path.append(r'请改成你机器人的对应目录\Aya\AyaBot\plugins\Module') import demjson import requests from pprint import pformat, pprint diff --git a/AyaBot/plugins/weather.py b/AyaBot/plugins/weather.py index 0c751d0..6e384b5 100644 --- a/AyaBot/plugins/weather.py +++ b/AyaBot/plugins/weather.py @@ -2,14 +2,15 @@ import os import re import sys -sys.path.append('D:\code\Aya\AyaBot\plugins\Module') +sys.path.append(r'请改成你机器人的对应目录\Aya\AyaBot\plugins\Module') import json import requests from nonebot import on_command, CommandSession import google_translate -API_URL = 'https://api.weatherbit.io/v2.0/current?city={city}' -API_URL_2 = ',CN&key=1df2eb2951f3470a94cb323bb4647c18' +API_URL = 'https://api.weatherbit.io/v2.0/current?city=' +API_URL_2 = '&key=1df2eb2951f3470a94cb323bb4647c18' +API_URL_3 = 'https://www.tianqiapi.com/free/day?appid=36628957&appsecret=WKn4dtVg&city=' LIST = """{city} 情况如下: @@ -54,76 +55,130 @@ LIST_ALL = """{city} 详细情况如下: 太阳斜角(°): {elev_angle} 太阳时角(°): {h_angle}""" +LIST_CN = """{city} 今日信息如下: +更新时间:{time} +天气情况:{wea} +空气质量:{air} +温度: + 现在温度:{tem} + 最高温度:{temday} + 最低温度:{temnight} +风向:{win} +风力等级:{winspeed} +风速:{winmeter}""" -@on_command('weather', aliases=['查天气', '天气', '天气情况'], only_to_me=False) + +@on_command('weather', aliases=['天气'], only_to_me=False) async def weather(session: CommandSession): - city = session.get('city', prompt='请键入你需要查询的城市(例:北京)') - re_msg = google_translate.translate(city[:4999], to='en', source='zh-CN') - URL = API_URL + re_msg[0] + API_URL_2 - # print(URL) - res = requests.get(URL) - res.encoding = 'utf-8' - html = res.text - wt = json.loads(html) - await session.send(LIST.format( - city=wt["data"][0]["city_name"], - ob_time=wt["data"][0]["ob_time"], - description=wt["data"][0]["weather"]["description"], - temp=wt["data"][0]["temp"], - wind_spd=wt["data"][0]["wind_spd"], - wind_cdir=wt["data"][0]["wind_cdir"], - clouds=wt["data"][0]["clouds"], + cy_ct = session.get('weather', prompt='输入的信息似乎出问题了呢...例:天气 CN 北京 或 天气 JP 东京') + ms = cy_ct.split(' ') + try: + country = ms[0] + city = ms[1] + re_msg = google_translate.translate(city[:4999], to='en', source='zh-CN') + URL = API_URL + re_msg[0] + ',' + country + API_URL_2 + # print(URL) + res = requests.get(URL) + res.encoding = 'utf-8' + html = res.text + wt = json.loads(html) + await session.send(LIST.format( + city=wt["data"][0]["city_name"], + ob_time=wt["data"][0]["ob_time"], + description=wt["data"][0]["weather"]["description"], + temp=wt["data"][0]["temp"], + wind_spd=wt["data"][0]["wind_spd"], + wind_cdir=wt["data"][0]["wind_cdir"], + clouds=wt["data"][0]["clouds"], + ) ) - ) + except: + await session.send('搜索似乎出问题了呢...请重试') @on_command('wtlist', aliases=['天气详细']) -async def _(session: CommandSession): - city = session.get('city', prompt='请键入你需要查询的城市(例:北京)') - session.send('正在搜寻...') - re_msg = google_translate.translate(city[:4999], to='en', source='zh-CN') - URL = API_URL + re_msg[0] + API_URL_2 - # print(URL) - res = requests.get(URL) - res.encoding = 'utf-8' - html = res.text - wt = json.loads(html) - await session.send(LIST_ALL.format( - rh=wt["data"][0]["rh"], - pod=wt["data"][0]["pod"], - lon=wt["data"][0]["lon"], - pres=wt["data"][0]["pres"], - timezone=wt["data"][0]["timezone"], - ob_time=wt["data"][0]["ob_time"], - clouds=wt["data"][0]["clouds"], - solar_rad=wt["data"][0]["solar_rad"], - city=wt["data"][0]["city_name"], - wind_spd=wt["data"][0]["wind_spd"], - last_ob_time=wt["data"][0]["last_ob_time"], - wind_cdir_full=wt["data"][0]["wind_cdir_full"], - wind_cdir=wt["data"][0]["wind_cdir"], - temp=wt["data"][0]["temp"], - slp=wt["data"][0]["slp"], - vis=wt["data"][0]["vis"], - h_angle=wt["data"][0]["h_angle"], - sunset=wt["data"][0]["sunset"], - dni=wt["data"][0]["dni"], - dewpt=wt["data"][0]["dewpt"], - snow=wt["data"][0]["snow"], - uv=wt["data"][0]["uv"], - precip=wt["data"][0]["precip"], - wind_dir=wt["data"][0]["wind_dir"], - sunrise=wt["data"][0]["sunrise"], - ghi=wt["data"][0]["ghi"], - dhi=wt["data"][0]["dhi"], - aqi=wt["data"][0]["aqi"], - lat=wt["data"][0]["lat"], - description=wt["data"][0]["weather"]["description"], - datetime=wt["data"][0]["datetime"], - station=wt["data"][0]["station"], - elev_angle=wt["data"][0]["elev_angle"], - app_temp=wt["data"][0]["app_temp"], +async def wtlist(session: CommandSession): + cy_ct = session.get('wtlist', prompt='输入的信息似乎出问题了呢...例:天气 CN 北京 或 天气 JP 东京') + ms = cy_ct.split(' ') + try: + country = ms[0] + city = ms[1] + re_msg = google_translate.translate(city[:4999], to='en', source='zh-CN') + URL = API_URL + re_msg[0] + ',' + country + API_URL_2 + # print(URL) + res = requests.get(URL) + res.encoding = 'utf-8' + html = res.text + wt = json.loads(html) + await session.send(LIST_ALL.format( + rh=wt["data"][0]["rh"], + pod=wt["data"][0]["pod"], + lon=wt["data"][0]["lon"], + pres=wt["data"][0]["pres"], + timezone=wt["data"][0]["timezone"], + ob_time=wt["data"][0]["ob_time"], + clouds=wt["data"][0]["clouds"], + solar_rad=wt["data"][0]["solar_rad"], + city=wt["data"][0]["city_name"], + wind_spd=wt["data"][0]["wind_spd"], + last_ob_time=wt["data"][0]["last_ob_time"], + wind_cdir_full=wt["data"][0]["wind_cdir_full"], + wind_cdir=wt["data"][0]["wind_cdir"], + temp=wt["data"][0]["temp"], + slp=wt["data"][0]["slp"], + vis=wt["data"][0]["vis"], + h_angle=wt["data"][0]["h_angle"], + sunset=wt["data"][0]["sunset"], + dni=wt["data"][0]["dni"], + dewpt=wt["data"][0]["dewpt"], + snow=wt["data"][0]["snow"], + uv=wt["data"][0]["uv"], + precip=wt["data"][0]["precip"], + wind_dir=wt["data"][0]["wind_dir"], + sunrise=wt["data"][0]["sunrise"], + ghi=wt["data"][0]["ghi"], + dhi=wt["data"][0]["dhi"], + aqi=wt["data"][0]["aqi"], + lat=wt["data"][0]["lat"], + description=wt["data"][0]["weather"]["description"], + datetime=wt["data"][0]["datetime"], + station=wt["data"][0]["station"], + elev_angle=wt["data"][0]["elev_angle"], + app_temp=wt["data"][0]["app_temp"], + ) + ) + except: + await session.send('搜索似乎出问题了呢...请重试') + + +@on_command('weathercn', aliases=['国内天气详细'], only_to_me=False) +async def weathercn(session: CommandSession): + city = session.get('weathercn', prompt='输入格式似乎有问题呢...例:国内天气详细 北京') + ms = city.split(' ') + try: + msg = ms[0] + print(msg) + res = API_URL_3 + msg + print(res) + res1 = requests.get(res) + res1.encoding = 'utf-8' + html = res1.text + wt = json.loads(html) + await session.send(LIST_CN.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 @@ -132,7 +187,31 @@ async def _(session: CommandSession): stripped_arg = session.current_arg_text.strip() if session.is_first_run: if stripped_arg: - session.state['city'] = stripped_arg + session.state['weather'] = stripped_arg + return + + if not stripped_arg: + session.pause('要查询的城市不能为空,请重新输入') + session.state[session.current_key] = stripped_arg + [email protected]_parser +async def _(session: CommandSession): + stripped_arg = session.current_arg_text.strip() + if session.is_first_run: + if stripped_arg: + session.state['wtlist'] = stripped_arg + return + + if not stripped_arg: + session.pause('要查询的城市不能为空,请重新输入') + session.state[session.current_key] = stripped_arg + [email protected]_parser +async def _(session: CommandSession): + stripped_arg = session.current_arg_text.strip() + if session.is_first_run: + if stripped_arg: + session.state['weathercn'] = stripped_arg return if not stripped_arg: |