magmastream 2.9.2-dev.3 → 2.9.2-dev.4
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.
- package/dist/index.d.ts +31 -16
- package/dist/structures/Node.js +5 -4
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Collection } from '@discordjs/collection';
|
|
2
2
|
import { GatewayVoiceStateUpdate } from 'discord-api-types/v10';
|
|
3
3
|
import { EventEmitter } from 'events';
|
|
4
|
-
import {
|
|
4
|
+
import { User, ClientUser, Message, Client } from 'discord.js';
|
|
5
|
+
import { User as User$1, Message as Message$1, Client as Client$2 } from 'oceanic.js';
|
|
6
|
+
import { User as User$2, Message as Message$2 } from 'detritus-client/lib/structures';
|
|
7
|
+
import { User as User$3, Message as Message$3, Client as Client$1 } from 'eris';
|
|
8
|
+
import { User as User$4, ClientUser as ClientUser$1, Message as Message$4, Client as Client$3, WorkerClient } from 'seyfert';
|
|
5
9
|
import WebSocket$1, { WebSocket } from 'ws';
|
|
6
10
|
import { Redis } from 'ioredis';
|
|
7
|
-
import { Client as Client$1, User as User$1 } from 'eris';
|
|
8
11
|
import { ClusterClient, ShardClient } from 'detritus-client';
|
|
9
|
-
import { Client as Client$2, User as User$2 } from 'oceanic.js';
|
|
10
|
-
import { Client as Client$3, WorkerClient, User as User$3 } from 'seyfert';
|
|
11
12
|
|
|
12
13
|
/** Represents an equalizer band. */
|
|
13
14
|
interface Band {
|
|
@@ -961,6 +962,20 @@ interface PortableUser {
|
|
|
961
962
|
id: string;
|
|
962
963
|
username?: string;
|
|
963
964
|
}
|
|
965
|
+
/**
|
|
966
|
+
* Any user
|
|
967
|
+
*/
|
|
968
|
+
type AnyUser = PortableUser | User | ClientUser | User$1 | User$2 | User$3 | User$4 | ClientUser$1;
|
|
969
|
+
/**
|
|
970
|
+
* Portable Message
|
|
971
|
+
*/
|
|
972
|
+
interface PortableMessage {
|
|
973
|
+
id: string;
|
|
974
|
+
}
|
|
975
|
+
/**
|
|
976
|
+
* Any message
|
|
977
|
+
*/
|
|
978
|
+
type AnyMessage = PortableMessage | Message | Message$1 | Message$2 | Message$3 | Message$4;
|
|
964
979
|
/**
|
|
965
980
|
* Discord Packet
|
|
966
981
|
*/
|
|
@@ -1166,7 +1181,7 @@ interface Track {
|
|
|
1166
1181
|
/** The thumbnail of the track or null if it's a unsupported source. */
|
|
1167
1182
|
readonly thumbnail: string | null;
|
|
1168
1183
|
/** The user that requested the track. */
|
|
1169
|
-
requester?:
|
|
1184
|
+
requester?: AnyUser;
|
|
1170
1185
|
/** Displays the track thumbnail with optional size or null if it's a unsupported source. */
|
|
1171
1186
|
displayThumbnail(size?: Sizes): string;
|
|
1172
1187
|
/** Additional track info provided by plugins. */
|
|
@@ -1351,7 +1366,7 @@ interface PlaylistData {
|
|
|
1351
1366
|
/** The playlist name. */
|
|
1352
1367
|
name: string;
|
|
1353
1368
|
/** Requester of playlist. */
|
|
1354
|
-
requester:
|
|
1369
|
+
requester: AnyUser;
|
|
1355
1370
|
/** More playlist information. */
|
|
1356
1371
|
playlistInfo: PlaylistInfoData[];
|
|
1357
1372
|
/** The length of the playlist. */
|
|
@@ -2047,7 +2062,7 @@ declare class Player {
|
|
|
2047
2062
|
/** The text channel for the player. */
|
|
2048
2063
|
textChannelId: string | null;
|
|
2049
2064
|
/**The now playing message. */
|
|
2050
|
-
nowPlayingMessage?:
|
|
2065
|
+
nowPlayingMessage?: AnyMessage;
|
|
2051
2066
|
/** The current state of the player. */
|
|
2052
2067
|
state: StateTypes;
|
|
2053
2068
|
/** The equalizer bands array. */
|
|
@@ -2146,7 +2161,7 @@ declare class Player {
|
|
|
2146
2161
|
* @param message - The message of the now playing message.
|
|
2147
2162
|
* @returns The now playing message.
|
|
2148
2163
|
*/
|
|
2149
|
-
setNowPlayingMessage
|
|
2164
|
+
setNowPlayingMessage(message: AnyMessage): AnyMessage;
|
|
2150
2165
|
/**
|
|
2151
2166
|
* Plays the next track.
|
|
2152
2167
|
*
|
|
@@ -3076,7 +3091,7 @@ declare class Manager extends EventEmitter {
|
|
|
3076
3091
|
* Resolves a PortableUser or ID to a real user object.
|
|
3077
3092
|
* Can be overridden by wrapper managers to return wrapper-specific User classes.
|
|
3078
3093
|
*/
|
|
3079
|
-
resolveUser(user:
|
|
3094
|
+
resolveUser(user: AnyUser | string): Promise<AnyUser>;
|
|
3080
3095
|
}
|
|
3081
3096
|
|
|
3082
3097
|
declare class Filters {
|
|
@@ -3455,7 +3470,7 @@ declare abstract class TrackUtils {
|
|
|
3455
3470
|
* @param requester The user who requested the track, if any.
|
|
3456
3471
|
* @returns The built Track.
|
|
3457
3472
|
*/
|
|
3458
|
-
static build<T =
|
|
3473
|
+
static build<T = AnyUser>(data: TrackData, requester?: T): Track;
|
|
3459
3474
|
/**
|
|
3460
3475
|
* Validates a search result.
|
|
3461
3476
|
* @param result The search result to validate.
|
|
@@ -3591,7 +3606,7 @@ declare class DiscordJSManager extends Manager {
|
|
|
3591
3606
|
readonly client: Client;
|
|
3592
3607
|
constructor(client: Client, options?: ManagerOptions);
|
|
3593
3608
|
protected send(packet: GatewayVoiceStateUpdate): void;
|
|
3594
|
-
resolveUser(user:
|
|
3609
|
+
resolveUser(user: AnyUser | string): Promise<User | AnyUser>;
|
|
3595
3610
|
}
|
|
3596
3611
|
|
|
3597
3612
|
/**
|
|
@@ -3601,7 +3616,7 @@ declare class ErisManager extends Manager {
|
|
|
3601
3616
|
readonly client: Client$1;
|
|
3602
3617
|
constructor(client: Client$1, options?: ManagerOptions);
|
|
3603
3618
|
protected send(packet: GatewayVoiceStateUpdate): void;
|
|
3604
|
-
resolveUser(user:
|
|
3619
|
+
resolveUser(user: AnyUser | string): Promise<User$3 | AnyUser>;
|
|
3605
3620
|
}
|
|
3606
3621
|
|
|
3607
3622
|
/**
|
|
@@ -3611,7 +3626,7 @@ declare class DetritusManager extends Manager {
|
|
|
3611
3626
|
readonly client: ClusterClient | ShardClient;
|
|
3612
3627
|
constructor(client: ClusterClient | ShardClient, options?: ManagerOptions);
|
|
3613
3628
|
protected send(packet: GatewayVoiceStateUpdate): void;
|
|
3614
|
-
resolveUser(user:
|
|
3629
|
+
resolveUser(user: AnyUser | string): Promise<AnyUser>;
|
|
3615
3630
|
}
|
|
3616
3631
|
|
|
3617
3632
|
/**
|
|
@@ -3621,7 +3636,7 @@ declare class OceanicManager extends Manager {
|
|
|
3621
3636
|
readonly client: Client$2;
|
|
3622
3637
|
constructor(client: Client$2, options?: ManagerOptions);
|
|
3623
3638
|
protected send(packet: GatewayVoiceStateUpdate): void;
|
|
3624
|
-
resolveUser(user:
|
|
3639
|
+
resolveUser(user: AnyUser | string): Promise<User$1 | AnyUser>;
|
|
3625
3640
|
}
|
|
3626
3641
|
|
|
3627
3642
|
/**
|
|
@@ -3653,8 +3668,8 @@ declare class SeyfertManager extends Manager {
|
|
|
3653
3668
|
readonly client: Client$3 | WorkerClient;
|
|
3654
3669
|
constructor(client: Client$3 | WorkerClient, options?: ManagerOptions);
|
|
3655
3670
|
protected send(packet: GatewayVoiceStateUpdate): void;
|
|
3656
|
-
resolveUser(user:
|
|
3671
|
+
resolveUser(user: AnyUser | string): Promise<User$4 | AnyUser>;
|
|
3657
3672
|
}
|
|
3658
3673
|
|
|
3659
3674
|
export { AutoPlayPlatform, AutoPlayUtils, AvailableFilters, DetritusManager, DiscordJSManager, ErisManager, Filters, JSONUtils, JsonQueue, LoadTypes, MagmaStreamError, MagmaStreamErrorCode, MagmaStreamErrorNumbers, Manager, ManagerEventTypes, MemoryQueue, Node, OceanicManager, Player, PlayerStateEventTypes, PlayerUtils, Plugin, RedisQueue, Rest, SearchPlatform, SeverityTypes, SeyfertManager, SponsorBlockSegment, StateStorageType, StateTypes, Structure, TrackEndReasonTypes, TrackPartial, TrackSourceTypes, TrackUtils, UseNodeOptions };
|
|
3660
|
-
export type { AlbumSearchResult, ArtistSearchResult, CPUStats, DiscordPacket, DistortionOptions, EndSpeakingEventVoiceReceiver, EndSpeakingEventVoiceReceiverData, EqualizerBand, ErrorOrEmptySearchResult, Exception, Extendable, FrameStats, IQueue, JsonConfig, KaraokeOptions, LavaPlayer, LavalinkInfo, LavalinkResponse, LoadType, Lyrics, LyricsEvent, LyricsEventType, LyricsFoundEvent, LyricsLine, LyricsLineEvent, LyricsNotFoundEvent, ManagerEvents, ManagerInitOptions, ManagerOptions, MemoryStats, NodeLinkGetLyrics, NodeLinkGetLyricsEmpty, NodeLinkGetLyricsError, NodeLinkGetLyricsMultiple, NodeLinkGetLyricsSingle, NodeMessage, NodeOptions, NodeStats, PlayOptions, PlayerEvent, PlayerEventType, PlayerEvents, PlayerOptions, PlayerStateUpdateEvent, PlayerUpdateVoiceState, PlaylistData, PlaylistInfoData, PlaylistRawData, PlaylistSearchResult, PodcastSearchResult, PortableUser, RedisConfig, RestPlayOptions, ReverbOptions, RotationOptions, SearchQuery, SearchResult, SearchSearchResult, Severity, ShortSearchResult, ShowSearchResult, Sizes, SponsorBlockChapterStarted, SponsorBlockChaptersLoaded, SponsorBlockSegmentEventType, SponsorBlockSegmentEvents, SponsorBlockSegmentSkipped, SponsorBlockSegmentsLoaded, StartSpeakingEventVoiceReceiver, StartSpeakingEventVoiceReceiverData, StateStorageOptions, StationSearchResult, TimescaleOptions, Track, TrackData, TrackDataInfo, TrackEndEvent, TrackEndReason, TrackExceptionEvent, TrackPluginInfo, TrackSearchResult, TrackSourceName, TrackStartEvent, TrackStuckEvent, UseNodeOption, VibratoOptions, VoicePacket, VoiceReceiverEvent, VoiceServer, VoiceServerUpdate, VoiceState, WebSocketClosedEvent };
|
|
3675
|
+
export type { AlbumSearchResult, AnyMessage, AnyUser, ArtistSearchResult, CPUStats, DiscordPacket, DistortionOptions, EndSpeakingEventVoiceReceiver, EndSpeakingEventVoiceReceiverData, EqualizerBand, ErrorOrEmptySearchResult, Exception, Extendable, FrameStats, IQueue, JsonConfig, KaraokeOptions, LavaPlayer, LavalinkInfo, LavalinkResponse, LoadType, Lyrics, LyricsEvent, LyricsEventType, LyricsFoundEvent, LyricsLine, LyricsLineEvent, LyricsNotFoundEvent, ManagerEvents, ManagerInitOptions, ManagerOptions, MemoryStats, NodeLinkGetLyrics, NodeLinkGetLyricsEmpty, NodeLinkGetLyricsError, NodeLinkGetLyricsMultiple, NodeLinkGetLyricsSingle, NodeMessage, NodeOptions, NodeStats, PlayOptions, PlayerEvent, PlayerEventType, PlayerEvents, PlayerOptions, PlayerStateUpdateEvent, PlayerUpdateVoiceState, PlaylistData, PlaylistInfoData, PlaylistRawData, PlaylistSearchResult, PodcastSearchResult, PortableMessage, PortableUser, RedisConfig, RestPlayOptions, ReverbOptions, RotationOptions, SearchQuery, SearchResult, SearchSearchResult, Severity, ShortSearchResult, ShowSearchResult, Sizes, SponsorBlockChapterStarted, SponsorBlockChaptersLoaded, SponsorBlockSegmentEventType, SponsorBlockSegmentEvents, SponsorBlockSegmentSkipped, SponsorBlockSegmentsLoaded, StartSpeakingEventVoiceReceiver, StartSpeakingEventVoiceReceiverData, StateStorageOptions, StationSearchResult, TimescaleOptions, Track, TrackData, TrackDataInfo, TrackEndEvent, TrackEndReason, TrackExceptionEvent, TrackPluginInfo, TrackSearchResult, TrackSourceName, TrackStartEvent, TrackStuckEvent, UseNodeOption, VibratoOptions, VoicePacket, VoiceReceiverEvent, VoiceServer, VoiceServerUpdate, VoiceState, WebSocketClosedEvent };
|
package/dist/structures/Node.js
CHANGED
|
@@ -575,8 +575,10 @@ class Node {
|
|
|
575
575
|
this.trackStart(player, track, payload);
|
|
576
576
|
break;
|
|
577
577
|
case "TrackEndEvent":
|
|
578
|
-
if (player?.nowPlayingMessage
|
|
579
|
-
|
|
578
|
+
if (player?.nowPlayingMessage) {
|
|
579
|
+
if ("delete" in player.nowPlayingMessage && typeof player.nowPlayingMessage.delete === "function") {
|
|
580
|
+
await player.nowPlayingMessage.delete().catch(() => { });
|
|
581
|
+
}
|
|
580
582
|
}
|
|
581
583
|
await this.trackEnd(player, track, payload);
|
|
582
584
|
break;
|
|
@@ -662,7 +664,7 @@ class Node {
|
|
|
662
664
|
const previous = await player.queue.getPrevious();
|
|
663
665
|
const current = await player.queue.getCurrent();
|
|
664
666
|
// Only add current to previous if it's not already the newest
|
|
665
|
-
if (!skipFlag && (previous.length === 0 ||
|
|
667
|
+
if (!skipFlag && (previous.length === 0 || previous.at(-1)?.track !== current?.track)) {
|
|
666
668
|
await player.queue.addPrevious(current);
|
|
667
669
|
}
|
|
668
670
|
player.set("skipFlag", false);
|
|
@@ -736,7 +738,6 @@ class Node {
|
|
|
736
738
|
const filteredTracks = tracks.filter((track) => track.identifier !== lastTrack.identifier && track.uri !== lastTrack.uri && normalize(track.title) !== normalize(lastTrack.title));
|
|
737
739
|
if (filteredTracks.length) {
|
|
738
740
|
const randomTrack = filteredTracks[Math.floor(Math.random() * filteredTracks.length)];
|
|
739
|
-
console.log(randomTrack);
|
|
740
741
|
await player.queue.add(randomTrack);
|
|
741
742
|
await player.play();
|
|
742
743
|
return true;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "magmastream",
|
|
3
|
-
"version": "2.9.2-dev.
|
|
3
|
+
"version": "2.9.2-dev.4",
|
|
4
4
|
"description": "A user-friendly Lavalink client designed for NodeJS.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"types": "rtb --dist dist",
|
|
13
13
|
"lint": "eslint src",
|
|
14
14
|
"lint:fix": "eslint --fix src",
|
|
15
|
-
"ci": "run-s lint:fix lint build types"
|
|
15
|
+
"ci": "run-s lint:fix lint build types",
|
|
16
|
+
"release:dev": "npm run ci && npm version prerelease --preid=dev && npm run ci && npm publish --tag dev"
|
|
16
17
|
},
|
|
17
18
|
"devDependencies": {
|
|
18
19
|
"@favware/rollup-type-bundler": "^4.0.0",
|