aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps/api/viewsets
diff options
context:
space:
mode:
authorGravatar Rohan Reddy Alleti <[email protected]>2021-12-13 11:14:16 +0530
committerGravatar GitHub <[email protected]>2021-12-13 11:14:16 +0530
commit4693de033391977d925e8af2bd956202d6f81d11 (patch)
tree722fe0e9771c64965d89d11db603a99a64db231b /pydis_site/apps/api/viewsets
parentRemove get_queryset() and add new class variable . (diff)
parentMerge pull request #633 from python-discord/dependabot/pip/django-3.1.14 (diff)
Merge branch 'main' into otn_softdel
Diffstat (limited to 'pydis_site/apps/api/viewsets')
-rw-r--r--pydis_site/apps/api/viewsets/bot/filter_list.py3
-rw-r--r--pydis_site/apps/api/viewsets/bot/infraction.py9
-rw-r--r--pydis_site/apps/api/viewsets/bot/reminder.py13
-rw-r--r--pydis_site/apps/api/viewsets/bot/user.py8
4 files changed, 23 insertions, 10 deletions
diff --git a/pydis_site/apps/api/viewsets/bot/filter_list.py b/pydis_site/apps/api/viewsets/bot/filter_list.py
index 2cb21ab9..4b05acee 100644
--- a/pydis_site/apps/api/viewsets/bot/filter_list.py
+++ b/pydis_site/apps/api/viewsets/bot/filter_list.py
@@ -59,7 +59,8 @@ class FilterListViewSet(ModelViewSet):
... ["GUILD_INVITE","Guild Invite"],
... ["FILE_FORMAT","File Format"],
... ["DOMAIN_NAME","Domain Name"],
- ... ["FILTER_TOKEN","Filter Token"]
+ ... ["FILTER_TOKEN","Filter Token"],
+ ... ["REDIRECT", "Redirect"]
... ]
#### Status codes
diff --git a/pydis_site/apps/api/viewsets/bot/infraction.py b/pydis_site/apps/api/viewsets/bot/infraction.py
index f8b0cb9d..8a48ed1f 100644
--- a/pydis_site/apps/api/viewsets/bot/infraction.py
+++ b/pydis_site/apps/api/viewsets/bot/infraction.py
@@ -70,7 +70,8 @@ class InfractionViewSet(
... 'actor': 125435062127820800,
... 'type': 'ban',
... 'reason': 'He terk my jerb!',
- ... 'hidden': True
+ ... 'hidden': True,
+ ... 'dm_sent': True
... }
... ]
@@ -100,7 +101,8 @@ class InfractionViewSet(
... 'hidden': True,
... 'type': 'ban',
... 'reason': 'He terk my jerb!',
- ... 'user': 172395097705414656
+ ... 'user': 172395097705414656,
+ ... 'dm_sent': False
... }
#### Response format
@@ -118,7 +120,8 @@ class InfractionViewSet(
>>> {
... 'active': True,
... 'expires_at': '4143-02-15T21:04:31+00:00',
- ... 'reason': 'durka derr'
+ ... 'reason': 'durka derr',
+ ... 'dm_sent': True
... }
#### Response format
diff --git a/pydis_site/apps/api/viewsets/bot/reminder.py b/pydis_site/apps/api/viewsets/bot/reminder.py
index 111660d9..78d7cb3b 100644
--- a/pydis_site/apps/api/viewsets/bot/reminder.py
+++ b/pydis_site/apps/api/viewsets/bot/reminder.py
@@ -42,7 +42,8 @@ class ReminderViewSet(
... 'expiration': '5018-11-20T15:52:00Z',
... 'id': 11,
... 'channel_id': 634547009956872193,
- ... 'jump_url': "https://discord.com/channels/<guild_id>/<channel_id>/<message_id>"
+ ... 'jump_url': "https://discord.com/channels/<guild_id>/<channel_id>/<message_id>",
+ ... 'failures': 3
... },
... ...
... ]
@@ -67,7 +68,8 @@ class ReminderViewSet(
... 'expiration': '5018-11-20T15:52:00Z',
... 'id': 11,
... 'channel_id': 634547009956872193,
- ... 'jump_url': "https://discord.com/channels/<guild_id>/<channel_id>/<message_id>"
+ ... 'jump_url': "https://discord.com/channels/<guild_id>/<channel_id>/<message_id>",
+ ... 'failures': 3
... }
#### Status codes
@@ -80,7 +82,7 @@ class ReminderViewSet(
#### Request body
>>> {
... 'author': int,
- ... 'mentions': List[int],
+ ... 'mentions': list[int],
... 'content': str,
... 'expiration': str, # ISO-formatted datetime
... 'channel_id': int,
@@ -98,9 +100,10 @@ class ReminderViewSet(
#### Request body
>>> {
- ... 'mentions': List[int],
+ ... 'mentions': list[int],
... 'content': str,
- ... 'expiration': str # ISO-formatted datetime
+ ... 'expiration': str, # ISO-formatted datetime
+ ... 'failures': int
... }
#### Status codes
diff --git a/pydis_site/apps/api/viewsets/bot/user.py b/pydis_site/apps/api/viewsets/bot/user.py
index 22d13dc4..ed661323 100644
--- a/pydis_site/apps/api/viewsets/bot/user.py
+++ b/pydis_site/apps/api/viewsets/bot/user.py
@@ -271,9 +271,15 @@ class UserViewSet(ModelViewSet):
with Metricity() as metricity:
try:
data = metricity.user(user.id)
+
data["total_messages"] = metricity.total_messages(user.id)
+ if data["total_messages"] < 1000:
+ # Only calculate and return activity_blocks if the user has a small amount
+ # of messages, as calculating activity_blocks is expensive.
+ # 1000 message chosen as an arbitrarily large number.
+ data["activity_blocks"] = metricity.total_message_blocks(user.id)
+
data["voice_banned"] = voice_banned
- data["activity_blocks"] = metricity.total_message_blocks(user.id)
return Response(data, status=status.HTTP_200_OK)
except NotFoundError:
return Response(dict(detail="User not found in metricity"),