Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/modules/weekly_rss/__init__.py

53 lines
2.5 KiB
Python
Raw Normal View History

2023-04-16 13:07:56 +00:00
from core.builtins import Bot, Image, Plain, command_prefix
2023-03-04 08:51:56 +00:00
from core.component import module
2021-08-07 07:56:48 +00:00
from core.logger import Logger
2023-02-05 14:33:33 +00:00
from core.scheduler import CronTrigger
2023-04-08 17:01:27 +00:00
from core.utils.i18n import Locale
2023-04-19 07:45:29 +00:00
from core.utils.image import msgchain2image
2021-08-07 03:37:17 +00:00
from modules.weekly import get_weekly
2021-11-19 17:50:34 +00:00
from modules.weekly.teahouse import get_rss as get_teahouse_rss
2021-08-07 03:37:17 +00:00
2023-03-04 08:51:56 +00:00
weekly_rss = module('weekly_rss',
2023-04-05 03:35:35 +00:00
desc='{weekly_rss.help.desc}',
2023-03-04 08:51:56 +00:00
developers=['Dianliang233'], alias='weeklyrss')
2021-08-07 07:56:48 +00:00
2023-03-01 13:41:42 +00:00
2023-04-26 02:25:41 +00:00
@weekly_rss.handle(CronTrigger.from_crontab('0 9 * * MON'))
2023-03-01 13:41:42 +00:00
async def weekly_rss():
2021-09-03 19:19:07 +00:00
Logger.info('Checking MCWZH weekly...')
2021-08-07 03:37:17 +00:00
2023-04-05 05:36:11 +00:00
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)
2023-04-08 17:01:27 +00:00
if Bot.FetchTarget.name == 'QQ':
2023-04-16 13:07:56 +00:00
weekly_cn = [Plain(Locale('zh_cn').t('weekly_rss.prompt', prefix=command_prefix[0]))] + weekly_cn
weekly_tw = [Plain(Locale('zh_tw').t('weekly_rss.prompt', prefix=command_prefix[0]))] + weekly_tw
2023-04-08 17:01:27 +00:00
weekly_cn = Image(await msgchain2image(weekly_cn))
weekly_tw = Image(await msgchain2image(weekly_tw))
2023-04-05 05:36:11 +00:00
post_msg = {'zh_cn': weekly_cn, 'zh_tw': weekly_tw, 'fallback': weekly_cn}
await Bot.FetchTarget.post_message('weekly_rss', post_msg, i18n=True)
2021-09-03 19:19:07 +00:00
Logger.info('Weekly checked.')
2021-11-19 17:50:34 +00:00
2023-03-04 08:51:56 +00:00
teahouse_weekly_rss = module('teahouse_weekly_rss',
2023-03-01 13:41:42 +00:00
2023-04-05 03:35:35 +00:00
desc='{teahouse_weekly_rss.help.desc}',
2023-03-04 08:51:56 +00:00
developers=['OasisAkari'], alias=['teahouseweeklyrss', 'teahouserss'])
2023-03-01 13:41:42 +00:00
2023-03-04 08:51:56 +00:00
2023-04-26 02:25:41 +00:00
@teahouse_weekly_rss.handle(trigger=CronTrigger.from_crontab('30 9 * * MON'))
2023-03-01 13:41:42 +00:00
async def weekly_rss():
2021-11-19 17:50:34 +00:00
Logger.info('Checking teahouse weekly...')
weekly = await get_teahouse_rss()
2023-04-12 06:29:21 +00:00
if Bot.FetchTarget.name == 'QQ':
2023-05-15 03:41:10 +00:00
weekly_cn = [Plain(Locale('zh_cn').t('weekly_rss.teahouse.prompt', prefix=command_prefix[0]) + weekly)]
weekly_tw = [Plain(Locale('zh_tw').t('weekly_rss.teahouse.prompt', prefix=command_prefix[0]) + weekly)]
weekly_en = [Plain(Locale('en_us').t('weekly_rss.teahouse.prompt', prefix=command_prefix[0]) + weekly)]
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}
2023-04-12 06:29:21 +00:00
await Bot.FetchTarget.post_message('teahouse_weekly_rss', post_msg, i18n=True)
else:
await Bot.FetchTarget.post_message('teahouse_weekly_rss', weekly)
2021-11-19 17:50:34 +00:00
Logger.info('Teahouse Weekly checked.')