javascript - 我无法启动我的 js Discord 机器人,错误消息
问题描述
因此,我尝试按照教程制作自己的音乐不和谐机器人,但是当我尝试启动它时遇到了一些问题,我正确安装了模块,并且我还制作了一个包含我的令牌的 json 文件来制作机器人,
还有我的代码
const Discord = require('discord.js');
const client = new Discord.Client();
const DisTube = require('distube');
const distube = new DisTube(client, { searchSongs: false, emitNewSongs: true });
const { token } = require('./info.json');
const prefix = '!';
client.on("ready", () => {
console.log('${client.user.tag} va venir faire mousser tout ça!');
});
client.on("message", async(message) => {
if (message.author.bot) return;
if (!message.content.startsWith(prefix)) return;
const args = message.content.slice(prefix.length).trim().split(/ +/g);
const command = args.shift();
const status = (queue) => `Volume: \`${queue.volume}%\` | Filter: \`${queue.filter || "Off"}\` | Loop: \`${queue.repeatMode ? queue.repeatMode == 2 ? "All Queue" : "This Song" : "Off"}\` | Autoplay: \`${queue.autoplay ? "On" : "Off"}\``;
distube
.on("playSong", (message, queue, song) => message.channel.send(
`Joue :musical_note: et nique Brian \`${song.name}\` - \`${song.formattedDuration}\`\nDemandé par: ${song.user}\n${status(queue)}`
))
.on("addSong", (message, queue, song) => message.channel.send(
`Ajoutée! ${song.name} - \`${song.formattedDuration}\` to the queue by ${song.user}`
))
.on("playList", (message, queue, playlist, song) => message.channel.send(
`Joue :musical_note: \`${playlist.name}\` playlist (${playlist.songs.length} songs).\nDemandé par: ${song.user}\nJoue mtn \`${song.name}\` - \`${song.formattedDuration}\`\n${status(queue)}`
))
.on("addList", (message, queue, playlist) => message.channel.send(
`Ajouté \`${playlist.name}\` playlist (${playlist.songs.length} songs) to queue\n${status(queue)}`
))
.on("searchResult", (message, result) => {
let i = 0;
message.channel.send(`**Choisi en dessous**\n${result.map(song => `**${++i}**. ${song.name} - \`${song.formattedDuration}\``).join("\n")}\n*Tu as 60s pour choisir*`);
})
.on("searchCancel", (message) => message.channel.send(`Annulé batard`))
.on("error", (message, e) => {
console.error(e)
message.channel.send("Call Souf ça bug: " + e);
});
if (command =="play") {
if (!message.member.voice.channel) return message.channel.send('Tu ne peux pas entendre la douce mélodie.');
if (!args[0]) return message.channel.send('Décide toi frère!');
distube.play(message, args.join(" "));
}
if (command =="stop") {
const bot = message.guild.members.cache.get(client.user.id);
if (!message.member.voice.channel) return message.channel.send('Tu ne peux pas entendre la douce mélodie.');
if (bot.voice.channel !== message.member.voice.channel) return message.channel.send('Tu est pas dans le même channel que moi');
distube.stop(message);
message.channel.send('Tu as arreté la musique');
}
});
client.login(token);
解决方案
在discord.js v13
所有机器人中,都需要在 Client中定义它们的意图constructor
。
例子:
改变你的
const Discord = require('discord.js');
const client = new Discord.Client();
到
const {Client, Intents} = require('discord.js');
const client = new Client({intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES]});
您显然会将意图更改为您的机器人将使用的内容。
更多信息可以在这里找到
推荐阅读
- bitbake - 在构建时更改所有配方的 src_uri
- laravel - 尝试运行 docker 命令不断给我绝对路径错误
- maven - Cucumber 项目构建成功但控制台测试运行 0,测试跳过 0
- java - 如何使用 BouncyCastle 读取密码为空的 PKCS8 文件
- javascript - Vue路由器 - 导航到父路由
- ubuntu - squish-pty bochs -q setitimer:参数无效
- python - 无法卸载“pyasn1”
- svelte - Javascript svelte.js
- javascript - 如何在我的 html 静态网站上制作嵌入的 YouTube 视频自动播放?
- javascript - 如何动态访问插槽的子项