@@ -5,26 +5,26 @@ title: Working with Bearer token
# Working with Bearer token
Some endpoints in Discord API require a Bearer token, which can be obtained through [OAuth2 flow](https://discord.com/developers/docs/topics/oauth2). Discord.Net allows you to interact with these endopoints using [DiscordRestClient].
Some endpoints in Discord API require a Bearer token, which can be obtained through [OAuth2 flow](https://discord.com/developers/docs/topics/oauth2). Discord.Net allows you to interact with these endpoints using the [DiscordRestClient].
[DiscordRestClient] gets the current user when `LoginAsync()` is called. The user object can be found in `CurrentUser` property.
The [DiscordRestClient] gets the current user when `LoginAsync()` is called. The user object can be found in the `CurrentUser` property.
If you need to fetch the user again `GetGetCurrentUserAsync()` method can be used.
If you need to fetch the user again, the `GetGetCurrentUserAsync()` method can be used.
[!code-csharp[Get current user](samples/current_user.cs)]
> [!NOTE]
> Some properies might be `null` depending on which scopes user authed your app with.
> Some properties might be `null` depending on which scopes users authorized your app with.
> For example: `email` scope is required to fetch current user's email address.
## Fetching current user's guilds
`GetGuildSummariesAsync()` method is used to fetch current user's guilds. Since it returns an `IAsyncEnumerable` you need to call `FlattenAsync()` to get a plain `IEnumerable` containing [RestUserGuild] objects.
The `GetGuildSummariesAsync()` method is used to fetch current user's guilds. Since it returns an `IAsyncEnumerable` you need to call `FlattenAsync()` to get a plain `IEnumerable` containing [RestUserGuild] objects.
[!code-csharp[Get current user's guilds](samples/current_user_guilds.cs)]
@@ -33,7 +33,7 @@ If you need to fetch the user again `GetGetCurrentUserAsync()` method can be use
## Fetching current user's guild member object
To fetch the current user's guild member object the `GetCurrentUserGuildMemberAsync()` method can be used.
To fetch the current user's guild member object, the `GetCurrentUserGuildMemberAsync()` method can be used.
[!code-csharp[Get current user's guild member](samples/current_user_guild_member.cs)]
@@ -42,7 +42,7 @@ To fetch the current user's guild member object the `GetCurrentUserGuildMemberAs
## Get user connections
`GetConnectionsAsync` method can be used to fetch current user's connections to other platforms.
The `GetConnectionsAsync` method can be used to fetch current user's connections to other platforms.
[!code-csharp[Get current user's connections](samples/current_user_connections.cs)]
@@ -51,9 +51,9 @@ To fetch the current user's guild member object the `GetCurrentUserGuildMemberAs
## Application role connection
In addition to previous features Discord.Net supports fetching & updating user's application role conection metadata values. `GetUserApplicationRoleConnectionAsync()` returns a [RoleConnection] object of the current user for the given application id.
In addition to previous features, Discord.Net supports fetching & updating user's application role connection metadata values. `GetUserApplicationRoleConnectionAsync()` returns a [RoleConnection] object of the current user for the given application id.
`ModifyUserApplicationRoleConnectionAsync()` method is used to update current user's role connection metadata values. A new set of values can be created with [RoleConnectionProperties] object.
The `ModifyUserApplicationRoleConnectionAsync()` method is used to update current user's role connection metadata values. A new set of values can be created with [RoleConnectionProperties] object.
[!code-csharp[Get current user's connections](samples/app_role_connection.cs)]
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.