mirror of
https://github.com/TeamPGM/PagerMaid_Plugins_Pyro.git
synced 2024-11-16 07:05:24 +00:00
moyu 摸鱼日历
This commit is contained in:
parent
c46fc314f3
commit
ea159b1aa1
12
list.json
12
list.json
@ -12,7 +12,7 @@
|
||||
},
|
||||
{
|
||||
"name": "eat",
|
||||
"version": "1.045",
|
||||
"version": "1.046",
|
||||
"section": "profile",
|
||||
"maintainer": "SF_PICK",
|
||||
"size": "20.0 kb",
|
||||
@ -29,6 +29,16 @@
|
||||
"supported": true,
|
||||
"des-short": "语句抽象化",
|
||||
"des": "能够将你的语句变得抽象起来~"
|
||||
},
|
||||
{
|
||||
"name": "moyu",
|
||||
"version": "1.0",
|
||||
"section": "chat",
|
||||
"maintainer": "xtaodada",
|
||||
"size": "3.0 kb",
|
||||
"supported": true,
|
||||
"des-short": "摸鱼日历",
|
||||
"des": "支持群订阅"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
66
moyu/main.py
Normal file
66
moyu/main.py
Normal file
@ -0,0 +1,66 @@
|
||||
""" PagerMaid module that 摸鱼日历 """
|
||||
|
||||
from os import sep
|
||||
|
||||
from pyrogram import Client
|
||||
from pagermaid import scheduler
|
||||
from pagermaid import bot
|
||||
from pagermaid.listener import listener
|
||||
from pagermaid.utils import client, Message
|
||||
from pagermaid.sub_utils import Sub
|
||||
|
||||
moyu_sub = Sub("moyu")
|
||||
|
||||
|
||||
async def get_calendar() -> None:
|
||||
resp = await client.get("https://api.j4u.ink/proxy/remote/moyu.json")
|
||||
if resp.is_error:
|
||||
raise ValueError(f"摸鱼日历获取失败,错误码:{resp.status_code}")
|
||||
content = resp.json()
|
||||
url = content.get("data", {}).get("moyu_url", "")
|
||||
if not url:
|
||||
raise ValueError("摸鱼日历获取失败,无法获取摸鱼日历链接")
|
||||
resp = await client.get(url, follow_redirects=True)
|
||||
with open(f"data{sep}moyu.png", "wb") as f:
|
||||
f.write(resp.content)
|
||||
|
||||
|
||||
async def push_moyu(gid: int) -> None:
|
||||
await bot.send_photo(
|
||||
gid,
|
||||
f"data{sep}moyu.png",
|
||||
)
|
||||
|
||||
|
||||
@scheduler.scheduled_job("cron", hour="8", id="moyu.push")
|
||||
async def calendar_subscribe() -> None:
|
||||
await get_calendar()
|
||||
for gid in moyu_sub.get_subs():
|
||||
try:
|
||||
await push_moyu(gid)
|
||||
except Exception as e: # noqa
|
||||
moyu_sub.del_id(gid)
|
||||
|
||||
|
||||
@listener(command="moyu",
|
||||
parameters="订阅/退订",
|
||||
description="查看今日摸鱼日历,支持订阅/退订每天上午八点定时发送")
|
||||
async def moyu(_: Client, message: Message):
|
||||
""" 摸鱼日历 """
|
||||
if not message.arguments:
|
||||
try:
|
||||
await get_calendar()
|
||||
except ValueError as e:
|
||||
return await message.edit(e.__str__())
|
||||
await message.safe_delete()
|
||||
await push_moyu(message.chat.id)
|
||||
elif message.arguments == "订阅":
|
||||
if moyu_sub.check_id(message.chat.id):
|
||||
return await message.edit("你已经订阅了摸鱼日历")
|
||||
moyu_sub.add_id(message.chat.id)
|
||||
await message.edit("你已经成功订阅了摸鱼日历")
|
||||
elif message.arguments == "退订":
|
||||
if not moyu_sub.check_id(message.chat.id):
|
||||
return await message.edit("你还没有订阅摸鱼日历")
|
||||
moyu_sub.del_id(message.chat.id)
|
||||
await message.edit("你已经成功退订了摸鱼日历")
|
Loading…
Reference in New Issue
Block a user