first commit

This commit is contained in:
2025-01-31 01:51:35 +01:00
commit 8bd42147c5
138 changed files with 424730 additions and 0 deletions

73
src/types/events.ts Normal file
View File

@@ -0,0 +1,73 @@
import { ChannelProperties, ClientProperties, Invoker } from "../index";
export interface LogEvent {
type: string;
payload: {
channel: string;
complete: string;
id: number;
level: number;
message: string;
time: string;
};
}
export interface TalkStatusChangedEvent {
type: string;
payload: {
clientId: number;
connectionId: number;
isWhisper: boolean;
status: number;
};
}
export interface ChannelPropertiesUpdatedEvent {
type: string;
payload: {
channelId: string;
connectionId: number;
properties: ChannelProperties;
};
}
export interface ClientMovedEvent {
type: string;
payload: {
clientId: number;
connectionId: number;
hotReload: boolean;
newChannelId: string;
oldChannelId: string;
properties: ClientProperties;
};
}
export interface ChannelEditedEvent {
type: string;
payload: {
channelId: string;
connectionId: number;
invoker: Invoker;
properties: ChannelProperties;
};
}
export interface ClientPropertiesUpdatedEvent {
type: string;
payload: {
clientId: number;
connectionId: number;
properties: ClientProperties;
};
}
export interface ClientSelfPropertiesUpdatedEvent {
type: string;
payload: {
connectionId: number;
flag: string;
newValue: string;
oldValue: string;
};
}

222
src/types/objects.ts Normal file
View File

@@ -0,0 +1,222 @@
export interface AuthOutgoing {
type: string;
payload: {
identifier: string;
version: string;
name: string;
description: string;
content: {
apiKey: string;
};
};
}
export interface Channel {
id: string;
order: string;
parentId: string;
properties: ChannelProperties;
}
export interface Connection {
channelInfos: ChannelInfos;
clientId: number;
clientInfos: Client[];
id: number;
status: number;
properties: ServerProperties;
}
export interface ChannelProperties {
bannerGfxUrl: string;
bannerMode: number;
codec: number;
codecIsUnencrypted: boolean;
codecLatencyFactor: number;
codecQuality: number;
deleteDelay: number;
description: string;
flagAreSubscribed: boolean;
flagDefault: boolean;
flagMaxclientsUnlimited: boolean;
flagMaxfamilyclientsInherited: boolean;
flagMaxfamilyclientsUnlimited: boolean;
flagPassword: boolean;
flagPermanent: boolean;
flagSemiPermanent: boolean;
forcedSilence: boolean;
iconId: number;
maxclients: number;
maxfamilyclients: number;
name: string;
namePhonetic: string;
neededTalkPower: number;
order: string;
permissionHints: number;
storageQuota: number;
topic: string;
uniqueIdentifier: string;
}
export interface ChannelInfos {
rootChannels: Channel[];
subChannels: {
[key: string]: Channel[];
};
}
export interface Client {
channelId: string;
id: number;
properties: ClientProperties;
}
export interface ClientProperties {
away: boolean;
awayMessage: string;
badges: string;
channelGroupId: string;
channelGroupInheritedChannelId: string;
country: string;
created: number;
databaseId: string;
defaultChannel: string;
defaultChannelPassword: string;
defaultToken: string;
description: string;
flagAvatar: string;
flagTalking: boolean;
iconId: number;
idleTime: number;
inputDeactivated: boolean;
inputHardware: boolean;
inputMuted: boolean;
integrations: string;
isChannelCommander: boolean;
isMuted: boolean;
isPrioritySpeaker: boolean;
isRecording: boolean;
isTalker: boolean;
lastConnected: number;
metaData: string;
monthBytesDownloaded: number;
monthBytesUploaded: number;
myteamspeakAvatar: string;
myteamspeakId: string;
neededServerQueryViewPower: number;
nickname: string;
nicknamePhonetic: string;
outputHardware: boolean;
outputMuted: boolean;
outputOnlyMuted: boolean;
permissionHints: number;
platform: string;
serverGroups: string;
serverPassword: string;
signedBadges: string;
talkPower: number;
talkRequest: number;
talkRequestMsg: string;
totalBytesDownloaded: number;
totalBytesUploaded: number;
totalConnections: number;
type: number;
uniqueIdentifier: string;
unreadMessages: number;
userTag: string;
version: string;
volumeModificator: number;
}
export interface ServerProperties {
antiFloodPointsNeededCommandBlock: number;
antiFloodPointsNeededIpBlock: number;
antiFloodPointsNeededPluginBlock: number;
antiFloodPointsTickReduce: number;
askForPrivilegeKeyAfterNickname: boolean;
askForPrivilegeKeyForChannelCreation: boolean;
askForPrivilegeKeyForModify: boolean;
awayMessage: string;
badges: string;
channelGroupId: string;
channelGroupInheritedChannelId: string;
clientType: number;
connectionBandwidthReceived: number;
connectionBandwidthSent: number;
connectionClientIp: string;
connectionConnectedTime: number;
connectionFiletransferBandwidthReceived: number;
connectionFiletransferBandwidthSent: number;
connectionPacketloss: number;
connectionPing: number;
connectionPacketsReceived: number;
connectionPacketsSent: number;
connectionPort: number;
connectionQueryBandwidthReceived: number;
connectionQueryBandwidthSent: number;
connectionServerIp: string;
connectionServerPort: number;
connectionThrottleBandwidthReceived: number;
connectionThrottleBandwidthSent: number;
country: string;
created: number;
defaultChannel: string;
defaultChannelPassword: string;
defaultServerGroup: string;
defaultToken: string;
flagAvatar: string;
iconId: number;
inputHardware: boolean;
inputMuted: boolean;
isChannelCommander: boolean;
isMuted: boolean;
isPrioritySpeaker: boolean;
isRecording: boolean;
isTalker: boolean;
isTts: boolean;
metaData: string;
monthBytesDownloaded: number;
monthBytesUploaded: number;
myteamspeakAvatar: string;
myteamspeakId: string;
neededServerQueryViewPower: number;
nickname: string;
nicknamePhonetic: string;
outputHardware: boolean;
outputMuted: boolean;
outputOnlyMuted: boolean;
permissionHints: number;
platform: string;
serverPassword: string;
signedBadges: string;
talkPower: number;
talkRequest: number;
talkRequestMsg: string;
totalBytesDownloaded: number;
totalBytesUploaded: number;
totalConnections: number;
type: number;
uniqueIdentifier: string;
unreadMessages: number;
userTag: string;
version: string;
volumeModificator: number;
}
export interface AuthIncoming {
status: {
code: number;
message: string;
};
type: string;
payload: {
apiKey: string;
connections: Connection[];
};
}
export interface Invoker {
id: number;
name: string;
uniqueIdentifier: string;
}