diff --git a/.gitignore b/.gitignore index 320616b..0ea55b8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ config.py .idea test.py push.cmd -data/pcr/char.list \ No newline at end of file +data/pcr/char.list +venv \ No newline at end of file diff --git a/req.txt b/req.txt index 762ff19..df00370 100644 --- a/req.txt +++ b/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 diff --git a/route.py b/route.py index 868efa1..1faa2d4 100644 --- a/route.py +++ b/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'] diff --git a/worker/lsp.py b/worker/lsp.py index 432a51b..d3c68d3 100644 --- a/worker/lsp.py +++ b/worker/lsp.py @@ -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 diff --git a/worker/weather.py b/worker/weather.py new file mode 100644 index 0000000..5eb3efc --- /dev/null +++ b/worker/weather.py @@ -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() + \ No newline at end of file diff --git a/worker/zhaoan.py b/worker/zhaoan.py new file mode 100644 index 0000000..18b6e84 --- /dev/null +++ b/worker/zhaoan.py @@ -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