Merge remote-tracking branch 'origin/Bot' into Bot

This commit is contained in:
CMHopeSunshine 2022-08-29 18:59:40 +08:00
commit 06cf92cac5
2 changed files with 20 additions and 11 deletions

View File

@ -1,5 +1,8 @@
from typing import Union
from nonebot import get_bot, on_command
from nonebot.adapters.onebot.v11 import MessageEvent, MessageSegment
from nonebot.adapters.onebot.v11 import MessageEvent, MessageSegment, GROUP_ADMIN
from nonebot.permission import SUPERUSER
from nonebot.plugin import PluginMetadata
from .generate import *
@ -16,14 +19,14 @@ __plugin_meta__ = PluginMetadata(
"原神日历 on 时间/off : 订阅/取消订阅指定服务器的日历推送\n"
),
extra={
'type': '原神Wiki',
"author": "nicklly <1134741727@qq.com>",
'type': '原神Wiki',
"author": "nicklly <1134741727@qq.com>",
"version": "1.0.1",
'priority': 7,
},
)
calendar = on_command('原神日历', aliases={'原神日程', '活动日历'}, priority=10, block=True)
calendar = on_command('原神日历', aliases={'原神日程', '活动日历'}, permission=SUPERUSER | GROUP_ADMIN, priority=10, block=True)
@calendar.handle()
@ -38,13 +41,18 @@ async def _(event: MessageEvent, sub_id=CommandObjectID(), switch=CommandSwitch(
sub_data['extra_id'] = event.guild_id
if switch:
if sub_time:
await GeneralSub.update_or_create(**sub_data, defaults={'sub_hour': sub_time[0], 'sub_minute': sub_time[1]})
await GeneralSub.update_or_create(**sub_data,
defaults={'sub_hour': sub_time[0], 'sub_minute': sub_time[1]})
if scheduler.get_job(f'genshin_calendar_{sub_id}'):
scheduler.remove_job(f'genshin_calendar_{sub_id}')
scheduler.add_job(func=send_calendar, trigger='cron', hour=sub_time[0], minute=sub_time[1], id=f'genshin_calendar_{sub_id}', args=(sub_data['sub_id'], sub_data['sub_type'], sub_data.get('extra_id', None)), misfire_grace_time=10)
scheduler.add_job(func=send_calendar, trigger='cron', hour=sub_time[0], minute=sub_time[1],
id=f'genshin_calendar_{sub_id}',
args=(sub_data['sub_id'], sub_data['sub_type'], sub_data.get('extra_id', None)),
misfire_grace_time=10)
logger.info('原神日历', '', {sub_data['sub_type']: sub_id, 'time': f'{sub_time[0]}:{sub_time[1]}'}, '订阅成功', True)
logger.info('原神日历', '', {sub_data['sub_type']: sub_id, 'time': f'{sub_time[0]}:{sub_time[1]}'}, '订阅成功',
True)
await calendar.finish(f'原神日历订阅成功, 将在每日{sub_time[0]}:{sub_time[1]}推送')
else:

View File

@ -30,17 +30,18 @@ ignored_key_words = [
"防沉迷",
"问卷",
"公平运营",
"纪行",
"有奖活动",
"反馈功能"
]
ignored_ann_ids = [
495, # 有奖问卷调查开启!
1263, # 米游社《原神》专属工具一览
423, # 《原神》玩家社区一览
422, # 《原神》防沉迷系统说明
495, # 有奖问卷调查开启!
762, # 《原神》公平运营声明
1263, # 米游社《原神》专属工具一览
2388, # 原神问卷调查
2522, # 《原神》防沉迷系统说明
2911, # 功能反馈
]
list_api = 'https://hk4e-api.mihoyo.com/common/hk4e_cn/announcement/api/getAnnList?game=hk4e&game_biz=hk4e_cn&lang=zh-cn&bundle_id=hk4e_cn&platform=pc&region=cn_gf01&level=55&uid=100000000'