# Изменены параметры и добавлена логика в команду !создать_голосования

This commit is contained in:
2026-02-16 13:55:01 +05:00
parent 99901f5e47
commit cc588b0e06

38
main.py
View File

@@ -953,19 +953,38 @@ async def restore_event(ctx, *, arg: str):
@bot.command(name="создать_голосования") @bot.command(name="создать_голосования")
async def create_scheduled_events(ctx): async def create_scheduled_events(ctx):
"""Принудительно запускает создание голосований по расписанию""" """Принудительно запускает создание голосований по расписанию"""
import scheduler # импортируем модуль с расписанием import scheduler # импортируем модуль с расписанием
await ctx.send("⏳ Проверяю расписание и создаю голосования...") await ctx.send("⏳ Проверяю расписание и создаю голосования...")
now = datetime.datetime.now(MOSCOW_TZ) now = datetime.datetime.now(MOSCOW_TZ)
created = [] created = []
for event in scheduler.SCHEDULED_EVENTS: generate_event_id = scheduler.event_loop_context["generate_event_id"]
create_time = scheduler.get_next_datetime(now, event["day"], event["create_hour"], event["create_minute"]) event_tasks = scheduler.event_loop_context["event_tasks"]
start_time = scheduler.get_next_datetime(now, event["day"], event["event_hour"], event["event_minute"]) create_poll = scheduler.event_loop_context["create_poll"]
event_id = scheduler.event_loop_context["generate_event_id"](event["name"], start_time)
if event_id in scheduler.event_loop_context["event_tasks"]: for event in scheduler.SCHEDULED_EVENTS:
# День и время создания (по event["day"])
create_time = scheduler.get_next_datetime(
now,
event["day"],
event["create_hour"],
event["create_minute"]
)
# День и время старта (учитываем event_day!)
start_day = event.get("event_day", event["day"])
start_time = scheduler.get_next_datetime(
now,
start_day,
event["event_hour"],
event["event_minute"]
)
event_id = generate_event_id(event["name"], start_time)
if event_id in event_tasks:
continue continue
info = { info = {
@@ -973,15 +992,16 @@ async def create_scheduled_events(ctx):
"start_time": start_time, "start_time": start_time,
} }
await scheduler.event_loop_context["create_poll"](info, message_id=event["key"]) await create_poll(info, message_id=event["key"])
created.append(info["name"]) created.append(f"{info['name']} ({start_time.strftime('%d.%m.%Y %H:%M')} МСК)")
if created: if created:
await ctx.send(f"✅ Созданы события: {', '.join(created)}") await ctx.send("✅ Созданы события:\n" + "\n".join(created))
else: else:
await ctx.send(" Все события уже существуют, ничего не создано.") await ctx.send(" Все события уже существуют, ничего не создано.")
# ================================================ # ================================================
# 🕒 [SCHEDULER] Команды управления автосозданием # 🕒 [SCHEDULER] Команды управления автосозданием
# ================================================ # ================================================