commit
ceb4306548
6 changed files with 148 additions and 5 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -5,4 +5,5 @@ config.py
|
|||
.idea
|
||||
test.py
|
||||
push.cmd
|
||||
data/pcr/char.list
|
||||
data/pcr/char.list
|
||||
venv
|
21
req.txt
21
req.txt
|
@ -1,31 +1,52 @@
|
|||
astroid==2.3.3
|
||||
autopep8==1.5
|
||||
backcall==0.2.0
|
||||
certifi==2019.11.28
|
||||
chardet==3.0.4
|
||||
Click==7.0
|
||||
decorator==4.4.2
|
||||
entrypoints==0.3
|
||||
flake8==3.7.9
|
||||
Flask==1.1.1
|
||||
idna==2.9
|
||||
importlib-metadata==1.5.0
|
||||
inflect==4.1.0
|
||||
ipykernel==5.3.4
|
||||
ipython==7.18.1
|
||||
ipython-genutils==0.2.0
|
||||
isort==4.3.21
|
||||
itsdangerous==1.1.0
|
||||
jaraco.itertools==5.0.0
|
||||
jedi==0.17.2
|
||||
Jinja2==2.11.1
|
||||
jupyter-client==6.1.7
|
||||
jupyter-core==4.6.3
|
||||
lazy-object-proxy==1.4.3
|
||||
MarkupSafe==1.1.1
|
||||
mccabe==0.6.1
|
||||
more-itertools==8.2.0
|
||||
parso==0.7.1
|
||||
pexpect==4.8.0
|
||||
pickleshare==0.7.5
|
||||
prompt-toolkit==3.0.7
|
||||
ptyprocess==0.6.0
|
||||
pycodestyle==2.5.0
|
||||
pydub==0.24.1
|
||||
pyflakes==2.1.1
|
||||
Pygments==2.7.0
|
||||
pylint==2.4.4
|
||||
python-dateutil==2.8.1
|
||||
pyzmq==19.0.2
|
||||
redis==3.4.1
|
||||
requests==2.23.0
|
||||
six==1.14.0
|
||||
sxtwl==1.1.0
|
||||
toml==0.10.1
|
||||
tornado==6.0.4
|
||||
traitlets==5.0.4
|
||||
typed-ast==1.4.1
|
||||
urllib3==1.25.8
|
||||
wcwidth==0.2.5
|
||||
Werkzeug==1.0.0
|
||||
wolframalpha==4.0.0
|
||||
wrapt==1.11.2
|
||||
|
|
3
route.py
3
route.py
|
@ -2,9 +2,6 @@ from worker import emmm
|
|||
|
||||
|
||||
def ZZRouter(data):
|
||||
if data['post_type'] != 'message' or data['message_type'] != 'group' or data['message'][0] != '/':
|
||||
return
|
||||
|
||||
uid = data['user_id']
|
||||
gid = data['group_id']
|
||||
role = data['sender']['role']
|
||||
|
|
|
@ -4,7 +4,7 @@ import requests
|
|||
from config import LOLIKEYS
|
||||
|
||||
class Ans(StdAns):
|
||||
AllowGroup = [973510746, 805197917,343700338,125733077,1084566280,920863253,798595664,655057127,196268763, 204097403, 247022495, 474907856]
|
||||
AllowGroup = [973510746, 805197917,343700338,125733077,1084566280,920863253,798595664,655057127,196268763, 247022495, 474907856]
|
||||
def GETMSG(self):
|
||||
|
||||
keys = LOLIKEYS
|
||||
|
|
56
worker/weather.py
Normal file
56
worker/weather.py
Normal file
|
@ -0,0 +1,56 @@
|
|||
import random
|
||||
import requests
|
||||
import datetime
|
||||
from zzcore import StdAns
|
||||
|
||||
class Ans(StdAns):
|
||||
"""docstring for Ans"""
|
||||
|
||||
def GETMSG(self):
|
||||
try:
|
||||
return self.get_weather()
|
||||
except Exception as e:
|
||||
return "啊哦,出错了"
|
||||
|
||||
def get_weather(self):
|
||||
ran = random.randint(0, 9999999999)
|
||||
url = "https://api.caiyunapp.com/v2/Y2FpeXVuIGFuZHJpb2QgYXBp/120.127164,36.000129/weather?lang=zh_CN&device_id={}".format(ran)
|
||||
res = requests.get(url).json()
|
||||
msg = "XZZ为您播报近期天气\n-------------------------------------\n"
|
||||
msg += "日期 | 温度 | 湿度 | 天气 |\n-------------------------------------"
|
||||
result = res["result"]["daily"]
|
||||
now = datetime.datetime.now()
|
||||
weather_summary = {
|
||||
"CLEAR_DAY": "晴",
|
||||
"CLEAR_NIGHT": "晴",
|
||||
"CLOUD_DAY_WIDGET": "多云转晴",
|
||||
"CLOUDY": "阴",
|
||||
"HAZE": "霾",
|
||||
"HAZE_WIDGET": "霾",
|
||||
"PARTLY_CLOUD_NIGHT": "多云转晴",
|
||||
"PARTLY_CLOUD_NIGHT_WIDGET": "多云转晴",
|
||||
"PARTLY_CLOUD_WIDGET": "阴",
|
||||
"PARTLY_CLOUDY_DAY": "多云转晴",
|
||||
"PARTLY_CLOUDY_NIGHT": "多云转晴",
|
||||
"RAIN": "雨",
|
||||
"RAIN_HEAVY": "大雨",
|
||||
"RAIN_LIGHT": "小雨",
|
||||
"RAIN_MIDDLE": "中雨",
|
||||
"RAIN_NORMAL_WIDGET": "大雨",
|
||||
"SNOW": "雪",
|
||||
"SNOW_WIDGET": "雪",
|
||||
"SUNSHINE_NIGHT_WIDGET": "晴",
|
||||
"SUNSHINE_WIDGET": "晴",
|
||||
"WIND": "晴",
|
||||
}
|
||||
for i in range(5):
|
||||
msg += "\n"
|
||||
msg += "{} | ".format((now + datetime.timedelta(days=i)).strftime("%Y-%m-%d"))
|
||||
msg += "{} | ".format(format(result["temperature"][i]["avg"], ".2f"))
|
||||
msg += "{} | ".format(format(result["humidity"][i]["avg"], ".2f"))
|
||||
msg += "{} | ".format(weather_summary[result["skycon"][i]["value"]])
|
||||
return msg
|
||||
|
||||
if __name__ == "__main__":
|
||||
Ans().GETMSG()
|
||||
|
68
worker/zhaoan.py
Normal file
68
worker/zhaoan.py
Normal file
|
@ -0,0 +1,68 @@
|
|||
from zzcore import StdAns
|
||||
import requests
|
||||
import sxtwl
|
||||
from datetime import datetime
|
||||
from config import HFWEATHERKEY
|
||||
|
||||
|
||||
class Ans(StdAns):
|
||||
def GETMSG(self):
|
||||
msg = f'早上好,今天是{calendar()}\n\n'
|
||||
msg += getWeather() + '\n\n'
|
||||
t = requests.get('https://v1.hitokoto.cn/?c=k&encode=text').text
|
||||
msg += t
|
||||
return msg
|
||||
|
||||
|
||||
def getWeather(id='101120206'):
|
||||
def wemoji(text):
|
||||
if '雪' in text:
|
||||
return text + '🌨'
|
||||
if '雨' in text:
|
||||
return text + '🌧️'
|
||||
if '阴' in text:
|
||||
return text + '⛅'
|
||||
if '云' in text:
|
||||
return text + '🌤'
|
||||
if '晴' in text:
|
||||
return text + '☀️'
|
||||
return text
|
||||
|
||||
url = 'https://devapi.heweather.net/v7/weather/3d'
|
||||
params = {
|
||||
'location': id,
|
||||
'key': HFWEATHERKEY,
|
||||
}
|
||||
r = requests.get(url=url, params=params).json()
|
||||
tdw = r['daily'][0]
|
||||
ndw = r['daily'][1]
|
||||
weather = f"今日日间{wemoji(tdw['textDay'])},温度{tdw['tempMin']}~{tdw['tempMax']}℃,{tdw['windDirDay']}{tdw['windScaleDay']}级;夜间{wemoji(tdw['textNight'])},{tdw['windDirNight']}{tdw['windScaleNight']}级。明日日间{wemoji(ndw['textDay'])},温度{ndw['tempMin']}~{ndw['tempMax']}℃。"
|
||||
if float(tdw['precip']) > 0:
|
||||
weather += '\n记得收好衣服,出门带伞~'
|
||||
|
||||
return weather
|
||||
|
||||
|
||||
def calendar():
|
||||
|
||||
ymc = ["十一", "十二", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
|
||||
rmc = ["初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五",
|
||||
"十六", "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十", "卅一"]
|
||||
zmc = ["一", "二", "三", "四", "五", "六", "天"]
|
||||
nowdate = datetime.now()
|
||||
y = nowdate.year
|
||||
m = nowdate.month
|
||||
d = nowdate.day
|
||||
zc = int(nowdate.strftime("%W")) - 34
|
||||
|
||||
z = zmc[nowdate.weekday()]
|
||||
|
||||
lunar = sxtwl.Lunar()
|
||||
lunarday = lunar.getDayBySolar(y, m, d)
|
||||
|
||||
lunardaychinese = f"{ymc[lunarday.Lmc]}月{rmc[lunarday.Ldi]}日"
|
||||
if lunarday.Lleap:
|
||||
lunardaychinese = "闰" + lunardaychinese
|
||||
|
||||
cal = f"{m}月{d}日,农历{lunardaychinese},本学期第{zc}周,星期{z}"
|
||||
return cal
|
Loading…
Reference in a new issue