Client()¶
- class Client(client_id, pipe=0, loop=None, handler=None)¶
Creates the RPC client ready for usage.
- Parameters:
client_id (str) – OAuth2 App ID (found at https://discord.com/developers/applications/me)
pipe (int) – Pipe that should be used to connect to the Discord client. Defaults to 0, can be 0-9
loop (asyncio.BaseEventLoop) – Your own event loop (if you have one) that PyPresence should use. One will be created if not supplied. Information at https://docs.python.org/3/library/asyncio-eventloop.html
handler (function) – The exception handler pypresence should send asynchronous errors to. This can be a coroutine or standard function as long as it takes two arguments (exception, future). Exception will be the exception to handle and future will be an instance of asyncio.Future
- start()¶
Initializes the connection - must be done in order to run RPC commands.
- Return type:
pypresence.Response
- close()¶
Closes the connection.
- authorize(client_id, scopes, rpc_token=None, username=None)¶
Used to authenticate a new client with your app. By default this pops up a modal in-app that asks the user to authorize access to your app.
- Parameters:
client_id (str) – OAuth2 application id
scopes (list) – a list of OAuth scopes as strings
rpc_token (str) – one-time use RPC token
username (str) – username to create a guest account with if the user does not have Discord
- Return type:
pypresence.Response
All the different scopes can be found here
- authenticate(token)¶
Used to authenticate an existing client with your app.
- Parameters:
token (int) – OAuth2 access token
- Return type:
pypresence.Response
- get_guilds()¶
Used to get a list of guilds the client is in.
- Return type:
pypresence.Response
- get_channels()¶
Used to get a guild’s channels the client is in.
- Return type:
pypresence.Response
- channel_id()¶
Used to get a channel the client is in.
- Parameters:
channel_id (str) – id of the channel to get
- Return type:
pypresence.Response
- set_user_voice_settings(user_id, **options)¶
Used to get a channel the client is in.
- Parameters:
user_id (str) – user id
pan_left (float) – left pan of the user
pan_right (float) – right pan of the user
volume (int) – the volume of user (defaults to 100, min 0, max 200)
mute (bool) – the mute state of the user
- Return type:
pypresence.Response
- select_voice_channel(channel_id)¶
Used to join and leave voice channels, group dms, or dms.
- Parameters:
channel_id (str) – channel id to join (or
None
to leave)- Return type:
pypresence.Response
- get_selected_voice_channel()¶
Used to get the client’s current voice channel.
- Return type:
pypresence.Response
- select_text_channel(channel_id)¶
Used to join and leave text channels, group dms, or dms.
- Parameters:
channel_id (str) – channel id to join (or
None
to leave)- Return type:
pypresence.Response
- set_activity(**options)¶
Used to set the activity shown on Discord profiles and status of users. Takes the following as parameters.
- Parameters:
pid (int) – the process id of your game
state (str) – the user’s current status
details (str) – what the player is currently doing
start (int) – epoch time for game start
end (int) – epoch time for game end
large_image (str) – name of the uploaded image for the large profile artwork
large_text (str) – tooltip for the large image
small_image (str) – name of the uploaded image for the small profile artwork
small_text (str) – tootltip for the small image
party_id (str) – id of the player’s party, lobby, or group
party_size (list) – current size of the player’s party, lobby, or group, and the max in this format:
[1,4]
join (str) – unique hashed string for chat invitations and ask to join
spectate (str) – unique hashed string for spectate button
match (str) – unique hashed string for spectate and join
buttons (list) – list of dicts for buttons on your profile in the format
[{"label": "My Website", "url": "https://qtqt.cf"}, ...]
, can list up to two buttonsinstance (bool) – marks the match as a game session with a specific beginning and end
- Return type:
pypresence.Response
- clear_activity(pid=os.getpid())¶
Clear the activity.
- Parameters:
pid (int) – the process id of your game
state (str) – the user’s current status
details (str) – what the player is currently doing
start (int) – epoch time for game start
end (int) – epoch time for game end
large_image (str) – name of the uploaded image for the large profile artwork
large_text (str) – tooltip for the large image
small_image (str) – name of the uploaded image for the small profile artwork
small_text (str) – tootltip for the small image
party_id (str) – id of the player’s party, lobby, or group
party_size (list) – current size of the player’s party, lobby, or group, and the max in this format:
[1,4]
join (str) – unique hashed string for chat invitations and ask to join
spectate (str) – unique hashed string for spectate button
match (str) – unique hashed string for spectate and join
instance (bool) – marks the match as a game session with a specific beginning and end
- Return type:
pypresence.Response
- subscribe(event, args={})¶
Used to subscribe to events.
- Parameters:
event (str) – event name to subscribe to
args (dict) – any args to go along with the event
- Return type:
pypresence.Response
- unsubscribe(event, args={})¶
Used to unsubscribe from events.
- Parameters:
event (str) – event name to unsubscribe from
args (dict) – any args to go along with the event
- Return type:
pypresence.Response
- get_voice_settings()¶
Get the user’s voice settings.
- Return type:
pypresence.Response
- set_voice_settings(**options)¶
Set the user’s voice settings.
- Parameters:
_input (dict) – input settings
output (dict) – output settings
mode (dict) – voice mode settings
automatic_gain_control (bool) – state of automatic gain control
echo_cancellation (bool) – state of echo cancellation
noise_suppression (bool) – state of noise suppression
qos (bool) – state of voice quality of service
silence_warning (bool) – state of silence warning notice
deaf (bool) – state of self-deafen
mute (bool) – state of self-mute
- Return type:
pypresence.Response
- capture_shortcut(action)¶
Used to capture a keyboard shortcut entered by the user.
- Parameters:
action (string) – capture action, either
'START'
or'STOP'
- Return type:
pypresence.Response
- send_activity_join_invite(user_id)¶
Used to accept an Ask to Join request.
- Parameters:
user_id (str) – user id
- Return type:
pypresence.Response
- close_activity_request(user_id)¶
Used to reject an Ask to Join request.
- Parameters:
user_id (str) – user id
- Return type:
pypresence.Response
- register_event(event, func, args={})¶
Hook an event to a function. The function will be called whenever Discord sends that event. Will auto subscribe to it.
- Parameters:
event (str) – the event to hook
func (function) – the function to pair with the event
args (dict) – optional args used in subscription
- Return type:
pypresence.Response
- unregister_event(event, args={})¶
Unhook an event from a function. Will auto unsubscribe from the event as well.
- Parameters:
event (str) – the event to unhook
args (dict) – optional args used in unsubscription
- Return type:
pypresence.Response