aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Chris Lovering <[email protected]>2022-01-27 20:30:16 +0000
committerGravatar Chris Lovering <[email protected]>2022-01-27 20:30:16 +0000
commit3e10b0cf19916f10be0aed9c8d60c9dfd7a016a5 (patch)
tree07374ec0bafd4dd8c7cd8f0db2ef91ab9ebdc692
parentMerge pull request #646 from python-discord/update-bot-contrib-guide (diff)
Use voice_mute and voice_ban to determine voice_gate
Previously only voice_ban was used, but now having either of these infractions should mean the user is blocked from reciving the role.
-rw-r--r--pydis_site/apps/api/viewsets/bot/user.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/pydis_site/apps/api/viewsets/bot/user.py b/pydis_site/apps/api/viewsets/bot/user.py
index 1a5e79f8..a867a80f 100644
--- a/pydis_site/apps/api/viewsets/bot/user.py
+++ b/pydis_site/apps/api/viewsets/bot/user.py
@@ -1,7 +1,7 @@
import typing
from collections import OrderedDict
-from django.core.exceptions import ObjectDoesNotExist
+from django.db.models import Q
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.pagination import PageNumberPagination
@@ -261,12 +261,10 @@ class UserViewSet(ModelViewSet):
"""Request handler for metricity_data endpoint."""
user = self.get_object()
- try:
- Infraction.objects.get(user__id=user.id, active=True, type="voice_ban")
- except ObjectDoesNotExist:
- voice_banned = False
- else:
- voice_banned = True
+ has_voice_infraction = Infraction.objects.filter(
+ Q(user__id=user.id, active=True),
+ Q(type="voice_ban") | Q(type="voice_mute")
+ ).exists()
with Metricity() as metricity:
try:
@@ -275,7 +273,7 @@ class UserViewSet(ModelViewSet):
data["total_messages"] = metricity.total_messages(user.id)
data["activity_blocks"] = metricity.total_message_blocks(user.id)
- data["voice_banned"] = voice_banned
+ data["voice_gate_blocked"] = has_voice_infraction
return Response(data, status=status.HTTP_200_OK)
except NotFoundError:
return Response(dict(detail="User not found in metricity"),