extend morning job kwargs

This commit is contained in:
Dmitry Afanasyev 2022-09-15 11:19:28 +03:00
parent 8280e02aed
commit c9e69b72cc
2 changed files with 36 additions and 18 deletions

View File

@ -90,7 +90,9 @@ class TransportBot:
)
@staticmethod
async def morning_bus_mailing(chat_ids: list[int] | None) -> None:
async def morning_bus_mailing(
chat_ids: list[int] | None, show_keyboard: bool = False
) -> None:
if not chat_ids:
return None
@ -104,10 +106,15 @@ class TransportBot:
'т19',
],
)
kwargs = {'reply_markup': TransportBot.get_keyboard()} if show_keyboard else {}
await asyncio.gather(
*[
TransportBot.bot.send_message(
chat_id=chat_id, text=text, parse_mode=types.ParseMode.HTML
chat_id=chat_id,
text=text,
parse_mode=types.ParseMode.HTML,
**kwargs
)
for chat_id in chat_ids
]

View File

@ -9,26 +9,33 @@ bot_cron_jobs = {
'job': TransportBot.morning_bus_mailing,
'cron': [
{
'time': {
'trigger': 'cron',
'day_of_week': 'mon-fri',
'hour': 8,
'minute': 59,
'second': 0,
},
},
{
'time': {
'trigger': 'cron',
'day_of_week': 'mon-fri',
'hour': 9,
'minute': 4,
'second': 0,
},
},
{
'time': {
'trigger': 'cron',
'day_of_week': 'mon-fri',
'hour': 9,
'minute': 9,
'second': 0,
},
'kwargs_per_job': {'show_keyboard': True},
},
],
'func_kwargs': {
'chat_ids': [
@ -54,7 +61,11 @@ class BotScheduler:
return None
for cron in cron_jobs['cron']:
self.scheduler.add_job(
cron_jobs['job'], kwargs=cron_jobs.get('func_kwargs'), **cron
cron_jobs['job'],
kwargs=dict(
**cron_jobs.get('func_kwargs'), **cron.get('kwargs_per_job', {})
),
**cron['time'],
)
logger.info(f'Added scheduled job: {cron_jobs["job"].__name__} {cron}')