Files
fluxer/packages/constants/src/GatewayConstants.ts
T

76 lines
2.5 KiB
TypeScript

// SPDX-License-Identifier: AGPL-3.0-or-later
import type {ValueOf} from '@fluxer/constants/src/ValueOf';
export const GatewayOpcodes = {
DISPATCH: 0,
HEARTBEAT: 1,
IDENTIFY: 2,
PRESENCE_UPDATE: 3,
VOICE_STATE_UPDATE: 4,
VOICE_SERVER_PING: 5,
RESUME: 6,
RECONNECT: 7,
REQUEST_GUILD_MEMBERS: 8,
INVALID_SESSION: 9,
HELLO: 10,
HEARTBEAT_ACK: 11,
GATEWAY_ERROR: 12,
VOICE_SIGNAL: 13,
LAZY_REQUEST: 14,
REQUEST_GUILD_COUNTS: 15,
REQUEST_CHANNEL_MEMBER_COUNTS: 16,
REQUEST_FORUM_UNREADS: 28,
} as const;
export const LARGE_GUILD_THRESHOLD = 250;
export const MEMBER_LIST_RANGE_MAX_END = 100000;
export const MEMBER_LIST_RANGE_MAX_SPAN = 99;
export const MEMBER_LIST_RANGE_PAGE_SIZE = MEMBER_LIST_RANGE_MAX_SPAN + 1;
export const MEMBER_LIST_RANGE_WINDOW_OVERSCAN_PAGES = 1;
export const GatewayIdentifyFlags = {
DEBOUNCE_MESSAGE_REACTIONS: 1 << 1,
CHANNEL_THREADS: 1 << 2,
} as const;
export const GatewayCloseCodes = {
UNKNOWN_ERROR: 4000,
UNKNOWN_OPCODE: 4001,
DECODE_ERROR: 4002,
NOT_AUTHENTICATED: 4003,
AUTHENTICATION_FAILED: 4004,
ALREADY_AUTHENTICATED: 4005,
INVALID_SEQ: 4007,
RATE_LIMITED: 4008,
SESSION_TIMEOUT: 4009,
INVALID_SHARD: 4010,
SHARDING_REQUIRED: 4011,
INVALID_API_VERSION: 4012,
} as const;
export const GatewayErrorCodes = {
DM_INVALID_CHANNEL_TYPE: 'DM_INVALID_CHANNEL_TYPE',
DM_NOT_RECIPIENT: 'DM_NOT_RECIPIENT',
UNKNOWN_ERROR: 'UNKNOWN_ERROR',
VOICE_CHANNEL_FULL: 'VOICE_CHANNEL_FULL',
VOICE_CHANNEL_NOT_FOUND: 'VOICE_CHANNEL_NOT_FOUND',
VOICE_CONNECTION_LIMIT_REACHED: 'VOICE_CONNECTION_LIMIT_REACHED',
VOICE_CONNECTION_NOT_FOUND: 'VOICE_CONNECTION_NOT_FOUND',
VOICE_GUILD_ID_MISSING: 'VOICE_GUILD_ID_MISSING',
VOICE_GUILD_NOT_FOUND: 'VOICE_GUILD_NOT_FOUND',
VOICE_INVALID_CHANNEL_ID: 'VOICE_INVALID_CHANNEL_ID',
VOICE_INVALID_CHANNEL_TYPE: 'VOICE_INVALID_CHANNEL_TYPE',
VOICE_INVALID_GUILD_ID: 'VOICE_INVALID_GUILD_ID',
VOICE_INVALID_STATE: 'VOICE_INVALID_STATE',
VOICE_INVALID_USER_ID: 'VOICE_INVALID_USER_ID',
VOICE_MEMBER_NOT_FOUND: 'VOICE_MEMBER_NOT_FOUND',
VOICE_MEMBER_TIMED_OUT: 'VOICE_MEMBER_TIMED_OUT',
VOICE_MISSING_CONNECTION_ID: 'VOICE_MISSING_CONNECTION_ID',
VOICE_P2P_CONSENT_REQUIRED: 'VOICE_P2P_CONSENT_REQUIRED',
VOICE_P2P_UNAVAILABLE: 'VOICE_P2P_UNAVAILABLE',
VOICE_PERMISSION_DENIED: 'VOICE_PERMISSION_DENIED',
VOICE_TOKEN_FAILED: 'VOICE_TOKEN_FAILED',
VOICE_UNCLAIMED_ACCOUNT: 'VOICE_UNCLAIMED_ACCOUNT',
VOICE_USER_MISMATCH: 'VOICE_USER_MISMATCH',
VOICE_USER_NOT_IN_VOICE: 'VOICE_USER_NOT_IN_VOICE',
} as const;
export type GatewayErrorCode = ValueOf<typeof GatewayErrorCodes>;