fix(Presence): cannot receive invisible status (#799)

This commit is contained in:
advaith
2023-07-28 02:48:07 -07:00
committed by GitHub
parent ae8503f0e7
commit 1071d24362
8 changed files with 44 additions and 24 deletions

View File

@@ -79,7 +79,7 @@ export interface GatewayPresenceUpdate {
/**
* Either "idle", "dnd", "online", or "offline"
*/
status?: PresenceUpdateStatus;
status?: PresenceUpdateReceiveStatus;
/**
* User's current activities
*
@@ -94,6 +94,9 @@ export interface GatewayPresenceUpdate {
client_status?: GatewayPresenceClientStatus;
}
/**
* https://discord.com/developers/docs/topics/gateway-events#update-presence-status-types
*/
export enum PresenceUpdateStatus {
Online = 'online',
DoNotDisturb = 'dnd',
@@ -105,6 +108,8 @@ export enum PresenceUpdateStatus {
Offline = 'offline',
}
export type PresenceUpdateReceiveStatus = Exclude<PresenceUpdateStatus, PresenceUpdateStatus.Invisible>;
/**
* https://discord.com/developers/docs/topics/gateway-events#client-status-object
*/
@@ -112,15 +117,15 @@ export interface GatewayPresenceClientStatus {
/**
* The user's status set for an active desktop (Windows, Linux, Mac) application session
*/
desktop?: PresenceUpdateStatus;
desktop?: PresenceUpdateReceiveStatus;
/**
* The user's status set for an active mobile (iOS, Android) application session
*/
mobile?: PresenceUpdateStatus;
mobile?: PresenceUpdateReceiveStatus;
/**
* The user's status set for an active web (browser, bot account) application session
*/
web?: PresenceUpdateStatus;
web?: PresenceUpdateReceiveStatus;
}
/**

View File

@@ -4,7 +4,7 @@
import type { Permissions, Snowflake } from '../../globals.ts';
import type { APIEmoji, APIPartialEmoji } from './emoji.ts';
import type { PresenceUpdateStatus } from './gateway.ts';
import type { PresenceUpdateReceiveStatus } from './gateway.ts';
import type { OAuth2Scopes } from './oauth2.ts';
import type { APIRole } from './permissions.ts';
import type { APISticker } from './sticker.ts';
@@ -903,7 +903,7 @@ export interface APIGuildWidgetMember {
username: string;
discriminator: string;
avatar: string | null;
status: PresenceUpdateStatus;
status: PresenceUpdateReceiveStatus;
activity?: { name: string };
avatar_url: string;
}

View File

@@ -79,7 +79,7 @@ export interface GatewayPresenceUpdate {
/**
* Either "idle", "dnd", "online", or "offline"
*/
status?: PresenceUpdateStatus;
status?: PresenceUpdateReceiveStatus;
/**
* User's current activities
*
@@ -94,6 +94,9 @@ export interface GatewayPresenceUpdate {
client_status?: GatewayPresenceClientStatus;
}
/**
* https://discord.com/developers/docs/topics/gateway-events#update-presence-status-types
*/
export enum PresenceUpdateStatus {
Online = 'online',
DoNotDisturb = 'dnd',
@@ -105,6 +108,8 @@ export enum PresenceUpdateStatus {
Offline = 'offline',
}
export type PresenceUpdateReceiveStatus = Exclude<PresenceUpdateStatus, PresenceUpdateStatus.Invisible>;
/**
* https://discord.com/developers/docs/topics/gateway-events#client-status-object
*/
@@ -112,15 +117,15 @@ export interface GatewayPresenceClientStatus {
/**
* The user's status set for an active desktop (Windows, Linux, Mac) application session
*/
desktop?: PresenceUpdateStatus;
desktop?: PresenceUpdateReceiveStatus;
/**
* The user's status set for an active mobile (iOS, Android) application session
*/
mobile?: PresenceUpdateStatus;
mobile?: PresenceUpdateReceiveStatus;
/**
* The user's status set for an active web (browser, bot account) application session
*/
web?: PresenceUpdateStatus;
web?: PresenceUpdateReceiveStatus;
}
/**

View File

@@ -4,7 +4,7 @@
import type { Permissions, Snowflake } from '../../globals.ts';
import type { APIEmoji, APIPartialEmoji } from './emoji.ts';
import type { PresenceUpdateStatus } from './gateway.ts';
import type { PresenceUpdateReceiveStatus } from './gateway.ts';
import type { OAuth2Scopes } from './oauth2.ts';
import type { APIRole } from './permissions.ts';
import type { APISticker } from './sticker.ts';
@@ -895,7 +895,7 @@ export interface APIGuildWidgetMember {
username: string;
discriminator: string;
avatar: string | null;
status: PresenceUpdateStatus;
status: PresenceUpdateReceiveStatus;
activity?: { name: string };
avatar_url: string;
}

View File

@@ -79,7 +79,7 @@ export interface GatewayPresenceUpdate {
/**
* Either "idle", "dnd", "online", or "offline"
*/
status?: PresenceUpdateStatus;
status?: PresenceUpdateReceiveStatus;
/**
* User's current activities
*
@@ -94,6 +94,9 @@ export interface GatewayPresenceUpdate {
client_status?: GatewayPresenceClientStatus;
}
/**
* https://discord.com/developers/docs/topics/gateway-events#update-presence-status-types
*/
export enum PresenceUpdateStatus {
Online = 'online',
DoNotDisturb = 'dnd',
@@ -105,6 +108,8 @@ export enum PresenceUpdateStatus {
Offline = 'offline',
}
export type PresenceUpdateReceiveStatus = Exclude<PresenceUpdateStatus, PresenceUpdateStatus.Invisible>;
/**
* https://discord.com/developers/docs/topics/gateway-events#client-status-object
*/
@@ -112,15 +117,15 @@ export interface GatewayPresenceClientStatus {
/**
* The user's status set for an active desktop (Windows, Linux, Mac) application session
*/
desktop?: PresenceUpdateStatus;
desktop?: PresenceUpdateReceiveStatus;
/**
* The user's status set for an active mobile (iOS, Android) application session
*/
mobile?: PresenceUpdateStatus;
mobile?: PresenceUpdateReceiveStatus;
/**
* The user's status set for an active web (browser, bot account) application session
*/
web?: PresenceUpdateStatus;
web?: PresenceUpdateReceiveStatus;
}
/**

View File

@@ -4,7 +4,7 @@
import type { Permissions, Snowflake } from '../../globals';
import type { APIEmoji, APIPartialEmoji } from './emoji';
import type { PresenceUpdateStatus } from './gateway';
import type { PresenceUpdateReceiveStatus } from './gateway';
import type { OAuth2Scopes } from './oauth2';
import type { APIRole } from './permissions';
import type { APISticker } from './sticker';
@@ -903,7 +903,7 @@ export interface APIGuildWidgetMember {
username: string;
discriminator: string;
avatar: string | null;
status: PresenceUpdateStatus;
status: PresenceUpdateReceiveStatus;
activity?: { name: string };
avatar_url: string;
}

View File

@@ -79,7 +79,7 @@ export interface GatewayPresenceUpdate {
/**
* Either "idle", "dnd", "online", or "offline"
*/
status?: PresenceUpdateStatus;
status?: PresenceUpdateReceiveStatus;
/**
* User's current activities
*
@@ -94,6 +94,9 @@ export interface GatewayPresenceUpdate {
client_status?: GatewayPresenceClientStatus;
}
/**
* https://discord.com/developers/docs/topics/gateway-events#update-presence-status-types
*/
export enum PresenceUpdateStatus {
Online = 'online',
DoNotDisturb = 'dnd',
@@ -105,6 +108,8 @@ export enum PresenceUpdateStatus {
Offline = 'offline',
}
export type PresenceUpdateReceiveStatus = Exclude<PresenceUpdateStatus, PresenceUpdateStatus.Invisible>;
/**
* https://discord.com/developers/docs/topics/gateway-events#client-status-object
*/
@@ -112,15 +117,15 @@ export interface GatewayPresenceClientStatus {
/**
* The user's status set for an active desktop (Windows, Linux, Mac) application session
*/
desktop?: PresenceUpdateStatus;
desktop?: PresenceUpdateReceiveStatus;
/**
* The user's status set for an active mobile (iOS, Android) application session
*/
mobile?: PresenceUpdateStatus;
mobile?: PresenceUpdateReceiveStatus;
/**
* The user's status set for an active web (browser, bot account) application session
*/
web?: PresenceUpdateStatus;
web?: PresenceUpdateReceiveStatus;
}
/**

View File

@@ -4,7 +4,7 @@
import type { Permissions, Snowflake } from '../../globals';
import type { APIEmoji, APIPartialEmoji } from './emoji';
import type { PresenceUpdateStatus } from './gateway';
import type { PresenceUpdateReceiveStatus } from './gateway';
import type { OAuth2Scopes } from './oauth2';
import type { APIRole } from './permissions';
import type { APISticker } from './sticker';
@@ -895,7 +895,7 @@ export interface APIGuildWidgetMember {
username: string;
discriminator: string;
avatar: string | null;
status: PresenceUpdateStatus;
status: PresenceUpdateReceiveStatus;
activity?: { name: string };
avatar_url: string;
}