Skip to content

Commit dedc7be

Browse files
Fix broken DiscordMember lookups in database (#570)
* Fix broken DiscordMember lookups in database * Fix more broken lookups
1 parent b4c0b01 commit dedc7be

File tree

4 files changed

+27
-9
lines changed

4 files changed

+27
-9
lines changed

cogs/induct.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ async def on_member_update(self, before: discord.Member, after: discord.Member)
6666

6767
with contextlib.suppress(IntroductionReminderOptOutMember.DoesNotExist):
6868
await (
69-
await IntroductionReminderOptOutMember.objects.aget(discord_id=before.id)
69+
await IntroductionReminderOptOutMember.objects.aget(
70+
discord_member__discord_id=before.id
71+
)
7072
).adelete()
7173

7274
reminder_message: discord.Message

cogs/remind_me.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from django.core.exceptions import ValidationError
1414
from django.utils import timezone
1515

16-
from db.core.models import DiscordReminder
16+
from db.core.models import DiscordMember, DiscordReminder
1717
from utils import TeXBotBaseCog
1818

1919
if TYPE_CHECKING:
@@ -227,7 +227,9 @@ async def remind_me( # type: ignore[misc]
227227

228228
try:
229229
reminder: DiscordReminder = await DiscordReminder.objects.acreate( # type: ignore[misc]
230-
discord_id=ctx.user.id,
230+
discord_member=(
231+
await DiscordMember.objects.aget_or_create(discord_id=ctx.user.id)
232+
)[0],
231233
message=message or "",
232234
channel_id=ctx.channel_id,
233235
send_datetime=parsed_time[0],

cogs/send_introduction_reminders.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ async def opt_out_introduction_reminders_button_callback( # type: ignore[misc]
319319
try:
320320
introduction_reminder_opt_out_member: IntroductionReminderOptOutMember = (
321321
await IntroductionReminderOptOutMember.objects.aget(
322-
discord_id=interaction_member.id
322+
discord_member__discord_id=interaction_member.id
323323
)
324324
)
325325
except IntroductionReminderOptOutMember.DoesNotExist:

cogs/strike.py

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from discord.ui import View
1313

1414
from config import settings
15-
from db.core.models import DiscordMemberStrikes
15+
from db.core.models import DiscordMember, DiscordMemberStrikes
1616
from exceptions import (
1717
GuildDoesNotExistError,
1818
NoAuditLogsStrikeTrackingError,
@@ -408,7 +408,11 @@ async def _command_perform_strike(
408408
return
409409

410410
member_strikes: DiscordMemberStrikes = (
411-
await DiscordMemberStrikes.objects.aget_or_create(discord_id=strike_member.id)
411+
await DiscordMemberStrikes.objects.aget_or_create(
412+
discord_member=(
413+
await DiscordMember.objects.aget_or_create(discord_id=strike_member.id)
414+
)[0]
415+
)
412416
)[0]
413417

414418
await self._confirm_increase_strike(
@@ -524,7 +528,11 @@ async def _confirm_manual_add_strike(
524528
) from fetch_log_channel_error
525529

526530
member_strikes: DiscordMemberStrikes = (
527-
await DiscordMemberStrikes.objects.aget_or_create(discord_id=strike_user.id)
531+
await DiscordMemberStrikes.objects.aget_or_create(
532+
discord_member=(
533+
await DiscordMember.objects.aget_or_create(discord_id=strike_user.id)
534+
)[0]
535+
)
528536
)[0]
529537

530538
STRIKES_OUT_OF_SYNC_WITH_BAN: Final[bool] = bool(
@@ -861,7 +869,9 @@ async def get_strikes( # type: ignore[misc]
861869
strikes_count: int = 0
862870
try:
863871
strikes_count = (
864-
await DiscordMemberStrikes.objects.aget(discord_id=strike_member.id)
872+
await DiscordMemberStrikes.objects.aget(
873+
discord_member__discord_id=strike_member.id
874+
)
865875
).strikes
866876
except DiscordMemberStrikes.DoesNotExist:
867877
logger.debug("No strikes found for user %s", strike_member)
@@ -904,7 +914,11 @@ async def decrement_strikes( # type: ignore[misc]
904914

905915
try:
906916
discord_member_strikes: DiscordMemberStrikes = (
907-
await DiscordMemberStrikes.objects.aget(discord_id=strike_member.id)
917+
await DiscordMemberStrikes.objects.aget(
918+
discord_member=(
919+
await DiscordMember.objects.aget_or_create(discord_id=strike_member.id)
920+
)[0]
921+
)
908922
)
909923
except DiscordMemberStrikes.DoesNotExist:
910924
await ctx.respond(

0 commit comments

Comments
 (0)