Archived
1
0
Fork 0
This commit is contained in:
yzhh 2023-09-13 08:57:21 +08:00
parent 5c3f2de6e0
commit 97fdb82097
2 changed files with 34 additions and 15 deletions

View file

@ -1,30 +1,25 @@
from core.builtins import Bot, Image, Plain, command_prefix
from core.component import module
from core.logger import Logger
from core.scheduler import CronTrigger
from core.utils.i18n import Locale
from core.utils.image import msgchain2image
from modules.weekly import get_weekly
from modules.weekly.teahouse import get_rss as get_teahouse_rss
weekly_rss = module('weekly_rss',
desc='{weekly_rss.help.desc}',
developers=['Dianliang233'], alias='weeklyrss')
@weekly_rss.handle(CronTrigger.from_crontab('0 9 * * MON'))
async def weekly_rss():
Logger.info('Checking MCWZH weekly...')
weekly_cn = await get_weekly(True if Bot.FetchTarget.name == 'QQ' else False)
weekly_tw = await get_weekly(True if Bot.FetchTarget.name == 'QQ' else False, zh_tw=True)
@weekly_rss.hook()
async def weekly_rss(fetch: Bot.FetchTarget, ctx: Bot.ModuleHookContext):
weekly_cn = ctx.args['weekly_cn']
weekly_tw = ctx.args['weekly_tw']
if Bot.FetchTarget.name == 'QQ':
weekly_cn = [Plain(Locale('zh_cn').t('weekly_rss.message', prefix=command_prefix[0]))] + weekly_cn
weekly_tw = [Plain(Locale('zh_tw').t('weekly_rss.message', prefix=command_prefix[0]))] + weekly_tw
weekly_cn = Image(await msgchain2image(weekly_cn))
weekly_tw = Image(await msgchain2image(weekly_tw))
post_msg = {'zh_cn': weekly_cn, 'zh_tw': weekly_tw, 'fallback': weekly_cn}
await Bot.FetchTarget.post_message('weekly_rss', post_msg, i18n=True)
await fetch.post_message('weekly_rss', post_msg, i18n=True)
Logger.info('Weekly checked.')
@ -34,11 +29,11 @@ teahouse_weekly_rss = module('teahouse_weekly_rss',
developers=['OasisAkari'], alias=['teahouseweeklyrss', 'teahouserss'])
@teahouse_weekly_rss.handle(trigger=CronTrigger.from_crontab('30 9 * * MON'))
async def weekly_rss():
@teahouse_weekly_rss.hook()
async def weekly_rss(fetch: Bot.FetchTarget, ctx: Bot.ModuleHookContext):
Logger.info('Checking teahouse weekly...')
weekly = await get_teahouse_rss()
weekly = ctx.args['weekly']
if Bot.FetchTarget.name == 'QQ':
weekly_cn = [
Plain(
@ -55,7 +50,7 @@ async def weekly_rss():
weekly_cn = Image(await msgchain2image(weekly_cn))
weekly_tw = Image(await msgchain2image(weekly_tw))
post_msg = {'zh_cn': weekly_cn, 'zh_tw': weekly_tw, 'fallback': weekly_cn}
await Bot.FetchTarget.post_message('teahouse_weekly_rss', post_msg, i18n=True)
await fetch.post_message('teahouse_weekly_rss', post_msg, i18n=True)
else:
await Bot.FetchTarget.post_message('teahouse_weekly_rss', weekly)
await fetch.post_message('teahouse_weekly_rss', weekly)
Logger.info('Teahouse Weekly checked.')

24
schedulers/weekly_rss.py Normal file
View file

@ -0,0 +1,24 @@
from core.builtins import Bot
from core.logger import Logger
from core.queue import JobQueue
from core.scheduler import CronTrigger
from core.scheduler import Scheduler
from modules.weekly import get_weekly
from modules.weekly.teahouse import get_rss as get_teahouse_rss
@Scheduler.scheduled_job(CronTrigger.from_crontab('0 9 * * MON'))
async def weekly_rss():
Logger.info('Checking MCWZH weekly...')
weekly_cn = await get_weekly(True if Bot.FetchTarget.name == 'QQ' else False)
weekly_tw = await get_weekly(True if Bot.FetchTarget.name == 'QQ' else False, zh_tw=True)
await JobQueue.trigger_hook_all('weekly_rss', weekly_cn=weekly_cn, weekly_tw=weekly_tw)
@Scheduler.scheduled_job(trigger=CronTrigger.from_crontab('30 9 * * MON'))
async def weekly_rss():
Logger.info('Checking teahouse weekly...')
weekly = await get_teahouse_rss()
await JobQueue.trigger_hook_all('teahouse_weekly_rss', weekly=weekly)