Перейти к содержанию

Пользователи и присутствие

Руководство по моделям объясняет, как модели типизируются и декодируются. Каждый класс отсюда можно импортировать из bostie.

bostie.models.user

PartialUser

Bases: Model, Snowflake

The author of a webhook's message, which carries only the webhook's identity.

id instance-attribute

id: int

username instance-attribute

username: str

avatar instance-attribute

avatar: str | None

bot class-attribute instance-attribute

bot: bool = False

mention property

mention: str

display_name property

display_name: str

created_at property

created_at: datetime

When the object was created, in UTC, read from its id.

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

AvatarDecorationData

Bases: Model

asset instance-attribute

asset: str

sku_id instance-attribute

sku_id: int

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

Nameplate

Bases: Model

palette names the background color, such as "crimson".

sku_id instance-attribute

sku_id: int

asset instance-attribute

asset: str

label instance-attribute

label: str

palette instance-attribute

palette: str

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

Collectibles

Bases: Model

The collectibles of a user or member, avatar decorations aside.

nameplate class-attribute instance-attribute

nameplate: Nameplate | None = None

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

PrimaryGuild

Bases: Model

The guild whose server tag a user shows.

identity_guild_id class-attribute instance-attribute

identity_guild_id: int | None = None

identity_enabled class-attribute instance-attribute

identity_enabled: bool | None = None

tag class-attribute instance-attribute

tag: str | None = None

badge class-attribute instance-attribute

badge: str | None = None

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

DisplayNameStyles

Bases: Model

The font, effect and colors a user's display name is drawn with.

font_id instance-attribute

font_id: int

effect_id instance-attribute

effect_id: int

colors instance-attribute

colors: tuple[int, ...]

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

User

Bases: PartialUser

A Discord user or bot account.

discriminator instance-attribute

discriminator: str

global_name instance-attribute

global_name: str | None

system class-attribute instance-attribute

system: bool = False

banner class-attribute instance-attribute

banner: str | None = None

accent_color class-attribute instance-attribute

accent_color: int | None = None

public_flags class-attribute instance-attribute

public_flags: UserFlags = UserFlags(0)

avatar_decoration_data class-attribute instance-attribute

avatar_decoration_data: AvatarDecorationData | None = None

collectibles class-attribute instance-attribute

collectibles: Collectibles | None = None

primary_guild class-attribute instance-attribute

primary_guild: PrimaryGuild | None = None

display_name_styles class-attribute instance-attribute

display_name_styles: DisplayNameStyles | None = None

display_name property

display_name: str

created_at property

created_at: datetime

When the object was created, in UTC, read from its id.

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

id instance-attribute

id: int

username instance-attribute

username: str

avatar instance-attribute

avatar: str | None

bot class-attribute instance-attribute

bot: bool = False

mention property

mention: str

CurrentUser

Bases: User

The bot's own user, with the fields only the account's owner sees.

mfa_enabled class-attribute instance-attribute

mfa_enabled: bool | None = None

locale class-attribute instance-attribute

locale: Locale | None = None

verified class-attribute instance-attribute

verified: bool | None = None

email class-attribute instance-attribute

email: str | None = None

flags class-attribute instance-attribute

flags: UserFlags = UserFlags(0)

premium_type class-attribute instance-attribute

premium_type: PremiumType | None = None

created_at property

created_at: datetime

When the object was created, in UTC, read from its id.

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

id instance-attribute

id: int

username instance-attribute

username: str

avatar instance-attribute

avatar: str | None

bot class-attribute instance-attribute

bot: bool = False

mention property

mention: str

display_name property

display_name: str

discriminator instance-attribute

discriminator: str

global_name instance-attribute

global_name: str | None

system class-attribute instance-attribute

system: bool = False

banner class-attribute instance-attribute

banner: str | None = None

accent_color class-attribute instance-attribute

accent_color: int | None = None

public_flags class-attribute instance-attribute

public_flags: UserFlags = UserFlags(0)

avatar_decoration_data class-attribute instance-attribute

avatar_decoration_data: AvatarDecorationData | None = None

collectibles class-attribute instance-attribute

collectibles: Collectibles | None = None

primary_guild class-attribute instance-attribute

primary_guild: PrimaryGuild | None = None

display_name_styles class-attribute instance-attribute

display_name_styles: DisplayNameStyles | None = None

bostie.models.presence

PresenceUser

Bases: Model, Snowflake

The user of a presence: only id is sure to be sent.

id instance-attribute

id: int

username class-attribute instance-attribute

username: str | None = None

discriminator class-attribute instance-attribute

discriminator: str | None = None

global_name class-attribute instance-attribute

global_name: str | None = None

avatar class-attribute instance-attribute

avatar: str | None = None

bot class-attribute instance-attribute

bot: bool | None = None

system class-attribute instance-attribute

system: bool | None = None

banner class-attribute instance-attribute

banner: str | None = None

accent_color class-attribute instance-attribute

accent_color: int | None = None

public_flags class-attribute instance-attribute

public_flags: UserFlags | None = None

created_at property

created_at: datetime

When the object was created, in UTC, read from its id.

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

ClientStatus

Bases: Model

A user's status on each platform with an active session.

desktop class-attribute instance-attribute

desktop: Status | None = None

mobile class-attribute instance-attribute

mobile: Status | None = None

web class-attribute instance-attribute

web: Status | None = None

vr class-attribute instance-attribute

vr: Status | None = None

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

ActivityTimestamps

Bases: Model

Unix times in milliseconds.

start class-attribute instance-attribute

start: int | None = None

end class-attribute instance-attribute

end: int | None = None

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

ActivityEmoji

Bases: Model, MaybeSnowflake

name instance-attribute

name: str

id class-attribute instance-attribute

id: int | None = None

animated class-attribute instance-attribute

animated: bool = False

created_at property

created_at: datetime | None

When the object was created, in UTC, or None without an id.

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

ActivityParty

Bases: Model

id class-attribute instance-attribute

id: str | None = None

size class-attribute instance-attribute

size: tuple[int, int] | None = None

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

ActivityAssets

Bases: Model

large_image class-attribute instance-attribute

large_image: str | None = None

large_text class-attribute instance-attribute

large_text: str | None = None

large_url class-attribute instance-attribute

large_url: str | None = None

small_image class-attribute instance-attribute

small_image: str | None = None

small_text class-attribute instance-attribute

small_text: str | None = None

small_url class-attribute instance-attribute

small_url: str | None = None

invite_cover_image class-attribute instance-attribute

invite_cover_image: str | None = None

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

ActivitySecrets

Bases: Model

Rich Presence secrets, kept out of the repr.

join class-attribute instance-attribute

join: str | None = None

spectate class-attribute instance-attribute

spectate: str | None = None

match class-attribute instance-attribute

match: str | None = None

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

Activity

Bases: Model

An activity; created_at is in unix milliseconds and buttons holds labels.

name instance-attribute

name: str

type instance-attribute

url class-attribute instance-attribute

url: str | None = None

created_at instance-attribute

created_at: int

timestamps class-attribute instance-attribute

timestamps: ActivityTimestamps | None = None

application_id class-attribute instance-attribute

application_id: int | None = None

status_display_type class-attribute instance-attribute

status_display_type: StatusDisplayType | None = None

details class-attribute instance-attribute

details: str | None = None

details_url class-attribute instance-attribute

details_url: str | None = None

state class-attribute instance-attribute

state: str | None = None

state_url class-attribute instance-attribute

state_url: str | None = None

emoji class-attribute instance-attribute

emoji: ActivityEmoji | None = None

party class-attribute instance-attribute

party: ActivityParty | None = None

assets class-attribute instance-attribute

assets: ActivityAssets | None = None

secrets class-attribute instance-attribute

secrets: ActivitySecrets | None = None

instance class-attribute instance-attribute

instance: bool = False

flags class-attribute instance-attribute

buttons class-attribute instance-attribute

buttons: tuple[str, ...] = ()

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

Presence

Bases: Model

A user's status and activities in a guild.

user instance-attribute

status instance-attribute

status: Status

activities instance-attribute

activities: tuple[Activity, ...]

client_status instance-attribute

client_status: ClientStatus

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

bostie.models.oauth2

AccessToken

Bases: Model

An OAuth2 access token; scope lists the granted scopes, space-separated.

A code grant with the bot scope also returns the guild the bot joined, and one with webhook.incoming the webhook it created.

access_token instance-attribute

access_token: str

token_type instance-attribute

token_type: str

expires_in instance-attribute

expires_in: int

scope instance-attribute

scope: str

refresh_token class-attribute instance-attribute

refresh_token: str | None = None

id_token class-attribute instance-attribute

id_token: str | None = None

guild class-attribute instance-attribute

guild: Guild | None = None

webhook class-attribute instance-attribute

webhook: Webhook | None = None

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

Authorization

Bases: Model

What an access token grants; user comes with the identify scope.

application instance-attribute

application: PartialApplication

scopes instance-attribute

scopes: tuple[OAuth2Scope, ...]

expires instance-attribute

expires: datetime

user class-attribute instance-attribute

user: User | None = None

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

Connection

Bases: Model

An account on another service that the user linked to Discord.

id instance-attribute

id: str

name instance-attribute

name: str

type instance-attribute

revoked class-attribute instance-attribute

revoked: bool = False

integrations class-attribute instance-attribute

integrations: tuple[PartialIntegration, ...] = ()

verified instance-attribute

verified: bool

friend_sync instance-attribute

friend_sync: bool

show_activity instance-attribute

show_activity: bool
two_way_link: bool

visibility instance-attribute

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

ApplicationRoleConnection

Bases: Model

The user's values for the app's linked role metadata, as strings.

platform_name class-attribute instance-attribute

platform_name: str | None = None

platform_username class-attribute instance-attribute

platform_username: str | None = None

metadata class-attribute instance-attribute

metadata: dict[str, str] = {}

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

bostie.models.webhook

WebhookSourceGuild

Bases: Model, Snowflake

The guild of the announcement channel a webhook follows.

id instance-attribute

id: int

name instance-attribute

name: str

icon instance-attribute

icon: str | None

created_at property

created_at: datetime

When the object was created, in UTC, read from its id.

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

WebhookSourceChannel

Bases: Model, Snowflake

The announcement channel a webhook follows.

id instance-attribute

id: int

name instance-attribute

name: str

created_at property

created_at: datetime

When the object was created, in UTC, read from its id.

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.

Webhook

Bases: Model, Snowflake

A webhook; token and url only come with incoming webhooks.

id instance-attribute

id: int

type instance-attribute

guild_id class-attribute instance-attribute

guild_id: int | None = None

channel_id instance-attribute

channel_id: int | None

user class-attribute instance-attribute

user: User | None = None

name instance-attribute

name: str | None

avatar instance-attribute

avatar: str | None

token class-attribute instance-attribute

token: str | None = None

application_id instance-attribute

application_id: int | None

source_guild class-attribute instance-attribute

source_guild: WebhookSourceGuild | None = None

source_channel class-attribute instance-attribute

source_channel: WebhookSourceChannel | None = None

url class-attribute instance-attribute

url: str | None = None

created_at property

created_at: datetime

When the object was created, in UTC, read from its id.

raw_json class-attribute instance-attribute

raw_json: bytes | None = msgspec.field(default=None, name='__bostie_raw__')

raw property

raw: Any

The payload this object was received as, or None for nested objects.