Data API Reference¶
- class topgg.data.DataContainerMixin[source]¶
A class that holds data.
This is useful for injecting some data so that they’re available as arguments in your functions.
- get_data(type_: Type[topgg.data.T]) Optional[topgg.data.T] [source]¶
- get_data(type_: Type[topgg.data.T], default: Any = None) Any
Gets the injected data.
- set_data(data_: Any, *, override: bool = False) topgg.data.DataContainerT [source]¶
Sets data to be available in your functions.
- Parameters
data_ (
typing.Any
) – The data to be injected.override (
bool
) – Whether or not to override another instance that already exists.
- Raises
TopGGException – If override is False and another instance of the same type exists.
- topgg.data.data(type_: Type[topgg.data.T]) topgg.data.T [source]¶
Represents the injected data. This should be set as the parameter’s default value.
- Parameters
type_ (
type
[T
]) – The type of the injected data.- Returns
The injected data of type T.
- Return type
T
- Example
import topgg # In this example, we fetch the stats from a Discord client instance. client = Client(...) dblclient = topgg.DBLClient(TOKEN).set_data(client) autopost: topgg.AutoPoster = dblclient.autopost() @autopost.stats() def get_stats(client: Client = topgg.data(Client)): return topgg.StatsWrapper(guild_count=len(client.guilds), shard_count=len(client.shards))