Repository: hikari-py/hikari
Pull request #1096 (2022-03-25 13:04:41)

Bump pytest-asyncio from 0.18.2 to 0.18.3
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.18.2 to 0.18.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p>
<blockquote>
<h2>pytest-asyncio 0.18.3</h2>
<hr />
<h2>title: 'pytest-asyncio: pytest support for asyncio'</h2>
<p><a href="https://pypi.python.org/pypi/pytest-asyncio"><img src="https://img.shields.io/pypi/v/pytest-asyncio.svg" alt="image" /></a></p>
<p><a href="https://github.com/pytest-dev/pytest-asyncio/actions?workflow=CI"><img src="https://github.com/pytest-dev/pytest-asyncio/workflows/CI/badge.svg" alt="image" /></a></p>
<p><a href="https://codecov.io/gh/pytest-dev/pytest-asyncio"><img src="https://codecov.io/gh/pytest-dev/pytest-asyncio/branch/master/graph/badge.svg" alt="image" /></a></p>
<p><a href="https://github.com/pytest-dev/pytest-asyncio"><img src="https://img.shields.io/pypi/pyversions/pytest-asyncio.svg" alt="Supported Python versions" /></a></p>
<p><a href="https://github.com/ambv/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="image" /></a></p>
<p>pytest-asyncio is an Apache2 licensed library, written in Python, for
testing asyncio code with pytest.</p>
<p>asyncio code is usually written in the form of coroutines, which makes
it slightly more difficult to test using normal testing tools.
pytest-asyncio provides useful fixtures and markers to make testing
easier.</p>
<pre lang="{.sourceCode" data-meta=".python}"><code>@pytest.mark.asyncio
async def test_some_asyncio_code():
    res = await library.do_something()
    assert b&quot;expected result&quot; == res
</code></pre>
<p>pytest-asyncio has been strongly influenced by
<a href="https://github.com/eugeniy/pytest-tornado">pytest-tornado</a>.</p>
<h1>Features</h1>
<ul>
<li>fixtures for creating and injecting versions of the asyncio event
loop</li>
<li>fixtures for injecting unused tcp/udp ports</li>
<li>pytest markers for treating tests as asyncio coroutines</li>
<li>easy testing with non-default event loops</li>
<li>support for [async def]{.title-ref} fixtures and async generator
fixtures</li>
<li>support <em>auto</em> mode to handle all async fixtures and tests
automatically by asyncio; provide <em>strict</em> mode if a test suite
should work with different async frameworks simultaneously, e.g.
<code>asyncio</code> and <code>trio</code>.</li>
</ul>
<h1>Installation</h1>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/blob/master/CHANGELOG.rst">pytest-asyncio's changelog</a>.</em></p>
<blockquote>
<h1>0.18.3 (22-03-25)</h1>
<ul>
<li>Adds <code>pytest-trio &lt;https://pypi.org/project/pytest-trio/&gt;</code>_ to the test dependencies</li>
<li>Fixes a bug that caused pytest-asyncio to try to set up async pytest_trio fixtures in strict mode. <code>[#298](https://github.com/pytest-dev/pytest-asyncio/issues/298) &lt;https://github.com/pytest-dev/pytest-asyncio/issues/298&gt;</code>_</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/bcdc04920eb08586145bf0f18e2fe96d242d9a7d"><code>bcdc049</code></a> docs: Prepare release of v0.18.3. (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/313">#313</a>)</li>
<li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/f979af9c874fbd2fa76cb48e86ab44ebf8823e14"><code>f979af9</code></a> Do not try to initialize async fixtures without explicit asyncio mark in stri...</li>
<li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/133d8a81ecb283821d63a622ee2ae24b946d062a"><code>133d8a8</code></a> Fix CI linting workflow (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/308">#308</a>)</li>
<li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/82d212b6f510468b3a68752de30f50ab7ac61131"><code>82d212b</code></a> Extract changelog to separate file (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/306">#306</a>)</li>
<li>See full diff in <a href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.18.2...v0.18.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest-asyncio&package-manager=pip&previous-version=0.18.2&new-version=0.18.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

davfsa: @dependabot rebase

Patch:
diff --git a/changes/1092.breaking.md b/changes/1092.breaking.md
new file mode 100644
index 00000000..7622641d
--- /dev/null
+++ b/changes/1092.breaking.md
@@ -0,0 +1,1 @@
+Remove store sku related application fields and store channels.
diff --git a/changes/1095.deprecation.md b/changes/1095.deprecation.md
new file mode 100644
index 00000000..628859f8
--- /dev/null
+++ b/changes/1095.deprecation.md
@@ -0,0 +1,1 @@
+Renamed `nick` argument to `nickname` for edit member and add user to guild REST methods.
diff --git a/dev-requirements.txt b/dev-requirements.txt
index 016446f0..5351df18 100644
--- a/dev-requirements.txt
+++ b/dev-requirements.txt
@@ -7,7 +7,7 @@ mock==4.0.3
 
 # Py.test stuff.
 pytest==7.1.1
-pytest-asyncio==0.18.2
+pytest-asyncio==0.18.3
 pytest-cov==3.0.0
 pytest-randomly==3.11.0
 
@@ -28,7 +28,7 @@ sphobjinv==2.2.2
 # TYPE CHECKING #
 #################
 
-mypy==0.941
+mypy==0.942
 pyright==1.1.231
 
 #######################
diff --git a/hikari/api/entity_factory.py b/hikari/api/entity_factory.py
index 8d127524..d49dffad 100644
--- a/hikari/api/entity_factory.py
+++ b/hikari/api/entity_factory.py
@@ -447,42 +447,6 @@ def deserialize_guild_news_channel(
             `"guild_id"` is not present in the passed payload.
         """
 
-    @abc.abstractmethod
-    def deserialize_guild_store_channel(
-        self,
-        payload: data_binding.JSONObject,
-        *,
-        guild_id: undefined.UndefinedOr[snowflakes.Snowflake] = undefined.UNDEFINED,
-    ) -> channel_models.GuildStoreChannel:
-        """Parse a raw payload from Discord into a guild store channel object.
-
-        Parameters
-        ----------
-        payload : hikari.internal.data_binding.JSONObject
-            The JSON payload to deserialize.
-
-        Other Parameters
-        ----------------
-        guild_id : hikari.snowflakes.Snowflake
-            The ID of the guild this channel belongs to. If passed then this
-            will be prioritised over `"guild_id"` in the payload.
-
-        !!! note
-            `guild_id` currently only covers the gateway GUILD_CREATE event
-            where `"guild_id"` is not included in the channel's payload.
-
-        Returns
-        -------
-        hikari.channels.GuildStoreChannel
-            The deserialized guild store channel object.
-
-        Raises
-        ------
-        builtins.KeyError
-            If `guild_id` is left as `hikari.undefined.UNDEFINED` when
-            `"guild_id"` is not present in the passed payload.
-        """
-
     @abc.abstractmethod
     def deserialize_guild_voice_channel(
         self,
diff --git a/hikari/api/rest.py b/hikari/api/rest.py
index 867a11e5..3502e1e8 100644
--- a/hikari/api/rest.py
+++ b/hikari/api/rest.py
@@ -3253,6 +3253,7 @@ async def add_user_to_guild(
         guild: snowflakes.SnowflakeishOr[guilds.PartialGuild],
         user: snowflakes.SnowflakeishOr[users.PartialUser],
         *,
+        nickname: undefined.UndefinedOr[str] = undefined.UNDEFINED,
         nick: undefined.UndefinedOr[str] = undefined.UNDEFINED,
         roles: undefined.UndefinedOr[snowflakes.SnowflakeishSequence[guilds.PartialRole]] = undefined.UNDEFINED,
         mute: undefined.UndefinedOr[bool] = undefined.UNDEFINED,
@@ -3279,10 +3280,12 @@ async def add_user_to_guild(
 
         Other Parameters
         ----------------
-        nick : hikari.undefined.UndefinedOr[builtins.str]
+        nickname : hikari.undefined.UndefinedOr[builtins.str]
             If provided, the nick to add to the user when he joins the guild.
 
             Requires the `MANAGE_NICKNAMES` permission on the guild.
+        nick : hikari.undefined.UndefinedOr[builtins.str]
+            Deprecated alias for `nickname`.
         roles : hikari.undefined.UndefinedOr[hikari.snowflakes.SnowflakeishSequence[hikari.guilds.PartialRole]]
             If provided, the roles to add to the user when he joins the guild.
             This may be a collection objects or IDs of existing roles.
@@ -4972,6 +4975,7 @@ async def edit_member(
         guild: snowflakes.SnowflakeishOr[guilds.PartialGuild],
         user: snowflakes.SnowflakeishOr[users.PartialUser],
         *,
+        nickname: undefined.UndefinedNoneOr[str] = undefined.UNDEFINED,
         nick: undefined.UndefinedNoneOr[str] = undefined.UNDEFINED,
         roles: undefined.UndefinedOr[snowflakes.SnowflakeishSequence[guilds.PartialRole]] = undefined.UNDEFINED,
         mute: undefined.UndefinedOr[bool] = undefined.UNDEFINED,
@@ -4995,11 +4999,13 @@ async def edit_member(
 
         Other Parameters
         ----------------
-        nick : hikari.undefined.UndefinedNoneOr[builtins.str]
+        nickname : hikari.undefined.UndefinedNoneOr[builtins.str]
             If provided, the new nick for the member. If `builtins.None`,
             will remove the members nick.
 
             Requires the `MANAGE_NICKNAMES` permission.
+        nick : hikari.undefined.UndefinedOr[builtins.str]
+            Deprecated alias for `nickname`.
         roles : hikari.undefined.UndefinedOr[hikari.snowflakes.SnowflakeishSequence[hikari.guilds.PartialRole]]
             If provided, the new roles for the member.
 
diff --git a/hikari/applications.py b/hikari/applications.py
index e082cf50..69cb9b29 100644
--- a/hikari/applications.py
+++ b/hikari/applications.py
@@ -487,14 +487,14 @@ class InviteApplication(guilds.PartialApplication):
     """The client application that models may use for procedures."""
 
     cover_image_hash: typing.Optional[str] = attr.field(eq=False, hash=False, repr=False)
-    """The CDN's hash of this application's cover image, used in the store or for embedded games."""
+    """The CDN's hash of this application's default rich presence invite cover image."""
 
     public_key: bytes = attr.field(eq=False, hash=False, repr=False)
     """The key used for verifying interaction and GameSDK payload signatures."""
 
     @property
     def cover_image_url(self) -> typing.Optional[files.URL]:
-        """Cover image URL used in the store or for embedded games.
+        """Rich presence cover image URL for this application, if set.
 
         Returns
         -------
@@ -504,7 +504,7 @@ def cover_image_url(self) -> typing.Optional[files.URL]:
         return self.make_cover_image_url()
 
     def make_cover_image_url(self, *, ext: str = "png", size: int = 4096) -> typing.Optional[files.URL]:
-        """Generate the cover image URL used in the store or for embedded games, if set.
+        """Generate the rich presence cover image URL for this application, if set.
 
         Parameters
         ----------
@@ -572,20 +572,8 @@ class Application(guilds.PartialApplication):
     If the application is not part of a team, this will be `builtins.None`.
     """
 
-    guild_id: typing.Optional[snowflakes.Snowflake] = attr.field(eq=False, hash=False, repr=False)
-    """The ID of the guild this application is linked to if sold on Discord."""
-
-    primary_sku_id: typing.Optional[snowflakes.Snowflake] = attr.field(eq=False, hash=False, repr=False)
-    """The ID of the primary "Game SKU" of a game that's sold on Discord."""
-
-    slug: typing.Optional[str] = attr.field(eq=False, hash=False, repr=False)
-    """The URL "slug" that is used to point to this application's store page.
-
-    Only applicable to applications sold on Discord.
-    """
-
     cover_image_hash: typing.Optional[str] = attr.field(eq=False, hash=False, repr=False)
-    """The CDN's hash of this application's cover image, used in the store or for embedded games."""
+    """The CDN's hash of this application's default rich presence invite cover image."""
 
     terms_of_service_url: typing.Optional[str] = attr.field(eq=False, hash=False, repr=False)
     """The URL of this application's terms of service."""
@@ -595,7 +583,7 @@ class Application(guilds.PartialApplication):
 
     @property
     def cover_image_url(self) -> typing.Optional[files.URL]:
-        """Cover image URL used in the store or for embedded games.
+        """Rich presence cover image URL for this application, if set.
 
         Returns
         -------
@@ -605,7 +593,7 @@ def cover_image_url(self) -> typing.Optional[files.URL]:
         return self.make_cover_image_url()
 
     def make_cover_image_url(self, *, ext: str = "png", size: int = 4096) -> typing.Optional[files.URL]:
-        """Generate the cover image URL used in the store or for embedded games, if set.
+        """Generate the rich presence cover image URL for this application, if set.
 
         Parameters
         ----------
@@ -638,76 +626,6 @@ def make_cover_image_url(self, *, ext: str = "png", size: int = 4096) -> typing.
             file_format=ext,
         )
 
-    async def fetch_guild(self) -> typing.Optional[guilds.RESTGuild]:
-        """Fetch the guild this application is linked to if sold on Discord.
-
-        Returns
-        -------
-        typing.Optional[hikari.guilds.RESTGuild]
-            The requested guild if the application is linked to a guild, else `builtins.None`.
-
-        Raises
-        ------
-        hikari.errors.ForbiddenError
-            If you are not part of the guild.
-        hikari.errors.NotFoundError
-            If the guild is not found.
-        hikari.errors.UnauthorizedError
-            If you are unauthorized to make the request (invalid/missing token).
-        hikari.errors.RateLimitTooLongError
-            Raised in the event that a rate limit occurs that is
-            longer than `max_rate_limit` when making a request.
-        hikari.errors.RateLimitedError
-            Usually, Hikari will handle and retry on hitting
-            rate-limits automatically. This includes most bucket-specific
-            rate-limits and global rate-limits. In some rare edge cases,
-            however, Discord implements other undocumented rules for
-            rate-limiting, such as limits per attribute. These cannot be
-            detected or handled normally by Hikari due to their undocumented
-            nature, and will trigger this exception if they occur.
-        hikari.errors.InternalServerError
-            If an internal error occurs on Discord while handling the request.
-        """
-        if self.guild_id is not None:
-            return await self.app.rest.fetch_guild(self.guild_id)
-        return None
-
-    async def fetch_guild_preview(self) -> typing.Optional[guilds.GuildPreview]:
-        """Fetch the preview of the guild this application is linked to if sold on Discord.
-
-        Returns
-        -------
-        typing.Optional[hikari.guilds.GuildPreview]
-            The requested guild preview if the application is linked to a guild, else `builtins.None`.
-
-        !!! note
-            This will only work if you are a part of that guild or it is public.
-
-        Raises
-        ------
-        hikari.errors.NotFoundError
-            If the guild is not found or you are not part of the guild.
-        hikari.errors.UnauthorizedError
-            If you are unauthorized to make the request (invalid/missing token).
-        hikari.errors.RateLimitTooLongError
-            Raised in the event that a rate limit occurs that is
-            longer than `max_rate_limit` when making a request.
-        hikari.errors.RateLimitedError
-            Usually, Hikari will handle and retry on hitting
-            rate-limits automatically. This includes most bucket-specific
-            rate-limits and global rate-limits. In some rare edge cases,
-            however, Discord implements other undocumented rules for
-            rate-limiting, such as limits per attribute. These cannot be
-            detected or handled normally by Hikari due to their undocumented
-            nature, and will trigger this exception if they occur.
-        hikari.errors.InternalServerError
-            If an internal error occurs on Discord while handling the request.
-        """
-        if self.guild_id is not None:
-            return await self.app.rest.fetch_guild_preview(self.guild_id)
-
-        return None
-
 
 @attr_extensions.with_copy
 @attr.define(hash=True, kw_only=True, weakref_slot=False)
diff --git a/hikari/channels.py b/hikari/channels.py
index f0aa4f00..238f9fe2 100644
--- a/hikari/channels.py
+++ b/hikari/channels.py
@@ -40,7 +40,6 @@
     "GuildChannel",
     "GuildTextChannel",
     "GuildNewsChannel",
-    "GuildStoreChannel",
     "GuildVoiceChannel",
     "GuildStageChannel",
     "WebhookChannelT",
@@ -97,9 +96,6 @@ class ChannelType(int, enums.Enum):
     GUILD_NEWS = 5
     """A channel that can be followed and can crosspost."""
 
-    GUILD_STORE = 6
-    """A channel that show's a game's store page."""
-
     GUILD_STAGE = 13
     """A few to many voice channel for hosting events."""
 
@@ -1291,16 +1287,6 @@ class GuildNewsChannel(TextableGuildChannel):
     """
 
 
-@attr.define(hash=True, kw_only=True, weakref_slot=False)
-class GuildStoreChannel(GuildChannel):
-    """Represents a store channel.
-
-    These were originally used to sell games when Discord had a game store. This
-    was scrapped at the end of 2019, so these may disappear from the platform
-    eventually.
-    """
-
-
 @attr.define(hash=True, kw_only=True, weakref_slot=False)
 class GuildVoiceChannel(GuildChannel):
     """Represents a voice channel."""
diff --git a/hikari/guilds.py b/hikari/guilds.py
index c1427102..0bdfc89b 100644
--- a/hikari/guilds.py
+++ b/hikari/guilds.py
@@ -66,6 +66,7 @@
 from hikari import urls
 from hikari import users
 from hikari.internal import attr_extensions
+from hikari.internal import deprecation
 from hikari.internal import enums
 from hikari.internal import routes
 from hikari.internal import time
@@ -921,6 +922,7 @@ async def remove_role(
     async def edit(
         self,
         *,
+        nickname: undefined.UndefinedNoneOr[str] = undefined.UNDEFINED,
         nick: undefined.UndefinedNoneOr[str] = undefined.UNDEFINED,
         roles: undefined.UndefinedOr[snowflakes.SnowflakeishSequence[PartialRole]] = undefined.UNDEFINED,
         mute: undefined.UndefinedOr[bool] = undefined.UNDEFINED,
@@ -935,11 +937,13 @@ async def edit(
 
         Other Parameters
         ----------------
-        nick : hikari.undefined.UndefinedNoneOr[builtins.str]
+        nickname : hikari.undefined.UndefinedNoneOr[builtins.str]
             If provided, the new nick for the member. If `builtins.None`,
             will remove the members nick.
 
             Requires the `MANAGE_NICKNAMES` permission.
+        nick : hikari.undefined.UndefinedNoneOr[builtins.str]
+            Deprecated alias for `nickname`.
         roles : hikari.undefined.UndefinedOr[hikari.snowflakes.SnowflakeishSequence[hikari.guilds.PartialRole]]
             If provided, the new roles for the member.
 
@@ -1003,10 +1007,14 @@ async def edit(
         hikari.errors.InternalServerError
             If an internal error occurs on Discord while handling the request.
         """
+        if nick is not undefined.UNDEFINED:
+            deprecation.warn_deprecated("nick", alternative="nickname")
+            nickname = nick
+
         return await self.user.app.rest.edit_member(
             self.guild_id,
             self.user.id,
-            nick=nick,
+            nickname=nickname,
             roles=roles,
             mute=mute,
             deaf=deaf,
@@ -1222,9 +1230,6 @@ class PartialApplication(snowflakes.Unique):
     icon_hash: typing.Optional[str] = attr.field(eq=False, hash=False, repr=False)
     """The CDN hash of this application's icon, if set."""
 
-    summary: typing.Optional[str] = attr.field(eq=False, hash=False, repr=False)
-    """This summary for this application's primary SKU if it's sold on Discord, if any."""
-
     def __str__(self) -> str:
         return self.name
 
diff --git a/hikari/impl/entity_factory.py b/hikari/impl/entity_factory.py
index 858ffe5f..87813421 100644
--- a/hikari/impl/entity_factory.py
+++ b/hikari/impl/entity_factory.py
@@ -274,7 +274,6 @@ def __init__(self, app: traits.RESTAware) -> None:
             channel_models.ChannelType.GUILD_CATEGORY: self.deserialize_guild_category,
             channel_models.ChannelType.GUILD_TEXT: self.deserialize_guild_text_channel,
             channel_models.ChannelType.GUILD_NEWS: self.deserialize_guild_news_channel,
-            channel_models.ChannelType.GUILD_STORE: self.deserialize_guild_store_channel,
             channel_models.ChannelType.GUILD_VOICE: self.deserialize_guild_voice_channel,
             channel_models.ChannelType.GUILD_STAGE: self.deserialize_guild_stage_channel,
         }
@@ -351,7 +350,6 @@ def deserialize_application(self, payload: data_binding.JSONObject) -> applicati
                 owner_id=snowflakes.Snowflake(team_payload["owner_user_id"]),
             )
 
-        primary_sku_id = snowflakes.Snowflake(payload["primary_sku_id"]) if "primary_sku_id" in payload else None
         return application_models.Application(
             app=self._app,
             id=snowflakes.Snowflake(payload["id"]),
@@ -361,14 +359,10 @@ def deserialize_application(self, payload: data_binding.JSONObject) -> applicati
             is_bot_code_grant_required=payload["bot_require_code_grant"],
             owner=self.deserialize_user(payload["owner"]),
             rpc_origins=payload.get("rpc_origins"),
-            summary=payload["summary"] or None,
             public_key=bytes.fromhex(payload["verify_key"]),
             flags=application_models.ApplicationFlags(payload["flags"]),
             icon_hash=payload.get("icon"),
             team=team,
-            guild_id=snowflakes.Snowflake(payload["guild_id"]) if "guild_id" in payload else None,
-            primary_sku_id=primary_sku_id,
-            slug=payload.get("slug"),
             cover_image_hash=payload.get("cover_image"),
             privacy_policy_url=payload.get("privacy_policy_url"),
             terms_of_service_url=payload.get("terms_of_service_url"),
@@ -383,7 +377,6 @@ def deserialize_authorization_information(
             name=application_payload["name"],
             description=application_payload["description"] or None,
             icon_hash=application_payload.get("icon"),
-            summary=application_payload["summary"] or None,
             is_bot_public=application_payload.get("bot_public"),
             is_bot_code_grant_required=application_payload.get("bot_require_code_grant"),
             public_key=bytes.fromhex(application_payload["verify_key"]),
@@ -768,25 +761,6 @@ def deserialize_guild_news_channel(
             last_pin_timestamp=last_pin_timestamp,
         )
 
-    def deserialize_guild_store_channel(
-        self,
-        payload: data_binding.JSONObject,
-        *,
-        guild_id: undefined.UndefinedOr[snowflakes.Snowflake] = undefined.UNDEFINED,
-    ) -> channel_models.GuildStoreChannel:
-        channel_fields = self._set_guild_channel_attributes(payload, guild_id=guild_id)
-        return channel_models.GuildStoreChannel(
-            app=self._app,
-            id=channel_fields.id,
-            name=channel_fields.name,
-            type=channel_fields.type,
-            guild_id=channel_fields.guild_id,
-            position=channel_fields.position,
-            permission_overwrites=channel_fields.permission_overwrites,
-            is_nsfw=channel_fields.is_nsfw,
-            parent_id=channel_fields.parent_id,
-        )
-
     def deserialize_guild_voice_channel(
         self,
         payload: data_binding.JSONObject,
@@ -1310,7 +1284,6 @@ def deserialize_integration(
                 id=snowflakes.Snowflake(raw_application["id"]),
                 name=raw_application["name"],
                 icon_hash=raw_application["icon"],
-                summary=raw_application["summary"] or None,
                 description=raw_application["description"] or None,
                 bot=bot,
             )
@@ -1607,7 +1580,6 @@ def _set_invite_attributes(self, payload: data_binding.JSONObject) -> _InviteFie
                 id=snowflakes.Snowflake(invite_payload["id"]),
                 name=invite_payload["name"],
                 description=invite_payload["description"] or None,
-                summary=invite_payload["summary"] or None,
                 public_key=bytes.fromhex(invite_payload["verify_key"]),
                 icon_hash=invite_payload.get("icon"),
                 cover_image_hash=invite_payload.get("cover_image"),
@@ -2250,18 +2222,12 @@ def _deserialize_message_activity(self, payload: data_binding.JSONObject) -> mes
         )
 
     def _deserialize_message_application(self, payload: data_binding.JSONObject) -> message_models.MessageApplication:
-        primary_sku_id: typing.Optional[snowflakes.Snowflake] = None
-        if (raw_primary_sku_id := payload.get("primary_sku_id")) is not None:
-            primary_sku_id = snowflakes.Snowflake(raw_primary_sku_id)
-
         return message_models.MessageApplication(
             id=snowflakes.Snowflake(payload["id"]),
             name=payload["name"],
             description=payload["description"] or None,
             icon_hash=payload["icon"],
-            summary=payload["summary"] or None,
             cover_image_hash=payload.get("cover_image"),
-            primary_sku_id=primary_sku_id,
         )
 
     def _deserialize_message_attachment(self, payload: data_binding.JSONObject) -> message_models.Attachment:
diff --git a/hikari/impl/rest.py b/hikari/impl/rest.py
index 1054094b..b3421104 100644
--- a/hikari/impl/rest.py
+++ b/hikari/impl/rest.py
@@ -2053,15 +2053,20 @@ async def add_user_to_guild(
         guild: snowflakes.SnowflakeishOr[guilds.PartialGuild],
         user: snowflakes.SnowflakeishOr[users.PartialUser],
         *,
+        nickname: undefined.UndefinedOr[str] = undefined.UNDEFINED,
         nick: undefined.UndefinedOr[str] = undefined.UNDEFINED,
         roles: undefined.UndefinedOr[snowflakes.SnowflakeishSequence[guilds.PartialRole]] = undefined.UNDEFINED,
         mute: undefined.UndefinedOr[bool] = undefined.UNDEFINED,
         deaf: undefined.UndefinedOr[bool] = undefined.UNDEFINED,
     ) -> typing.Optional[guilds.Member]:
+        if nick is not undefined.UNDEFINED:
+            deprecation.warn_deprecated("nick", alternative="nickname")
+            nickname = nick
+
         route = routes.PUT_GUILD_MEMBER.compile(guild=guild, user=user)
         body = data_binding.JSONObjectBuilder()
         body.put("access_token", str(access_token))
-        body.put("nick", nick)
+        body.put("nick", nickname)
         body.put("mute", mute)
         body.put("deaf", deaf)
         body.put_snowflake_array("roles", roles)
@@ -2627,6 +2632,7 @@ async def edit_member(
         guild: snowflakes.SnowflakeishOr[guilds.PartialGuild],
         user: snowflakes.SnowflakeishOr[users.PartialUser],
         *,
+        nickname: undefined.UndefinedNoneOr[str] = undefined.UNDEFINED,
         nick: undefined.UndefinedNoneOr[str] = undefined.UNDEFINED,
         roles: undefined.UndefinedOr[snowflakes.SnowflakeishSequence[guilds.PartialRole]] = undefined.UNDEFINED,
         mute: undefined.UndefinedOr[bool] = undefined.UNDEFINED,
@@ -2637,9 +2643,13 @@ async def edit_member(
         communication_disabled_until: undefined.UndefinedNoneOr[datetime.datetime] = undefined.UNDEFINED,
         reason: undefined.UndefinedOr[str] = undefined.UNDEFINED,
     ) -> guilds.Member:
+        if nick is not undefined.UNDEFINED:
+            deprecation.warn_deprecated("nick", alternative="nickname")
+            nickname = nick
+
         route = routes.PATCH_GUILD_MEMBER.compile(guild=guild, user=user)
         body = data_binding.JSONObjectBuilder()
-        body.put("nick", nick)
+        body.put("nick", nickname)
         body.put("mute", mute)
         body.put("deaf", deaf)
         body.put_snowflake_array("roles", roles)
diff --git a/hikari/messages.py b/hikari/messages.py
index 835dcb79..9e4692a5 100644
--- a/hikari/messages.py
+++ b/hikari/messages.py
@@ -425,14 +425,11 @@ class MessageApplication(guilds.PartialApplication):
     """The representation of an application used in messages."""
 
     cover_image_hash: typing.Optional[str] = attr.field(eq=False, hash=False, repr=False)
-    """The CDN's hash of this application's cover image, used on the store."""
-
-    primary_sku_id: typing.Optional[snowflakes.Snowflake] = attr.field(eq=False, hash=False, repr=False)
-    """The ID of the primary "Game SKU" of a game that's sold on Discord."""
+    """The CDN's hash of this application's default rich presence invite cover image."""
 
     @property
     def cover_image_url(self) -> typing.Optional[files.URL]:
-        """Cover image URL used on the store.
+        """Rich presence cover image URL for this application, if set.
 
         Returns
         -------
@@ -442,7 +439,7 @@ def cover_image_url(self) -> typing.Optional[files.URL]:
         return self.make_cover_image_url()
 
     def make_cover_image_url(self, *, ext: str = "png", size: int = 4096) -> typing.Optional[files.URL]:
-        """Generate the cover image URL used in the store, if set.
+        """Generate the rich presence cover image URL for this application, if set.
 
         Parameters
         ----------


Test patch:
diff --git a/tests/hikari/impl/test_entity_factory.py b/tests/hikari/impl/test_entity_factory.py
index 85c9a3c0..564ed32e 100644
--- a/tests/hikari/impl/test_entity_factory.py
+++ b/tests/hikari/impl/test_entity_factory.py
@@ -203,7 +203,6 @@ def application_payload(self, owner_payload, user_payload):
             "bot_public": True,
             "bot_require_code_grant": False,
             "owner": owner_payload,
-            "summary": "not a blank string",
             "verify_key": "698c5d0859abb686be1f8a19e0e7634d8471e33817650f9fb29076de227bca90",
             "flags": 65536,
             "team": {
@@ -215,9 +214,6 @@ def application_payload(self, owner_payload, user_payload):
                 ],
                 "owner_user_id": "393030292",
             },
-            "guild_id": "2020293939",
-            "primary_sku_id": "2020202002",
-            "slug": "192.168.1.254",
             "cover_image": "hashmebaby",
             "privacy_policy_url": "hahaha://hahaha",
             "terms_of_service_url": "haha2:2h2h2h2",
@@ -236,7 +232,6 @@ def test_deserialize_application(
         assert application.is_bot_code_grant_required is False
         assert application.owner == entity_factory_impl.deserialize_user(owner_payload)
         assert application.rpc_origins == ["127.0.0.0"]
-        assert application.summary == "not a blank string"
         assert (
             application.public_key
             == b'i\x8c]\x08Y\xab\xb6\x86\xbe\x1f\x8a\x19\xe0\xe7cM\x84q\xe38\x17e\x0f\x9f\xb2\x90v\xde"{\xca\x90'
@@ -260,9 +255,6 @@ def test_deserialize_application(
         assert member.user == entity_factory_impl.deserialize_user(user_payload)
         assert isinstance(member, application_models.TeamMember)
 
-        assert application.guild_id == 2020293939
-        assert application.primary_sku_id == 2020202002
-        assert application.slug == "192.168.1.254"
         assert application.cover_image_hash == "hashmebaby"
         assert isinstance(application, application_models.Application)
 
@@ -272,7 +264,6 @@ def test_deserialize_application_with_unset_fields(self, entity_factory_impl, mo
                 "id": "209333111222",
                 "name": "Dream Sweet in Sea Major",
                 "description": "I am an application",
-                "summary": "not a blank string",
                 "bot_public": True,
                 "bot_require_code_grant": False,
                 "verify_key": "1232313223",
@@ -283,9 +274,6 @@ def test_deserialize_application_with_unset_fields(self, entity_factory_impl, mo
 
         assert application.rpc_origins is None
         assert application.team is None
-        assert application.guild_id is None
-        assert application.primary_sku_id is None
-        assert application.slug is None
         assert application.icon_hash is None
         assert application.cover_image_hash is None
         assert application.privacy_policy_url is None
@@ -298,7 +286,6 @@ def test_deserialize_application_with_null_fields(self, entity_factory_impl, moc
                 "name": "Dream Sweet in Sea Major",
                 "icon": None,
                 "description": "",
-                "summary": "",
                 "team": None,
                 "owner": owner_payload,
                 "bot_public": True,
@@ -309,7 +296,6 @@ def test_deserialize_application_with_null_fields(self, entity_factory_impl, moc
         )
 
         assert application.description is None
-        assert application.summary is None
         assert application.icon_hash is None
         assert application.cover_image_hash is None
         assert application.team is None
@@ -321,7 +307,6 @@ def invite_application_payload(self):
             "name": "Betrayal.io",
             "icon": "0227b2e89ea08d666c43003fbadbc72a",
             "description": "Play inside Discord with your friends!",
-            "summary": "Play inside Discord with your friends! (but as a summary)",
             "cover_image": "0227b2e89ea08d666c43003fbadbc72a (but as cover)",
             "verify_key": "1bf78fdbfcbabe2e1256f9b133818976591203a22febabba5ff89f86f24760ff",
         }
@@ -334,7 +319,6 @@ def authorization_information_payload(self, user_payload):
                 "name": "abotnotabot",
                 "icon": "7c635c3cc8c7b109d254d8fcc1be85e6",
                 "description": "2123",
-                "summary": "dsasd",
                 "hook": True,
                 "bot_public": True,
                 "bot_require_code_grant": False,
@@ -359,7 +343,6 @@ def test_deserialize_authorization_information(
         assert application.name == "abotnotabot"
         assert application.description == "2123"
         assert application.icon_hash == "7c635c3cc8c7b109d254d8fcc1be85e6"
-        assert application.summary == "dsasd"
         assert application.public_key == b"okokodododo"
         assert application.is_bot_public is True
         assert application.is_bot_code_grant_required is False
@@ -1100,64 +1083,6 @@ def test_deserialize_guild_news_channel_with_null_fields(self, entity_factory_im
         assert news_channel.parent_id is None
         assert news_channel.last_pin_timestamp is None
 
-    @pytest.fixture()
-    def guild_store_channel_payload(self, permission_overwrite_payload):
-        return {
-            "id": "123",
-            "permission_overwrites": [permission_overwrite_payload],
-            "name": "Half Life 3",
-            "parent_id": "9876",
-            "nsfw": True,
-            "position": 2,
-            "guild_id": "1234",
-            "type": 6,
-        }
-
-    def test_deserialize_guild_store_channel(
-        self, entity_factory_impl, mock_app, guild_store_channel_payload, permission_overwrite_payload
-    ):
-        store_chanel = entity_factory_impl.deserialize_guild_store_channel(guild_store_channel_payload)
-        assert store_chanel.id == 123
-        assert store_chanel.name == "Half Life 3"
-        assert store_chanel.type == channel_models.ChannelType.GUILD_STORE
-        assert store_chanel.guild_id == 1234
-        assert store_chanel.position == 2
-        assert store_chanel.permission_overwrites == {
-            4242: entity_factory_impl.deserialize_permission_overwrite(permission_overwrite_payload)
-        }
-        assert store_chanel.is_nsfw is True
-        assert store_chanel.parent_id == 9876
-        assert isinstance(store_chanel, channel_models.GuildStoreChannel)
-
-    def test_deserialize_guild_store_channel_with_unset_fields(self, entity_factory_impl):
-        store_chanel = entity_factory_impl.deserialize_guild_store_channel(
-            {
-                "id": "123",
-                "permission_overwrites": [],
-                "name": "Half Life 3",
-                "position": 2,
-                "type": 6,
-                "guild_id": 123123,
-            }
-        )
-        assert store_chanel.parent_id is None
-        assert store_chanel.is_nsfw is None
-
-    def test_deserialize_guild_store_channel_with_null_fields(self, entity_factory_impl):
-        store_chanel = entity_factory_impl.deserialize_guild_store_channel(
-            {
-                "id": "123",
-                "permission_overwrites": [],
-                "name": "Half Life 3",
-                "parent_id": None,
-                "nsfw": True,
-                "position": 2,
-                "guild_id": "1234",
-                "type": 6,
-            }
-        )
-        assert store_chanel.parent_id is None
-
     @pytest.fixture()
     def guild_voice_channel_payload(self, permission_overwrite_payload):
         return {
@@ -1312,7 +1237,6 @@ def test_deserialize_channel_returns_right_type(
         guild_category_payload,
         guild_text_channel_payload,
         guild_news_channel_payload,
-        guild_store_channel_payload,
         guild_voice_channel_payload,
         guild_stage_channel_payload,
     ):
@@ -1322,7 +1246,6 @@ def test_deserialize_channel_returns_right_type(
             (guild_category_payload, channel_models.GuildCategory),
             (guild_text_channel_payload, channel_models.GuildTextChannel),
             (guild_news_channel_payload, channel_models.GuildNewsChannel),
-            (guild_store_channel_payload, channel_models.GuildStoreChannel),
             (guild_voice_channel_payload, channel_models.GuildVoiceChannel),
             (guild_stage_channel_payload, channel_models.GuildStageChannel),
         ]:
@@ -2073,7 +1996,6 @@ def integration_payload(self, user_payload):
                 "id": "123",
                 "name": "some bot",
                 "icon": "123abc",
-                "summary": "same as desc",
                 "description": "same as desc2",
                 "bot": {
                     "id": "456",
@@ -2112,7 +2034,6 @@ def test_deserialize_integration(self, entity_factory_impl, integration_payload,
         assert integration.application.id == 123
         assert integration.application.name == "some bot"
         assert integration.application.icon_hash == "123abc"
-        assert integration.application.summary == "same as desc"
         assert integration.application.description == "same as desc2"
         assert integration.application.bot == entity_factory_impl.deserialize_user(
             {
@@ -2165,10 +2086,8 @@ def test_deserialize_guild_integration_with_unset_bot(self, entity_factory_impl)
                     "id": 123,
                     "name": "some bot",
                     "icon": "123abc",
-                    "summary": "same as desc",
                     "description": "same as desc2",
                     "cover_image": "SMKLdiosa89123u",
-                    "primary_sku_id": "499494949494994",
                 },
             }
         )
@@ -3730,7 +3649,6 @@ def test_deserialize_invite(
         assert application.id == 773336526917861400
         assert application.name == "Betrayal.io"
         assert application.description == "Play inside Discord with your friends!"
-        assert application.summary == "Play inside Discord with your friends! (but as a summary)"
         assert (
             application.public_key
             == b"\x1b\xf7\x8f\xdb\xfc\xba\xbe.\x12V\xf9\xb13\x81\x89vY\x12\x03\xa2/\xeb\xab\xba_\xf8\x9f\x86\xf2G`\xff"
@@ -3753,14 +3671,12 @@ def test_deserialize_invite_with_null_fields(
                     "id": "773336526917861400",
                     "name": "Betrayal.io",
                     "description": "",
-                    "summary": "",
                     "verify_key": "1bf78fdbfcbabe2e1256f9b133818976591203a22febabba5ff89f86f24760ff",
                 },
             }
         )
         assert invite.expires_at is None
         assert invite.target_application.description is None
-        assert invite.target_application.summary is None
 
     def test_deserialize_invite_with_unset_fields(self, entity_factory_impl, partial_channel_payload):
         invite = entity_factory_impl.deserialize_invite(
@@ -3786,7 +3702,6 @@ def test_deserialize_invite_with_unset_sub_fields(self, entity_factory_impl, inv
             "id": "773336526917861400",
             "name": "Betrayal.io",
             "description": "Play inside Discord with your friends!",
-            "summary": "Play inside Discord with your friends! (but as a summary)",
             "verify_key": "1bf78fdbfcbabe2e1256f9b133818976591203a22febabba5ff89f86f24760ff",
         }
 
@@ -3894,7 +3809,6 @@ def test_deserialize_invite_with_metadata(
         assert application.id == 773336526917861400
         assert application.name == "Betrayal.io"
         assert application.description == "Play inside Discord with your friends!"
-        assert application.summary == "Play inside Discord with your friends! (but as a summary)"
         assert (
             application.public_key
             == b"\x1b\xf7\x8f\xdb\xfc\xba\xbe.\x12V\xf9\xb13\x81\x89vY\x12\x03\xa2/\xeb\xab\xba_\xf8\x9f\x86\xf2G`\xff"
@@ -4079,8 +3993,6 @@ def partial_application_payload(self):
             "description": "The best application",
             "icon": "2658b3029e775a931ffb49380073fa63",
             "cover_image": "58982a23790c4f22787b05d3be38a026",
-            "summary": "asas",
-            "primary_sku_id": "499494949494994",
         }
 
     @pytest.fixture()
@@ -4277,9 +4189,7 @@ def test_deserialize_partial_message(
         assert partial_message.application.name == "hikari"
         assert partial_message.application.description == "The best application"
         assert partial_message.application.icon_hash == "2658b3029e775a931ffb49380073fa63"
-        assert partial_message.application.summary == "asas"
         assert partial_message.application.cover_image_hash == "58982a23790c4f22787b05d3be38a026"
-        assert partial_message.application.primary_sku_id == 499494949494994
         assert isinstance(partial_message.application, message_models.MessageApplication)
         # MessageReference
         assert partial_message.message_reference.app is mock_app
@@ -4314,7 +4224,6 @@ def test_deserialize_partial_message(
     def test_deserialize_partial_message_with_partial_fields(self, entity_factory_impl, message_payload):
         message_payload["content"] = ""
         message_payload["edited_timestamp"] = None
-        message_payload["application"]["primary_sku_id"] = None
         message_payload["application"]["icon"] = None
         message_payload["referenced_message"] = None
         del message_payload["member"]
@@ -4328,7 +4237,6 @@ def test_deserialize_partial_message_with_partial_fields(self, entity_factory_im
         assert partial_message.edited_timestamp is None
         assert partial_message.guild_id is not None
         assert partial_message.member is undefined.UNDEFINED
-        assert partial_message.application.primary_sku_id is None
         assert partial_message.application.icon_hash is None
         assert partial_message.application.cover_image_hash is None
         assert partial_message.message_reference.id is None
@@ -4458,9 +4366,7 @@ def test_deserialize_message(
         assert message.application.name == "hikari"
         assert message.application.description == "The best application"
         assert message.application.icon_hash == "2658b3029e775a931ffb49380073fa63"
-        assert message.application.summary == "asas"
         assert message.application.cover_image_hash == "58982a23790c4f22787b05d3be38a026"
-        assert message.application.primary_sku_id == 499494949494994
         assert isinstance(message.application, message_models.MessageApplication)
 
         # MessageReference
@@ -4495,7 +4401,6 @@ def test_deserialize_message(
 
     def test_deserialize_message_with_unset_sub_fields(self, entity_factory_impl, message_payload):
         del message_payload["application"]["cover_image"]
-        del message_payload["application"]["primary_sku_id"]
         del message_payload["activity"]["party_id"]
         del message_payload["message_reference"]["message_id"]
         del message_payload["message_reference"]["guild_id"]
@@ -4511,7 +4416,6 @@ def test_deserialize_message_with_unset_sub_fields(self, entity_factory_impl, me
 
         # MessageApplication
         assert message.application.cover_image_hash is None
-        assert message.application.primary_sku_id is None
         assert isinstance(message.application, message_models.MessageApplication)
 
         # MessageReference
@@ -4576,14 +4480,12 @@ def test_deserialize_message_with_null_and_unset_fields(
         assert message.components == []
 
     def test_deserialize_message_with_other_unset_fields(self, entity_factory_impl, message_payload):
-        message_payload["application"]["primary_sku_id"] = None
         message_payload["application"]["icon"] = None
         message_payload["referenced_message"] = None
         del message_payload["member"]
         del message_payload["application"]["cover_image"]
 
         message = entity_factory_impl.deserialize_message(message_payload)
-        assert message.application.primary_sku_id is None
         assert message.application.cover_image_hash is None
         assert message.application.icon_hash is None
         assert message.referenced_message is None
diff --git a/tests/hikari/impl/test_rest.py b/tests/hikari/impl/test_rest.py
index 5b15e922..f6bf5f94 100644
--- a/tests/hikari/impl/test_rest.py
+++ b/tests/hikari/impl/test_rest.py
@@ -3361,7 +3361,7 @@ async def test_add_user_to_guild(self, rest_client):
             "token",
             StubModel(123),
             StubModel(456),
-            nick="cool nick",
+            nickname="cool nick",
             roles=[StubModel(234), StubModel(567)],
             mute=True,
             deaf=False,
@@ -3371,6 +3371,28 @@ async def test_add_user_to_guild(self, rest_client):
         rest_client._request.assert_awaited_once_with(expected_route, json=expected_json)
         rest_client._entity_factory.deserialize_member.assert_called_once_with({"id": "789"}, guild_id=123)
 
+    async def test_add_user_to_guild_with_deprecated_nick_field(self, rest_client):
+        member = StubModel(789)
+        expected_route = routes.PUT_GUILD_MEMBER.compile(guild=123, user=456)
+        expected_json = {"access_token": "token", "nick": "cool nick2"}
+        rest_client._request = mock.AsyncMock(return_value={"id": "789"})
+        rest_client._entity_factory.deserialize_member = mock.Mock(return_value=member)
+
+        with pytest.warns(
+            DeprecationWarning,
+            match="'nick' is deprecated and will be removed in a following version. You can use 'nickname' instead.",
+        ):
+            returned = await rest_client.add_user_to_guild(
+                "token",
+                StubModel(123),
+                StubModel(456),
+                nick="cool nick2",
+            )
+
+        assert returned is member
+        rest_client._request.assert_awaited_once_with(expected_route, json=expected_json)
+        rest_client._entity_factory.deserialize_member.assert_called_once_with({"id": "789"}, guild_id=123)
+
     async def test_add_user_to_guild_when_already_in_guild(self, rest_client):
         expected_route = routes.PUT_GUILD_MEMBER.compile(guild=123, user=456)
         expected_json = {"access_token": "token"}
@@ -4008,7 +4030,7 @@ async def test_edit_member(self, rest_client):
         result = await rest_client.edit_member(
             StubModel(123),
             StubModel(456),
-            nick="test",
+            nickname="test",
             roles=[StubModel(654), StubModel(321)],
             mute=True,
             deaf=False,
@@ -4023,6 +4045,24 @@ async def test_edit_member(self, rest_client):
         )
         rest_client._request.assert_awaited_once_with(expected_route, json=expected_json, reason="because i can")
 
+    async def test_edit_member_with_deprecated_nick_field(self, rest_client):
+        expected_route = routes.PATCH_GUILD_MEMBER.compile(guild=123, user=456)
+        expected_json = {"nick": "eeeeeestrogen"}
+        rest_client._request = mock.AsyncMock(return_value={"id": "789"})
+
+        with pytest.warns(
+            DeprecationWarning,
+            match="'nick' is deprecated and will be removed in a following version. You can use 'nickname' instead.",
+        ):
+            result = await rest_client.edit_member(StubModel(123), StubModel(456), nick="eeeeeestrogen")
+
+        assert result is rest_client._entity_factory.deserialize_member.return_value
+
+        rest_client._entity_factory.deserialize_member.assert_called_once_with(
+            rest_client._request.return_value, guild_id=123
+        )
+        rest_client._request.assert_awaited_once_with(expected_route, json=expected_json, reason=undefined.UNDEFINED)
+
     async def test_edit_member_when_voice_channel_is_None(self, rest_client):
         expected_route = routes.PATCH_GUILD_MEMBER.compile(guild=123, user=456)
         expected_json = {"nick": "test", "roles": ["654", "321"], "mute": True, "deaf": False, "channel_id": None}
@@ -4031,7 +4071,7 @@ async def test_edit_member_when_voice_channel_is_None(self, rest_client):
         result = await rest_client.edit_member(
             StubModel(123),
             StubModel(456),
-            nick="test",
+            nickname="test",
             roles=[StubModel(654), StubModel(321)],
             mute=True,
             deaf=False,
diff --git a/tests/hikari/test_guilds.py b/tests/hikari/test_guilds.py
index 3caf43cc..be274883 100644
--- a/tests/hikari/test_guilds.py
+++ b/tests/hikari/test_guilds.py
@@ -429,7 +429,7 @@ async def test_edit(self, model):
         model.app.rest.edit_member = mock.AsyncMock()
         disabled_until = datetime.datetime(2021, 11, 17)
         edit = await model.edit(
-            nick="Imposter",
+            nickname="Imposter",
             roles=[123, 432, 345],
             mute=False,
             deaf=True,
@@ -441,7 +441,7 @@ async def test_edit(self, model):
         model.app.rest.edit_member.assert_awaited_once_with(
             456,
             123,
-            nick="Imposter",
+            nickname="Imposter",
             roles=[123, 432, 345],
             mute=False,
             deaf=True,
@@ -452,6 +452,29 @@ async def test_edit(self, model):
 
         assert edit == model.app.rest.edit_member.return_value
 
+    @pytest.mark.asyncio()
+    async def test_edit_when_deprecated_nick_field(self, model):
+        model.app.rest.edit_member = mock.AsyncMock()
+
+        with pytest.warns(
+            DeprecationWarning,
+            match="'nick' is deprecated and will be removed in a following version. You can use 'nickname' instead.",
+        ):
+            edit = await model.edit(nick="meow")
+
+        model.app.rest.edit_member.assert_awaited_once_with(
+            456,
+            123,
+            nickname="meow",
+            roles=undefined.UNDEFINED,
+            mute=undefined.UNDEFINED,
+            deaf=undefined.UNDEFINED,
+            voice_channel=undefined.UNDEFINED,
+            communication_disabled_until=undefined.UNDEFINED,
+            reason=undefined.UNDEFINED,
+        )
+        assert edit == model.app.rest.edit_member.return_value
+
     def test_default_avatar_url_property(self, model, mock_user):
         assert model.default_avatar_url is mock_user.default_avatar_url
 
diff --git a/tests/hikari/test_messages.py b/tests/hikari/test_messages.py
index ee7ad9ac..1e95ddfe 100644
--- a/tests/hikari/test_messages.py
+++ b/tests/hikari/test_messages.py
@@ -64,9 +64,7 @@ def message_application(self):
             name="test app",
             description="",
             icon_hash="123abc",
-            summary="some summary",
             cover_image_hash="abc123",
-            primary_sku_id=456,
         )
 
     def test_cover_image_url(self, message_application):