disco.client
Classes
ClientConfig
Inherits From Config
Configuration for the Client
.
Attributes
Name | Type | Description |
---|---|---|
token | str |
Discord authentication token, can be validated using the `disco.util.token.is_valid_token` function. |
shard_id | int |
The shard ID for the current client instance. |
shard_count | int |
The total count of shards running. |
max_reconnects | int |
The maximum number of connection retries to make before giving up (0 = never give up). log_level: str The logging level to use. |
manhole_enable | bool |
Whether to enable the manhole (e.g. console backdoor server) utility. |
manhole_bind | tuple(str, int) |
A (host, port) combination which the manhole server will bind to (if its enabled using :attr:`manhole_enable`). |
encoder | str |
The type of encoding to use for encoding/decoding data from websockets, should be either 'json' or 'etf'. |
Client
Inherits From LoggingClass
Class representing the base entry point that should be used in almost all
implementation cases. This class wraps the functionality of both the REST API
(disco.api.client.APIClient
) and the realtime gateway API
Parameters
Name | Type | Description |
---|---|---|
config | `ClientConfig` |
Configuration for this client instance. |
Attributes
Name | Type | Description |
---|---|---|
config | `ClientConfig` |
The runtime configuration for this client. |
events | `Emitter` |
An emitter which emits Gateway events. |
packets | `Emitter` |
An emitter which emits Gateway packets. |
state | `State` |
The state tracking object. |
api | `APIClient` |
The API client. |
gw | `GatewayClient` |
The gateway client. |
manhole_locals | dict |
Dictionary of local variables for each manhole connection. This can be modified to add/modify local variables. |
manhole | Optional[`BackdoorServer`] |
Gevent backdoor server (if the manhole is enabled). |
Functions
init(self, config)
update_presence(self, status, game, afk=False, since=0.0)
Updates the current clients presence.
Params
Name | Type | Description |
---|---|---|
status | `user.Status` |
The clients current status. |
game | `user.Game` |
If passed, the game object to set for the users presence. |
afk | bool |
Whether the client is currently afk. |
since | float |
How long the client has been afk for (in seconds). |
run(self
)
Run the client (e.g. the GatewayClient
) in a new greenlet.
run_forever(self
)
Run the client (e.g. the GatewayClient
) in the current greenlet.