everyday_greet 每日问候

This commit is contained in:
xtaodada 2022-07-21 15:07:28 +08:00
parent a8dee08961
commit 30e50f50d5
Signed by: xtaodada
GPG Key ID: 4CBB3F4FA8C85659
2 changed files with 108 additions and 0 deletions

98
everyday_greet/main.py Normal file
View File

@ -0,0 +1,98 @@
import secrets
from pagermaid import bot, scheduler
from pagermaid.listener import listener
from pagermaid.utils import Message, edit_delete, check_manage_subs
from pagermaid.sub_utils import Sub
everyday_greet_sub = Sub("everyday_greet")
everyday_greet_data = {
"breakfast": [
"早上7点啦吃早餐啦",
"起床啦起床啦!现在还没起床的都是懒狗!",
"哦哈哟米娜桑!今日も元気でね!🥳",
"新的一天又是全气满满哦!",
"一日之计在于晨,懒狗还不起床?"
],
"lunch": [
"中午12点啦吃午餐啦",
"恰饭啦恰饭啦!再不去食堂就没吃的啦!",
"中午还不恰点好的?整点碳水大餐嗯造吧!"
],
"snack": [
"下午三点了,饮茶了先!",
"摸鱼时刻,整点恰滴先~",
"做咩啊做,真给老板打工啊!快来摸鱼!"
],
"dinner": [
"下午6点了不会真有人晚上加班恰外卖吧",
"下班咯,这不开造?",
"当务之急是下班!"
],
"midnight": [
"晚上10点啦整个夜宵犒劳自己吧",
"夜宵这不来个外卖?",
"夜宵这不整点好的?"
],
}
async def everyday_do_greet(when: str):
for gid in everyday_greet_sub.get_subs():
msg = secrets.choice(everyday_greet_data[when])
try:
await bot.send_message(gid, msg)
except Exception as e: # noqa
everyday_greet_sub.del_id(gid)
@scheduler.scheduled_job("cron", hour="7", id="everyday_greet.breakfast")
async def everyday_greet_breakfast() -> None:
await everyday_do_greet("breakfast")
@scheduler.scheduled_job("cron", hour="12", id="everyday_greet.lunch")
async def everyday_greet_lunch() -> None:
await everyday_do_greet("lunch")
@scheduler.scheduled_job("cron", hour="15", id="everyday_greet.snack")
async def everyday_greet_snack() -> None:
await everyday_do_greet("snack")
@scheduler.scheduled_job("cron", hour="18", id="everyday_greet.dinner")
async def everyday_greet_dinner() -> None:
await everyday_do_greet("dinner")
@scheduler.scheduled_job("cron", hour="22", id="everyday_greet.midnight")
async def everyday_greet_midnight() -> None:
await everyday_do_greet("midnight")
@listener(command="everyday_greet",
parameters="订阅/退订",
groups_only=True,
description="订阅/退订每日问候,仅支持群组")
async def everyday_greet(message: Message):
if not message.arguments:
return await message.edit("请输入 `订阅/退订` 参数")
elif message.arguments == "订阅":
if check_manage_subs(message):
if everyday_greet_sub.check_id(message.chat.id):
return await edit_delete(message, "❌ 你已经订阅了每日问候")
everyday_greet_sub.add_id(message.chat.id)
await message.edit("你已经成功订阅了每日问候")
else:
await edit_delete(message, "❌ 权限不足,无法订阅每日问候")
elif message.arguments == "退订":
if check_manage_subs(message):
if not everyday_greet_sub.check_id(message.chat.id):
return await edit_delete(message, "❌ 你还没有订阅每日问候")
everyday_greet_sub.del_id(message.chat.id)
await message.edit("你已经成功退订了每日问候")
else:
await edit_delete(message, "❌ 权限不足,无法退订每日问候")
else:
await message.edit("请输入 `订阅/退订` 参数")

View File

@ -379,6 +379,16 @@
"supported": true,
"des-short": "获取 Epic 喜加一限免。",
"des": "获取 Epic 喜加一限免。\n指令,epic"
},
{
"name": "everyday_greet",
"version": "1.0",
"section": "chat",
"maintainer": "xtaodada",
"size": "3.65 kb",
"supported": true,
"des-short": "每日问候。",
"des": "每日问候。\n指令,everyday_greet"
}
]
}