Keep getting 'x is not a function' error in Discord.js broadcast

213 Views Asked by At

I keep getting an 'x is not a function' error and can't figure out what's causing it.

I've tried attaching the Playlist Manager to the StreamData and it still won't accept it.

The stream data is being returned correctly in the on finish emit except the PlaylistManager is an empty object, and when it gets to the line that calls the PlaylistManager, it says is not a function.

// From The Stream Manager File
PlaylistManager = require('../Playlists/PlaylistManager')
const Streams = new Map()
const addFinishListener = function (StreamData) {
    StreamData.stream.on('finish', async () => {
        console.log("Song Ended. Emitting finish. Asking the PlaylistManager to Play the Next Track...")
        StreamData.PlaylistManager.play_next_track(StreamData)
    })
}
// [Create New Stream]
// Plays the next when stream emites finished.
const createNewStream = function (Broadcast, PlaylistName, track) {
    const stream = yt(track.url, request_options)
    broadcast = Broadcast.play(stream)
    let StreamData = {
        stream,
        track,
        broadcast,
        PlaylistName
    }
    StreamData.PlaylistManager = PlaylistManager

    addFinishListener(StreamData)
    Streams.set(PlaylistName, StreamData)
    return stream;
}

The error :

/// The Output:
Song Ended. Emitting finish. Asking the PlaylistManager to Play the Next Track...
(node:2432) UnhandledPromiseRejectionWarning: TypeError: StreamData.PlaylistManager.play_next_track is not a function
    at PassThrough.<anonymous> (C:\Users\jayca\Documents\Code\MyNextDiscordBot\src\service\broadcast\Streams\StreamManager.js:27:36)
    at PassThrough.emit (events.js:327:22)
    at Object.debug (C:\Users\jayca\Documents\Code\MyNextDiscordBot\src\service\broadcast\Streams\StreamManager.js:52:23)
    at processCommand (C:\Users\jayca\Documents\Code\MyNextDiscordBot\src\service\channel\bot-commands.js:27:27)
    at Object.on (C:\Users\jayca\Documents\Code\MyNextDiscordBot\src\service\channel\bot-commands.js:15:9)
    at C:\Users\jayca\Documents\Code\MyNextDiscordBot\src\service\onMessage.js:11:21
    at Array.forEach (<anonymous>)
    at Client.<anonymous> (C:\Users\jayca\Documents\Code\MyNextDiscordBot\src\service\onMessage.js:9:18)
    at Client.emit (events.js:315:20)
    at MessageCreateAction.handle (C:\Users\jayca\Documents\Code\MyNextDiscordBot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
0

There are 0 best solutions below