mirror of
https://github.com/JonnyBro/JaBa.git
synced 2025-03-29 10:12:00 +05:00
53 lines
1.3 KiB
TypeScript
53 lines
1.3 KiB
TypeScript
export enum ErrorStatusCode {
|
|
STREAM_ERROR = "StreamError",
|
|
AUDIO_PLAYER_ERROR = "AudioPlayerError",
|
|
PLAYER_ERROR = "PlayerError",
|
|
NO_AUDIO_RESOURCE = "NoAudioResource",
|
|
UNKNOWN_GUILD = "UnknownGuild",
|
|
INVALID_ARG_TYPE = "InvalidArgType",
|
|
UNKNOWN_EXTRACTOR = "UnknownExtractor",
|
|
INVALID_EXTRACTOR = "InvalidExtractor",
|
|
INVALID_CHANNEL_TYPE = "InvalidChannelType",
|
|
INVALID_TRACK = "InvalidTrack",
|
|
UNKNOWN_REPEAT_MODE = "UnknownRepeatMode",
|
|
TRACK_NOT_FOUND = "TrackNotFound",
|
|
NO_CONNECTION = "NoConnection",
|
|
DESTROYED_QUEUE = "DestroyedQueue"
|
|
}
|
|
|
|
export class PlayerError extends Error {
|
|
message: string;
|
|
statusCode: ErrorStatusCode;
|
|
createdAt = new Date();
|
|
|
|
constructor(message: string, code: ErrorStatusCode = ErrorStatusCode.PLAYER_ERROR) {
|
|
super();
|
|
|
|
this.message = `[${code}] ${message}`;
|
|
this.statusCode = code;
|
|
this.name = code;
|
|
|
|
Error.captureStackTrace(this);
|
|
}
|
|
|
|
get createdTimestamp() {
|
|
return this.createdAt.getTime();
|
|
}
|
|
|
|
valueOf() {
|
|
return this.statusCode;
|
|
}
|
|
|
|
toJSON() {
|
|
return {
|
|
stack: this.stack,
|
|
code: this.statusCode,
|
|
message: this.message,
|
|
created: this.createdTimestamp
|
|
};
|
|
}
|
|
|
|
toString() {
|
|
return this.stack;
|
|
}
|
|
}
|