Struct discord_sdk::Discord
source · pub struct Discord { /* private fields */ }
Implementations§
source§impl Discord
impl Discord
sourcepub async fn update_activity(
&self,
activity: impl Into<ActivityArgs>
) -> Result<Option<Activity>, Error>
pub async fn update_activity( &self, activity: impl Into<ActivityArgs> ) -> Result<Option<Activity>, Error>
sourcepub async fn invite_user(
&self,
user_id: UserId,
message: impl Into<String>,
kind: ActivityActionKind
) -> Result<(), Error>
pub async fn invite_user( &self, user_id: UserId, message: impl Into<String>, kind: ActivityActionKind ) -> Result<(), Error>
Invites the specified User
to join the current
user’s game.
§Errors
The current User
must have their presence updated
with all of the required fields
otherwise this call will fail.
sourcepub async fn accept_invite(
&self,
invite: &impl AsRef<ActivityInvite>
) -> Result<(), Error>
pub async fn accept_invite( &self, invite: &impl AsRef<ActivityInvite> ) -> Result<(), Error>
Accepts the invite to another user’s activity.
sourcepub async fn send_join_request_reply(
&self,
user_id: UserId,
reply: impl Into<JoinRequestReply>
) -> Result<(), Error>
pub async fn send_join_request_reply( &self, user_id: UserId, reply: impl Into<JoinRequestReply> ) -> Result<(), Error>
Sends a reply to an Ask to Join request.
source§impl Discord
impl Discord
sourcepub async fn search_lobbies(
&self,
query: SearchQuery
) -> Result<Vec<Lobby>, Error>
pub async fn search_lobbies( &self, query: SearchQuery ) -> Result<Vec<Lobby>, Error>
Searches available lobbies based on the search criteria
source§impl Discord
impl Discord
sourcepub async fn create_lobby(
&self,
args: CreateLobbyBuilder
) -> Result<Lobby, Error>
pub async fn create_lobby( &self, args: CreateLobbyBuilder ) -> Result<Lobby, Error>
sourcepub async fn update_lobby(
&self,
args: UpdateLobbyBuilder
) -> Result<LobbyArgs, Error>
pub async fn update_lobby( &self, args: UpdateLobbyBuilder ) -> Result<LobbyArgs, Error>
sourcepub async fn delete_lobby(&self, id: LobbyId) -> Result<(), Error>
pub async fn delete_lobby(&self, id: LobbyId) -> Result<(), Error>
Deletes the specified lobby.
sourcepub async fn connect_lobby(&self, lobby: ConnectLobby) -> Result<Lobby, Error>
pub async fn connect_lobby(&self, lobby: ConnectLobby) -> Result<Lobby, Error>
Connects to the specified lobby, which comprises 2 pieces of information, the lobby identifier, and the lobby secret.
sourcepub async fn disconnect_lobby(&self, id: LobbyId) -> Result<(), Error>
pub async fn disconnect_lobby(&self, id: LobbyId) -> Result<(), Error>
Disconnects the current user from a lobby.
sourcepub async fn send_lobby_message(
&self,
lobby_id: LobbyId,
data: LobbyMessage
) -> Result<(), Error>
pub async fn send_lobby_message( &self, lobby_id: LobbyId, data: LobbyMessage ) -> Result<(), Error>
source§impl Discord
impl Discord
sourcepub async fn set_overlay_visibility(
&self,
visibility: Visibility
) -> Result<(), Error>
pub async fn set_overlay_visibility( &self, visibility: Visibility ) -> Result<(), Error>
Opens or closes the overlay. If the overlay is not enabled this will instead focus the Discord app itself.
sourcepub async fn open_activity_invite(
&self,
action: InviteAction
) -> Result<(), Error>
pub async fn open_activity_invite( &self, action: InviteAction ) -> Result<(), Error>
Opens the overlay modal for sending game invitations to users, channels, and servers.
§Errors
If you do not have a valid activity with all the required fields, this call will error. See Activity Action Field Requirements for the fields required to have join and spectate invites function properly.
sourcepub async fn open_guild_invite(
&self,
code: impl AsRef<str>
) -> Result<(), Error>
pub async fn open_guild_invite( &self, code: impl AsRef<str> ) -> Result<(), Error>
Opens the overlay modal for joining a Discord guild, given its invite code. Unlike the normal SDK, this method automatically parses the code from the provided string so you don’t need to do it yourself.
Note that just because the result might be Result::Ok
doesn’t
necessarily mean the user accepted the invite.
source§impl Discord
impl Discord
sourcepub async fn get_relationships(&self) -> Result<Vec<Relationship>, Error>
pub async fn get_relationships(&self) -> Result<Vec<Relationship>, Error>
The regular Game SDK does not really expose this functionality directly, but rather exposed via the “on refresh” event as described in the docs.
Basically, this method should be used to bootstrap the relationships for
the current user, with updates to that list coming via the
RelationshipUpdate
event
source§impl Discord
impl Discord
sourcepub async fn update_voice_settings(
&self,
settings: VoiceSettingsSelf
) -> Result<(), Error>
pub async fn update_voice_settings( &self, settings: VoiceSettingsSelf ) -> Result<(), Error>
Changes whether the local user is muted and/or deafened
sourcepub async fn voice_set_input_mode(
&self,
input_mode: InputMode
) -> Result<(), Error>
pub async fn voice_set_input_mode( &self, input_mode: InputMode ) -> Result<(), Error>
Sets a new voice input mode for the user. Refer to Shortcut Keys for a table of valid values for shortcuts.
sourcepub async fn voice_mute_user(
&self,
user: UserId,
mute: bool
) -> Result<(), Error>
pub async fn voice_mute_user( &self, user: UserId, mute: bool ) -> Result<(), Error>
Mutes or unmutes the given user for the currently connected user.
sourcepub async fn voice_set_user_volume(
&self,
user: UserId,
volume: u8
) -> Result<u8, Error>
pub async fn voice_set_user_volume( &self, user: UserId, volume: u8 ) -> Result<u8, Error>
Sets the local volume for a given user. This is the volume level at which the currently connected users hears the given user speak. Valid volume values are from 0 to 200, with 100 being the default. Lower than 100 will be a reduced volume level from default, whereas over 100 will be a boosted volume level from default.
source§impl Discord
impl Discord
sourcepub fn new(
app: impl Into<DiscordApp>,
subscriptions: Subscriptions,
handler: Box<dyn DiscordHandler>
) -> Result<Self, Error>
pub fn new( app: impl Into<DiscordApp>, subscriptions: Subscriptions, handler: Box<dyn DiscordHandler> ) -> Result<Self, Error>
Creates a new Discord connection for the specified application, providing
a DiscordHandler
which can handle events as they arrive from Discord
sourcepub async fn disconnect(self)
pub async fn disconnect(self)
Disconnects from Discord, shutting down the tasks that have been created to handle sending and receiving messages from it.