【问题标题】:I can not launch my js Discord bot, error message我无法启动我的 js Discord 机器人,错误消息
【发布时间】:2021-11-24 08:51:12
【问题描述】:

所以我尝试按照教程制作自己的音乐不和谐机器人,但是当我尝试启动它时遇到了一些问题 我正确安装了模块,并且我还制作了一个包含我的令牌的 json 文件来制作机器人,

There is the command prompt

还有我的代码

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 时,您似乎正在尝试运行 v12.5.3 代码,这就是您收到此错误的原因,它缺少意图

标签: javascript node.js discord.js


【解决方案1】:

discord.js v13 中,所有机器人都必须在客户端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]});

您显然会将 intents 更改为您的机器人将使用的内容。

更多信息可以找到here

【讨论】:

    猜你喜欢
    • 2019-09-16
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 2021-03-22
    • 2018-07-22
    • 2020-12-23
    • 2019-08-01
    • 2018-06-18
    相关资源
    最近更新 更多