XZZ/worker/zhaoan.py

79 lines
2.9 KiB
Python
Raw Normal View History

2020-09-13 18:12:38 +08:00
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'
2021-08-11 22:45:47 +08:00
# t = requests.get('https://v1.hitokoto.cn/?c=k&encode=text').text
t =("只要不失去你的崇高,整个世界都会向你敞开")
2020-09-13 18:12:38 +08:00
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]
2021-01-14 09:47:58 +08:00
# 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']}℃。"
weather = f"今日日间{wemoji(tdw['textDay'])},温度{tdw['tempMin']}{tdw['tempMax']}℃,{tdw['windDirDay']}{tdw['windScaleDay']}级;夜间{wemoji(tdw['textNight'])}{tdw['windDirNight']}{tdw['windScaleNight']}级。"
2020-09-13 18:12:38 +08:00
if float(tdw['precip']) > 0:
weather += '\n记得收好衣服,出门带伞~'
return weather
def calendar():
2021-03-10 16:43:30 +08:00
# 可选 教学、寒假、暑假 等
NowStatus = "暑假"
2021-03-10 16:43:30 +08:00
# 开始周次是今年的第几周
StartWeek = 28
2021-03-10 16:43:30 +08:00
# 今年考研开始日期
2021-09-04 21:58:54 +08:00
KaoYanDate = datetime(2021, 12, 25)
2021-03-10 16:43:30 +08:00
2021-01-13 09:50:36 +08:00
ymc = ["", "", "", "", "", "", "", "", "", "", "", ""]
2020-09-13 18:12:38 +08:00
rmc = ["初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五",
"十六", "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十", "卅一"]
zmc = ["", "", "", "", "", "", ""]
nowdate = datetime.now()
2021-03-10 16:43:30 +08:00
djs = (KaoYanDate - nowdate).days -1
2020-09-13 18:12:38 +08:00
y = nowdate.year
m = nowdate.month
d = nowdate.day
2021-03-10 16:43:30 +08:00
zc = int(nowdate.strftime("%W")) - StartWeek
2020-09-13 18:12:38 +08:00
z = zmc[nowdate.weekday()]
lunar = sxtwl.Lunar()
lunarday = lunar.getDayBySolar(y, m, d)
2021-01-13 09:50:36 +08:00
lunardaychinese = f"{ymc[lunarday.Lmc]}{rmc[lunarday.Ldi]}"
2020-09-13 18:12:38 +08:00
if lunarday.Lleap:
lunardaychinese = "" + lunardaychinese
2021-03-10 16:43:30 +08:00
cal = f"{m}{d}日,{lunardaychinese}{NowStatus}{zc}周,星期{z}\n\n距离 2022 考研还有 {djs}"
2020-09-13 18:12:38 +08:00
return cal