mirror of
https://github.com/TeamPGM/PagerMaid_Plugins.git
synced 2024-11-21 20:38:01 +00:00
97 lines
3.4 KiB
Python
97 lines
3.4 KiB
Python
""" Tell the time when to have weekend """
|
|
|
|
import datetime
|
|
from random import choice
|
|
|
|
import pytz
|
|
from pagermaid import bot, version
|
|
from pagermaid.listener import listener
|
|
from pagermaid.utils import alias_command
|
|
|
|
thumbnails = (
|
|
"https://s2.loli.net/2021/12/20/8yJiTKYwdt6ro7z.png",
|
|
"https://s2.loli.net/2021/12/20/FJO2SxrNEAyDsVp.png",
|
|
"https://s2.loli.net/2021/12/20/Jc1lG2aNgkrTy3x.png",
|
|
"https://s2.loli.net/2021/12/20/Hq97ZtnCb4UFWv1.png",
|
|
"https://s2.loli.net/2021/12/20/viP8rwypmBUqHTc.png",
|
|
"https://s2.loli.net/2021/12/20/dEVPwhD4Y2HrCWi.png",
|
|
"https://s2.loli.net/2021/12/20/WJHz16wRTEaO7f4.png",
|
|
"https://s2.loli.net/2021/12/20/ubAgsc4kNPnriCa.png"
|
|
|
|
)
|
|
|
|
festivals = ( # Festivals name | month | day
|
|
('元旦', 1, 1),
|
|
('春节', 2, 1),
|
|
('元宵节', 2, 15),
|
|
('清明节', 4, 4),
|
|
('劳动节', 5, 1),
|
|
('国庆节', 10, 1),
|
|
('【春节法定假期放假】', 1, 30)
|
|
)
|
|
|
|
|
|
def get_midday(hour: int):
|
|
# Get AM/PM/Night
|
|
# 6 - 9 AM 早上
|
|
# 10 - 11 AM 上午
|
|
# 12 - 15 PM 中午
|
|
# 16 - 17 PM 下午
|
|
# 18 - 5 AM 晚上
|
|
if 6 <= hour <= 9:
|
|
return "早上"
|
|
elif 10 <= hour <= 11:
|
|
return "上午"
|
|
elif 12 <= hour <= 15:
|
|
return "中午"
|
|
elif 16 <= hour <= 17:
|
|
return "下午"
|
|
elif hour >= 18 or hour <= 5:
|
|
return "晚上"
|
|
|
|
|
|
def gen_text():
|
|
# Main function of generating text
|
|
now = datetime.datetime.now().replace(tzinfo=pytz.timezone("Asia/Shanghai"))
|
|
now_month, now_day = now.month, now.day
|
|
result = [f"【摸鱼办】提醒您:{now.month} 月 {now.day} 日,{get_midday(now.hour)}好,摸鱼人!",
|
|
"工作再累,一定不要忘记摸鱼哦!",
|
|
choice(("有事没事起身去茶水间去厕所去廊道走走", "别老在工位上坐着,钱是老板的,但命是自己的")),
|
|
"",
|
|
# Weekend
|
|
0 <= now.weekday() < 6 and f"距离周末还有{6 - now.weekday()}天" or "**好好享受周末吧**\n"]
|
|
|
|
# Festival
|
|
for fest_name, fest_month, fest_day in festivals:
|
|
if fest_month == now_month and fest_day == now_day:
|
|
result.append(f"\n**今天就是{fest_name}节,好好享受!**\n")
|
|
else:
|
|
fest_day_start_year = now.year + (1 if now_month > fest_month else 0)
|
|
fest_day_start_year = fest_day_start_year + (1 if (now_month == fest_month and now_day > fest_day) else 0)
|
|
fest_day_start = datetime.datetime(fest_day_start_year, fest_month, fest_day).replace(
|
|
tzinfo=pytz.timezone("Asia/Shanghai"))
|
|
time_left = abs((fest_day_start - now if fest_month == fest_day == 1 else now - fest_day_start).days)
|
|
time_left < 60 and result.append(f"距离{fest_name}还有{time_left}天")
|
|
|
|
result.extend((
|
|
"",
|
|
"为了放假加油吧!",
|
|
"上班是帮老板赚钱,摸鱼是赚老板的钱!",
|
|
"最后,祝愿天下所有摸鱼人,都能愉快的渡过每一天!"
|
|
))
|
|
|
|
return "\n".join(result)
|
|
|
|
|
|
@listener(is_plugin=True, outgoing=True,
|
|
command=alias_command("moyu"),
|
|
description="摸鱼真开心")
|
|
async def moyu(context):
|
|
text = gen_text()
|
|
await context.delete()
|
|
await bot.send_file(
|
|
context.peer_id,
|
|
choice(thumbnails),
|
|
caption=text
|
|
)
|