Ошибка типа: this.inputMedia.pipe не является функцией - PullRequest
2 голосов
/ 17 марта 2019

У меня бот Discord.Я хочу, чтобы, когда я произнесу одну из парных фраз, он присоединился к пользователю, который отправил голосовой канал сообщения, проиграл случайный звук и ушел.Он использует discord.js и библиотеку pick-random npm.Вот кодИмейте в виду, что в другом файле server.js он требует этот файл и делает client.on('message', randomSound);

const pickRandom = require('pick-random');
const { playUrl } = require('./play-url');

exports.randomSound = function(message) {
  const content = message.content;
  if (content.toLowerCase() === "phrase 2" || 
      content.toLowerCase() === "phrase 1") {
    var soundUrl = pickRandom(
      ['sound url 1',
       'sound url 2',
       'sound url 3',
       'sound url 4'
      ]);
    playUrl(message.member.voiceChannel, soundUrl);
  }  
}

Затем в файле play-url.js:

exports.playUrl = function(voiceChannel, soundUrl, options) {

    // If messange sender is in a voice channel
    if (voiceChannel) {
      voiceChannel
        // Join it
        .join()
        .then(connection => {
          // Play the sound
          const sound = connection.playArbitraryInput(soundUrl, options);
          sound.on('end', () => {
            voiceChannel.leave();
            console.log('Done playing');
          });
        })
        .catch(console.error);
    }
}

Почему-тоЯ получаю эту ошибку.

TypeError: this.inputMedia.pipe is not a function

    at FfmpegProcess.connectStream (/rbd/pnpm-volume/a60d0461-d164-4ade-92da-e09aca748da0/node_modules/.registry.npmjs.org/prism-media/0.0.3/node_modules/prism-media/src/transcoders/ffmpeg/FfmpegProcess.js:73:21)

    at new FfmpegProcess (/rbd/pnpm-volume/a60d0461-d164-4ade-92da-e09aca748da0/node_modules/.registry.npmjs.org/prism-media/0.0.3/node_modules/prism-media/src/transcoders/ffmpeg/FfmpegProcess.js:28:14)

    at FfmpegTranscoder.transcode (/rbd/pnpm-volume/a60d0461-d164-4ade-92da-e09aca748da0/node_modules/.registry.npmjs.org/prism-media/0.0.3/node_modules/prism-media/src/transcoders/ffmpeg/Ffmpeg.js:34:18)

    at MediaTranscoder.transcode (/rbd/pnpm-volume/a60d0461-d164-4ade-92da-e09aca748da0/node_modules/.registry.npmjs.org/prism-media/0.0.3/node_modules/prism-media/src/transcoders/MediaTranscoder.js:27:31)

    at Prism.transcode (/rbd/pnpm-volume/a60d0461-d164-4ade-92da-e09aca748da0/node_modules/.registry.npmjs.org/prism-media/0.0.3/node_modules/prism-media/src/Prism.js:13:28)

    at AudioPlayer.playUnknownStream (/rbd/pnpm-volume/a60d0461-d164-4ade-92da-e09aca748da0/node_modules/.registry.npmjs.org/discord.js/11.4.2/node_modules/discord.js/src/client/voice/player/AudioPlayer.js:97:35)

    at VoiceConnection.playArbitraryInput (/rbd/pnpm-volume/a60d0461-d164-4ade-92da-e09aca748da0/node_modules/.registry.npmjs.org/discord.js/11.4.2/node_modules/discord.js/src/client/voice/VoiceConnection.js:458:24)

at voiceChannel.join.then.connection (/app/play-url.js:10:36)

    at <anonymous>

    at process._tickCallback (internal/process/next_tick.js:189:7)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...