Worked on #13 and #4. There are some caching issues left, though. Introduced abstract class Cacheable. Replaced async_pymongo with pymongo

This commit is contained in:
2025-05-06 02:54:30 +02:00
parent 9d562e2e9d
commit 86c75d06fa
22 changed files with 412 additions and 137 deletions

View File

@@ -84,11 +84,13 @@ class CogEvent(Cog):
try:
guild: PycordGuild = await self.bot.find_guild(ctx.guild.id)
except (InvalidId, GuildNotFoundError):
await ctx.respond(self.bot._("unexpected_error", "messages", locale=ctx.locale))
await ctx.respond(self.bot._("unexpected_error", "messages", locale=ctx.locale), ephemeral=True)
return
if not guild.is_configured():
await ctx.respond(self.bot._("guild_unconfigured_admin", "messages", locale=ctx.locale))
await ctx.respond(
self.bot._("guild_unconfigured_admin", "messages", locale=ctx.locale), ephemeral=True
)
return
guild_timezone: ZoneInfo = ZoneInfo(guild.timezone)
@@ -97,7 +99,9 @@ class CogEvent(Cog):
start_date: datetime = datetime.strptime(start, "%d.%m.%Y %H:%M").replace(tzinfo=guild_timezone)
end_date: datetime = datetime.strptime(end, "%d.%m.%Y %H:%M").replace(tzinfo=guild_timezone)
except ValueError:
await ctx.respond(self.bot._("event_dates_parsing_failed", "messages", locale=ctx.locale))
await ctx.respond(
self.bot._("event_dates_parsing_failed", "messages", locale=ctx.locale), ephemeral=True
)
return
if not await validate_event_validity(ctx, name, start_date, end_date, to_utc=True):
@@ -180,7 +184,7 @@ class CogEvent(Cog):
try:
guild: PycordGuild = await self.bot.find_guild(ctx.guild.id)
except (InvalidId, GuildNotFoundError):
await ctx.respond(self.bot._("unexpected_error", "messages", locale=ctx.locale))
await ctx.respond(self.bot._("unexpected_error", "messages", locale=ctx.locale), ephemeral=True)
return
try:
@@ -190,7 +194,9 @@ class CogEvent(Cog):
return
if not guild.is_configured():
await ctx.respond(self.bot._("guild_unconfigured_admin", "messages", locale=ctx.locale))
await ctx.respond(
self.bot._("guild_unconfigured_admin", "messages", locale=ctx.locale), ephemeral=True
)
return
guild_timezone: ZoneInfo = ZoneInfo(guild.timezone)
@@ -202,7 +208,9 @@ class CogEvent(Cog):
else datetime.strptime(start, "%d.%m.%Y %H:%M").replace(tzinfo=guild_timezone)
)
except ValueError:
await ctx.respond(self.bot._("event_start_date_parsing_failed", "messages", locale=ctx.locale))
await ctx.respond(
self.bot._("event_start_date_parsing_failed", "messages", locale=ctx.locale), ephemeral=True
)
return
try:
@@ -212,7 +220,9 @@ class CogEvent(Cog):
else datetime.strptime(end, "%d.%m.%Y %H:%M").replace(tzinfo=guild_timezone)
)
except ValueError:
await ctx.respond(self.bot._("event_end_date_parsing_failed", "messages", locale=ctx.locale))
await ctx.respond(
self.bot._("event_end_date_parsing_failed", "messages", locale=ctx.locale), ephemeral=True
)
return
if not await validate_event_validity(
@@ -280,7 +290,7 @@ class CogEvent(Cog):
try:
guild: PycordGuild = await self.bot.find_guild(ctx.guild.id)
except (InvalidId, GuildNotFoundError):
await ctx.respond(self.bot._("unexpected_error", "messages", locale=ctx.locale))
await ctx.respond(self.bot._("unexpected_error", "messages", locale=ctx.locale), ephemeral=True)
return
try:
@@ -290,7 +300,9 @@ class CogEvent(Cog):
return
if not guild.is_configured():
await ctx.respond(self.bot._("guild_unconfigured_admin", "messages", locale=ctx.locale))
await ctx.respond(
self.bot._("guild_unconfigured_admin", "messages", locale=ctx.locale), ephemeral=True
)
return
start_date: datetime = pycord_event.starts.replace(tzinfo=ZoneInfo("UTC"))
@@ -305,7 +317,8 @@ class CogEvent(Cog):
await ctx.respond(
self.bot._("event_not_editable", "messages", locale=ctx.locale).format(
event_name=pycord_event.name
)
),
ephemeral=True,
)
return