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