我是Discord.js的新手,我正在尝试让该漫游器加入语音通道并在计算机上播放音频文件。我一直在遵循本指南:https://discord.js.org/#/docs/main/stable/topics/voice。这是Index.js页面:
const Discord = require('discord.js');
const Colesbot = new Discord.Client();
const token = '***********************************************';
Colesbot.on('ready', () =>{
console.log('Slamsbot is online.');
})
Colesbot.on('message', msg=>{
if(msg.content == "What up bot?"){
msg.reply("Whats good pimp?")
}
});
Colesbot.on('message', message=>{
if (message.content === '/join') {
// Only try to join the sender's voice channel if they are in one themselves
if (message.member.voiceChannel) {
message.member.voiceChannel.join().then(connection => {
message.reply('I have successfully connected to the channel!');
// To play a file, we need to give an absolute path to it
const dispatcher = connection.playFile('C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\Assets\Glory.mp3');
dispatcher.on('end', () => {
// The song has finished
console.log('Finished playing!');
});
dispatcher.on('error', e => {
// Catch any errors that may arise
console.log(e);
});
dispatcher.setVolume(0.5); // Set the volume to 50%
}).catch(console.log);
} else {
message.reply('You need to join a voice channel first!');
}
}
});
//Event listener for new guild members
Colesbot.on('guildMemberAdd', member =>{
// Send the message to a designated channel on a server:
const channel = member.guild.channels.find(ch => ch.name === 'general');
// Do nothing if the channel wasn't found on this server
if (!channel) return;
// Send the message, mentioning the member
channel.send(`Welcome to the server, ${member}. Please use the bot-commands channel to assign yourself a role.`);
})
Colesbot.login(token);
exports.run = (client, message, args) => {
let user = message.mentions.users.first || message.author;
}
FFMPEG已安装,我已经为其设置了环境路径。当我在命令行中键入FFMPEG时,我会得到正确的响应。
有些人说我需要安装ffmpeg二进制文件,但是当我运行npm安装ffmpeg-binaries时,出现此错误消息:
npm WARN deprecated [email protected]: ffmpeg-binaries is no longer being maintained. use ffmpeg-static, or just install ffmpeg
> [email protected] install C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
> node-pre-gyp install --fallback-to-build && node node_modules/rimraf/bin.js build
node-pre-gyp ERR! Tried to download(404): https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v3.0.8-node-v72-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v72 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp ERR! Tried to download(undefined): https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v3.0.8-node-v72-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v72 ABI, unknown) (falling back to source compile with node-gyp)
gyp ERR! find Python
gyp ERR! find Python Python is not set from command line or npm configuration
gyp ERR! find Python Python is not set from environment variable PYTHON
gyp ERR! find Python checking if "python" can be used
gyp ERR! find Python - "python" is not in PATH or produced an error
gyp ERR! find Python checking if "python2" can be used
gyp ERR! find Python - "python2" is not in PATH or produced an error
gyp ERR! find Python checking if "python3" can be used
gyp ERR! find Python - "python3" is not in PATH or produced an error
gyp ERR! find Python checking if the py launcher can be used to find Python 2
gyp ERR! find Python - "py.exe" is not in PATH or produced an error
gyp ERR! find Python checking if Python is C:\Python27\python.exe
gyp ERR! find Python - "C:\Python27\python.exe" could not be run
gyp ERR! find Python checking if Python is C:\Python37\python.exe
gyp ERR! find Python - "C:\Python37\python.exe" could not be run
gypgyp ERR! find PythonERR!
find Pythongyp
gyp ERR!ERR! find Pythonfind Python Python is not set from command line or npm configuration
**********************************************************
gypgyp ERR!ERR! find Pythonfind Python Python is not set from environment variable PYTHON
You need to install the latest version of Python.
gypgyp ERR!ERR! find Pythonfind Python checking if "python" can be used
Node-gyp should be able to find and use Python. If not,
gypgyp ERR!ERR! find Pythonfind Python - "python" is not in PATH or produced an error
you can try one of the following options:
gypgyp ERR!ERR! find Pythonfind Python checking if "python2" can be used
- Use the switch --python="C:\Path\To\python.exe"
gypgyp ERR! ERR!find Python - "python2" is not in PATH or produced an error
find Pythongyp (accepted by both node-gyp and npm)
gypERR! ERR!find Python checking if "python3" can be used
find Pythongyp - Set the environment variable PYTHON
gypERR! ERR!find Python - "python3" is not in PATH or produced an error
find Pythongyp - Set the npm configuration variable python:
gypERR! ERR!find Python checking if the py launcher can be used to find Python 2
find Pythongyp npm config set python "C:\Path\To\python.exe"
gypERR! ERR!find Python - "py.exe" is not in PATH or produced an error
find Pythongyp For more information consult the documentation at:
gypERR! ERR!find Python checking if Python is C:\Python27\python.exe
gypfind Python https://github.com/nodejs/node-gyp#installation
ERR!gyp find PythonERR! - "C:\Python27\python.exe" could not be run
gypfind Python **********************************************************
ERR!gyp find PythonERR! checking if Python is C:\Python37\python.exe
gypfind Python
ERR! find Python - "C:\Python37\python.exe" could not be run
gypgyp ERR!ERR! configure errorfind Python
gypgyp ERR!ERR! stackfind Python Error: Could not find any Python installation to use
**********************************************************
gyp gypERR! ERR!stack at PythonFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47)
find Pythongyp You need to install the latest version of Python.
ERR!gyp stack at PythonFinder.runChecks (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21)
ERR!gyp ERR!find Python Node-gyp should be able to find and use Python. If not,
stack at PythonFinder.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16)
gypgyp ERR!ERR! find Pythonstack you can try one of the following options:
at PythonFinder.execFileCallback (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16)
gypgyp ERR!ERR! stackfind Python at exithandler (child_process.js:302:5)
gyp - Use the switch --python="C:\Path\To\python.exe"
gypERR! stackERR! at ChildProcess.errorhandler (child_process.js:314:5)
gyp find PythonERR! (accepted by both node-gyp and npm)
stack at ChildProcess.emit (events.js:223:5)
gypgyp ERR!ERR! stackfind Python at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
- Set the environment variable PYTHON
gypgyp ERR!ERR! stack at onErrorNT (internal/child_process.js:456:16)
find Pythongyp - Set the npm configuration variable python:
gypERR! ERR!stack at processTicksAndRejections (internal/process/task_queues.js:81:21)
find Python npm config set python "C:\Path\To\python.exe"
gypgyp ERR!ERR! find PythonSystem For more information consult the documentation at:
Windows_NT 10.0.17763
gypgyp ERR!ERR! find Pythoncommand https://github.com/nodejs/node-gyp#installation
"C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64\\lzma_native.node" "--module_name=lzma_native" "--module_path=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64"
gypgyp ERR!ERR! find Pythoncwd **********************************************************
C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
gypgyp ERR!ERR! find Pythonnode -v
v12.14.1
gyp ERR! node-gyp -vgyp v5.0.5
gyp ERR!ERR! configure errornot ok
gyp ERR! stack Error: Could not find any Python installation to use
gyp ERR! stack at PythonFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47)
gyp ERR! stack at PythonFinder.runChecks (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21)
gyp ERR! stack at PythonFinder.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16)
gyp ERR! stack at PythonFinder.execFileCallback (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16)
gyp ERR! stack at exithandler (child_process.js:302:5)
gyp ERR! stacknode-pre-gyp at ChildProcess.errorhandler (child_process.js:314:5)
gypERR! ERR!build error
stack at ChildProcess.emit (events.js:223:5)
node-pre-gypgyp ERR!ERR! stackstack at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64\lzma_native.node --module_name=lzma_native --module_path=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64' (1)
node-pre-gypgyp ERR! ERR!stack at ChildProcess.<anonymous> (C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
stacknode-pre-gyp at onErrorNT (internal/child_process.js:456:16)
gypERR! ERR!stack at ChildProcess.emit (events.js:223:5)
stacknode-pre-gyp at processTicksAndRejections (internal/process/task_queues.js:81:21)
ERR! stackgyp at maybeClose (internal/child_process.js:1021:16)
node-pre-gypERR! ERR!System stack Windows_NT 10.0.17763
at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
gyp ERR! node-pre-gypcommand "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64\\lzma_native.node" "--module_name=lzma_native" "--module_path=C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\binding-v3.0.8-node-v72-win32-x64"
ERR!gyp SystemERR! Windows_NT 10.0.17763
node-pre-gypcwd C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
ERR!gyp commandERR! "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\bobal\\Documents\\GitHub\\Spotify-Playlist-Discord-bot\\node_modules\\lzma-native\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
node-pre-gypnode -v v12.14.1
ERR!gyp cwdERR! C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native
node-pre-gypnode-gyp -v v5.0.5
ERR!gyp ERR!node -v v12.14.1
not ok
node-pre-gyp ERR! node-pre-gyp -v v0.6.39
node-pre-gyp ERR! not ok
Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64\lzma_native.node --module_name=lzma_native --module_path=C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\lzma-native\binding-v3.0.8-node-v72-win32-x64' (1)
npm WARN [email protected] requires a peer of @discordjs/uws@^10.149.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-pre-gyp install --fallback-to-build && node node_modules/rimraf/bin.js build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\bobal\AppData\Roaming\npm-cache\_logs\2020-02-21T19_25_47_323Z-debug.log
因此,我尝试安装旧版本,现在使用[email protected],但是当我键入/ join时,我得到了:[ERR_INVALID_ARG_TYPE]:“文件”参数必须为字符串类型。收到的类型对象
首先,您需要重置令牌,永远不要在线发布令牌,因为其他人可以使用它来访问和控制您的机器人
我认为您需要安装FFMPEG并为其设置环境路径,但是,您可以提供更多信息,控制台日志,行为等吗?>