ziplayer 0.2.7-dev.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/AI-Guide.md +624 -607
  2. package/README.md +526 -524
  3. package/dist/plugins/index.d.ts +62 -12
  4. package/dist/plugins/index.d.ts.map +1 -1
  5. package/dist/plugins/index.js +497 -57
  6. package/dist/plugins/index.js.map +1 -1
  7. package/dist/structures/PersistenceManager.d.ts +96 -0
  8. package/dist/structures/PersistenceManager.d.ts.map +1 -0
  9. package/dist/structures/PersistenceManager.js +1008 -0
  10. package/dist/structures/PersistenceManager.js.map +1 -0
  11. package/dist/structures/Player.d.ts +109 -18
  12. package/dist/structures/Player.d.ts.map +1 -1
  13. package/dist/structures/Player.js +902 -182
  14. package/dist/structures/Player.js.map +1 -1
  15. package/dist/structures/PlayerManager.d.ts +1 -22
  16. package/dist/structures/PlayerManager.d.ts.map +1 -1
  17. package/dist/structures/PlayerManager.js +1 -73
  18. package/dist/structures/PlayerManager.js.map +1 -1
  19. package/dist/structures/StreamManager.d.ts +137 -0
  20. package/dist/structures/StreamManager.d.ts.map +1 -0
  21. package/dist/structures/StreamManager.js +420 -0
  22. package/dist/structures/StreamManager.js.map +1 -0
  23. package/dist/types/index.d.ts +149 -16
  24. package/dist/types/index.d.ts.map +1 -1
  25. package/dist/types/index.js +0 -1
  26. package/dist/types/index.js.map +1 -1
  27. package/dist/types/persistence.d.ts +3 -2
  28. package/dist/types/persistence.d.ts.map +1 -1
  29. package/package.json +47 -47
  30. package/src/extensions/BaseExtension.ts +36 -36
  31. package/src/extensions/index.ts +473 -473
  32. package/src/index.ts +16 -16
  33. package/src/plugins/BasePlugin.ts +27 -27
  34. package/src/plugins/index.ts +950 -403
  35. package/src/structures/FilterManager.ts +303 -303
  36. package/src/structures/Player.ts +2797 -1970
  37. package/src/structures/PlayerManager.ts +725 -822
  38. package/src/structures/Queue.ts +599 -599
  39. package/src/structures/StreamManager.ts +524 -0
  40. package/src/types/extension.ts +129 -129
  41. package/src/types/fillter.ts +264 -264
  42. package/src/types/index.ts +548 -415
  43. package/src/types/plugin.ts +59 -59
  44. package/src/utils/timeout.ts +10 -10
  45. package/tsconfig.json +22 -22
  46. package/src/persistence/PersistenceManager.ts +0 -1077
  47. package/src/types/persistence.ts +0 -85
@@ -1,85 +0,0 @@
1
- import type { Track, LoopMode, PlayerOptions, VoiceChannel } from "../types";
2
-
3
- export interface SerializedTrack {
4
- id: string;
5
- title: string;
6
- url: string;
7
- source: string;
8
- duration: number;
9
- thumbnail?: string;
10
- author?: string;
11
- requestedBy?: string;
12
- isLive?: boolean;
13
- artwork?: string;
14
- [key: string]: any;
15
- }
16
-
17
- export interface SerializedQueue {
18
- tracks: SerializedTrack[];
19
- current: SerializedTrack | null;
20
- history: SerializedTrack[];
21
- loopMode: LoopMode;
22
- autoPlay: boolean;
23
- position?: number;
24
- }
25
-
26
- export interface SerializedPlayer {
27
- guildId: string;
28
- queue: SerializedQueue;
29
- volume: number;
30
- isPlaying: boolean;
31
- isPaused: boolean;
32
- options: PlayerOptions;
33
- filters?: string[];
34
- lastUpdate: number;
35
- version: string;
36
- wasDestroyed?: boolean; // Track if player was destroyed
37
- destroyedAt?: number; // When it was destroyed
38
- channelConnection?: VoiceChannel; // Store channel connection data for auto-reconnect
39
- }
40
-
41
- export interface PersistenceOptions {
42
- enabled: boolean;
43
- provider?: "file" | "redis" | "database";
44
- saveInterval?: number;
45
- autoLoad?: boolean;
46
- autoRestoreOnRestart?: boolean; // Auto restore after restart
47
- autoConnect?: boolean; // Auto connect to saved voice channel on restore
48
- restoreDelay?: number; // Delay before restoring (ms)
49
- maxBackups?: number; // Max backups per player (default: 5)
50
- maxTotalBackups?: number; // Max total backups across all players
51
- autoCleanupBackupsOnStart?: boolean; // Auto delete old backups on restart
52
- backupRetentionDays?: number; // Delete backups older than N days
53
- compress?: boolean;
54
- filePath?: string;
55
- redisUrl?: string;
56
- redisPrefix?: string;
57
-
58
- // Database provider functions (different signatures)
59
- save?: ((key: string, data: any) => Promise<void>) | ((data: any) => Promise<void>);
60
- load?: ((key: string) => Promise<any>) | (() => Promise<any>);
61
- delete?: (key: string) => Promise<void>;
62
- list?: () => Promise<string[]>;
63
- }
64
-
65
- export interface PersistenceProvider {
66
- save(key: string, data: any): Promise<void>;
67
- load(key: string): Promise<any>;
68
- delete(key: string): Promise<void>;
69
- list(): Promise<string[]>;
70
- }
71
-
72
- // Track destroyed players for restart detection
73
- export interface DestroyedRecord {
74
- guildId: string;
75
- destroyedAt: number;
76
- reason?: string;
77
- }
78
-
79
- export interface BackupInfo {
80
- key: string;
81
- path: string;
82
- timestamp: number;
83
- size: number;
84
- isCompressed: boolean;
85
- }