diff options
Diffstat (limited to 'pydis_site/apps/api/viewsets/bot')
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/filter_list.py | 3 | ||||
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/infraction.py | 9 | ||||
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/reminder.py | 13 | ||||
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/user.py | 8 | 
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"), | 
