diff --git a/aleksis/apps/matrix/models.py b/aleksis/apps/matrix/models.py
index 5d9d467a1b2cbca777a8fa7d14b13de19b39cdbc..0b7e6100ed6fceaa78925fb3c78399c7de397e87 100644
--- a/aleksis/apps/matrix/models.py
+++ b/aleksis/apps/matrix/models.py
@@ -1,5 +1,5 @@
 import re
-from typing import Any, Dict, List, Optional, Union
+from typing import Any, Optional, Union
 
 from django.db import models
 from django.db.models import Q
@@ -124,9 +124,9 @@ class MatrixRoom(ExtensiblePolymorphicModel):
         self,
         name,
         alias,
-        invite: Optional[List[str]] = None,
+        invite: Optional[list[str]] = None,
         creation_content: Optional[dict] = None,
-    ) -> Dict[str, Any]:
+    ) -> dict[str, Any]:
         from .util.matrix import do_matrix_request
 
         body = {"preset": "private_chat", "name": name, "room_alias_name": alias}
@@ -142,7 +142,7 @@ class MatrixRoom(ExtensiblePolymorphicModel):
         return r
 
     @property
-    def power_levels(self) -> Dict[str, int]:
+    def power_levels(self) -> dict[str, int]:
         """Return the power levels for this room."""
         from .util.matrix import do_matrix_request
 
@@ -154,7 +154,7 @@ class MatrixRoom(ExtensiblePolymorphicModel):
         return user_levels
 
     @property
-    def members(self) -> List[str]:
+    def members(self) -> list[str]:
         from .util.matrix import do_matrix_request
 
         r = do_matrix_request(
@@ -162,7 +162,7 @@ class MatrixRoom(ExtensiblePolymorphicModel):
         )
         return [m["state_key"] for m in r["chunk"]]
 
-    def _invite(self, profile: MatrixProfile) -> Dict[str, Any]:
+    def _invite(self, profile: MatrixProfile) -> dict[str, Any]:
         """Invite a user to this room."""
         from .util.matrix import do_matrix_request
 
@@ -173,7 +173,7 @@ class MatrixRoom(ExtensiblePolymorphicModel):
         )
         return r
 
-    def _set_power_levels(self, power_levels: Dict[str, int]) -> Dict[str, Any]:
+    def _set_power_levels(self, power_levels: dict[str, int]) -> dict[str, Any]:
         """Set the power levels for this room."""
         r = do_matrix_request(
             "PUT",
@@ -270,16 +270,16 @@ class MatrixSpace(MatrixRoom):
         self,
         name,
         alias,
-        invite: Optional[List[str]] = None,
+        invite: Optional[list[str]] = None,
         creation_content: Optional[dict] = None,
-    ) -> Dict[str, Any]:
+    ) -> dict[str, Any]:
         if not creation_content:
             creation_content = {}
         creation_content["type"] = "m.space"
         return super()._create_room(name, alias, invite, creation_content)
 
     @property
-    def child_spaces(self) -> List[str]:
+    def child_spaces(self) -> list[str]:
         """Get all child spaces of this space."""
         from .util.matrix import do_matrix_request
 
diff --git a/aleksis/apps/matrix/util/matrix.py b/aleksis/apps/matrix/util/matrix.py
index d13e44e534da002b121c04c5d485c5cb53b769dd..8e0463fc313c88efe1086faeffe2626d7e8e7e63 100644
--- a/aleksis/apps/matrix/util/matrix.py
+++ b/aleksis/apps/matrix/util/matrix.py
@@ -1,6 +1,6 @@
 import time
 from json import JSONDecodeError
-from typing import Any, Dict, Optional
+from typing import Any, Optional
 from urllib.parse import urljoin
 
 import requests
@@ -24,7 +24,7 @@ def get_headers():
     }
 
 
-def do_matrix_request(method: str, url: str, body: Optional[dict] = None) -> Dict[str, Any]:
+def do_matrix_request(method: str, url: str, body: Optional[dict] = None) -> dict[str, Any]:
     """Do a HTTP request to the Matrix Client Server API."""
     while True:
         res = requests.request(method=method, url=build_url(url), headers=get_headers(), json=body)