feat: Add pm
This commit is contained in:
@@ -9,6 +9,11 @@ import type {
|
||||
import type { VoiceState } from './voice-state.models';
|
||||
import type { BanEntry } from './moderation.models';
|
||||
import type { ChatAttachmentAnnouncement, ChatAttachmentMeta } from './attachment-contracts';
|
||||
import type {
|
||||
DirectMessageEventPayload,
|
||||
DirectMessageMutationEventPayload,
|
||||
DirectMessageStatusEventPayload
|
||||
} from './direct-message-contracts';
|
||||
|
||||
export interface ChatInventoryItem {
|
||||
id: string;
|
||||
@@ -77,6 +82,9 @@ export interface ChatEventBase {
|
||||
bans?: BanEntry[];
|
||||
banOderId?: string;
|
||||
expiresAt?: number;
|
||||
directMessage?: DirectMessageEventPayload;
|
||||
directMessageStatus?: DirectMessageStatusEventPayload;
|
||||
directMessageMutation?: DirectMessageMutationEventPayload;
|
||||
}
|
||||
|
||||
export interface ChatMessageEvent extends ChatEventBase {
|
||||
@@ -360,6 +368,21 @@ export interface ChannelsUpdateEvent extends ChatEventBase {
|
||||
channels: Channel[];
|
||||
}
|
||||
|
||||
export interface DirectMessagePeerEvent extends ChatEventBase {
|
||||
type: 'direct-message';
|
||||
directMessage: DirectMessageEventPayload;
|
||||
}
|
||||
|
||||
export interface DirectMessageStatusPeerEvent extends ChatEventBase {
|
||||
type: 'direct-message-status';
|
||||
directMessageStatus: DirectMessageStatusEventPayload;
|
||||
}
|
||||
|
||||
export interface DirectMessageMutationPeerEvent extends ChatEventBase {
|
||||
type: 'direct-message-mutation';
|
||||
directMessageMutation: DirectMessageMutationEventPayload;
|
||||
}
|
||||
|
||||
/** Discriminated union of all P2P chat events. Narrow via `event.type`. */
|
||||
export type ChatEvent =
|
||||
| ChatMessageEvent
|
||||
@@ -408,7 +431,10 @@ export type ChatEvent =
|
||||
| KickEvent
|
||||
| BanEvent
|
||||
| UnbanEvent
|
||||
| ChannelsUpdateEvent;
|
||||
| ChannelsUpdateEvent
|
||||
| DirectMessagePeerEvent
|
||||
| DirectMessageStatusPeerEvent
|
||||
| DirectMessageMutationPeerEvent;
|
||||
|
||||
/** All possible `type` values, derived from the union. */
|
||||
export type ChatEventType = ChatEvent['type'];
|
||||
|
||||
Reference in New Issue
Block a user