Files
QuizBot/modules/utils/validation_utils.py

33 lines
955 B
Python

from datetime import datetime
from zoneinfo import ZoneInfo
from discord import ApplicationContext
from libbot.i18n import _
async def is_operation_confirmed(ctx: ApplicationContext, confirm: bool) -> bool:
if confirm is None or not confirm:
await ctx.respond(ctx.bot._("operation_unconfirmed", "messages", locale=ctx.locale), ephemeral=True)
return False
return True
async def is_event_status_valid(
ctx: ApplicationContext,
event: "PycordEvent",
) -> bool:
if event.is_cancelled:
await ctx.respond(_("event_is_cancelled", "messages", locale=ctx.locale), ephemeral=True)
return False
if (
event.starts.replace(tzinfo=ZoneInfo("UTC"))
<= datetime.now(tz=ZoneInfo("UTC"))
<= event.ends.replace(tzinfo=ZoneInfo("UTC"))
):
await ctx.respond(_("event_ongoing_not_editable", "messages", locale=ctx.locale), ephemeral=True)
return False
return True