首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有distube的不和谐音乐机器人discord.js

带有distube的不和谐音乐机器人discord.js
EN

Stack Overflow用户
提问于 2021-04-06 14:42:05
回答 1查看 3.5K关注 0票数 1

我的代码有问题,我试图编码一个不和谐的音乐机器人,但我总是显示一个错误的信息,在visual代码。我试过很多种东西,但都没有用。我使用distube作为机器人,因为它的方式更容易。

我的代码:

代码语言:javascript
复制
const Discord = require('discord.js')
    DisTube = require('distube')
    module.exports = {
        execute: async (client, message, args) => { 

    const distube = new DisTube(client, { searchSongs: false, emitNewSongOnly: false });


client.on("message", async (message) => {
    if (message.author.bot) return;
    if (!message.content.startsWith(config.prefix)) return;
    const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
    const command = args.shift();

    if (command == "play")
        distube.play(message, args.join(" "));
    
    if (command == "stop") {
        distube.stop(message);
        message.channel.send(`**<:miraimusic:828978156512739378> ⁓ Stopped the music!** 
> If you want me to rejoin, type m!play.`);
    }
    if (command == "queue") {
        let queue = distube.getQueue(message);
        message.channel.send(`**<:miraimusic:828978156512739378> ⁓ Current queue**:
> ` + queue.songs.map((song, id) => `**${id + 1}**. ${song.name} - \`${song.formattedDuration}\``
        ).slice(0, 10).join("\n"));
    }

    if ([`3d`, `bassboost`, `echo`, `karaoke`, `nightcore`, `vaporwave`].includes(command)) {
        let filter = distube.setFilter(message, command);
        message.channel.send(`**<:miraimusic:828978156512739378> ⁓ Added filter: **
> ` + (filter || "off"));
    }
    }
);

// DisTube event listeners, more in the documentation page
distube
    .on("playSong", (message, queue, song) => message.channel.send(
        `**<:miraimusic:828978156512739378> ⁓ Playing now:**
> ${song.name}\` - \`${song.formattedDuration}\``
    ))
    .on("addSong", (message, queue, song) => message.channel.send(
        `**<:miraimusic:828978156512739378> ⁓ Added: **
> ${song.name} - \`${song.formattedDuration}\` **to the queue.**`
    ))
    .on("playList", (message, queue, playlist, song) => message.channel.send(
        `**<:miraimusic:828978156512739378> ⁓ Playing now:**
>` `${song.name}\` - \`${song.formattedDuration}\``
    ))
    .on("addList", (message, queue, playlist) => message.channel.send(
        `**<:miraimusic:828978156512739378> ⁓ Added: **
> ${song.name} - \`${song.formattedDuration}\` **to the queue.**`
    ))
    // DisTubeOptions.searchSongs = true
    .on("searchResult", (message, result) => {
        let i = 0;
        message.channel.send(`**Choose an option from below**\n${result.map(song => `**${++i}**. ${song.name} - \`${song.formattedDuration}\``).join("\n")}\n*Enter anything else or wait 60 seconds to cancel*`);
    })
    // DisTubeOptions.searchSongs = true
    .on("searchCancel", (message) => message.channel.send(`Searching canceled`))
    .on("error", (message, e) => {
        console.error(e)
        message.channel.send("An error encountered: " + e);
  }

错误:

代码语言:javascript
复制
music.js(64, 34): The parser expected to find a '}' to match the '{' token here. music.js(5, 51): The parser expected to find a '}' to match the '{' token here. music.js(4, 22): The parser expected to find a '}' to match the '{' token here

我不知道问题出在哪里,所以请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-06 14:56:28

闭幕式")“和"}”有几个问题。尽量保持代码的正确格式和良好的代码格式,以便更容易地发现这些问题。

以下是正确的代码:

代码语言:javascript
复制
const Discord = require('discord.js')
DisTube = require('distube')
module.exports = {
  execute: async (client, message, args) => {

    const distube = new DisTube(client, { searchSongs: false, emitNewSongOnly: false });

    client.on("message", async (message) => {
      if (message.author.bot) return;
      if (!message.content.startsWith(config.prefix)) return;
      const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
      const command = args.shift();

      if (command == "play")
        distube.play(message, args.join(" "));
      
      if (command == "stop") {
        distube.stop(message);
        message.channel.send(`**<:miraimusic:828978156512739378> ⁓ Stopped the music!** 
        > If you want me to rejoin, type m!play.`);
      }
      if (command == "queue") {
        let queue = distube.getQueue(message);
        message.channel.send(`**<:miraimusic:828978156512739378> ⁓ Current queue**:
        > ` + queue.songs.map((song, id) => `**${id + 1}**. ${song.name} - \`${song.formattedDuration}\``
        ).slice(0, 10).join("\n"));
      }

      if ([`3d`, `bassboost`, `echo`, `karaoke`, `nightcore`, `vaporwave`].includes(command)) {
        let filter = distube.setFilter(message, command);
        message.channel.send(`**<:miraimusic:828978156512739378> ⁓ Added filter: **
        > ` + (filter || "off"));
      }
    });

    // DisTube event listeners, more in the documentation page
    distube
      .on("playSong", (message, queue, song) => message.channel.send(`**<:miraimusic:828978156512739378> ⁓ Playing now:**> ${song.name}\` - \`${song.formattedDuration}\``))
      .on("addSong", (message, queue, song) => message.channel.send(`**<:miraimusic:828978156512739378> ⁓ Added: **> ${song.name} - \`${song.formattedDuration}\` **to the queue.**`))
      .on("playList", (message, queue, playlist, song) => message.channel.send(`**<:miraimusic:828978156512739378> ⁓ Playing now:**>` `${song.name}\` - \`${song.formattedDuration}\``))
      .on("addList", (message, queue, playlist) => message.channel.send(`**<:miraimusic:828978156512739378> ⁓ Added: **> ${song.name} - \`${song.formattedDuration}\` **to the queue.**`))
      // DisTubeOptions.searchSongs = true
      .on("searchResult", (message, result) => {
        let i = 0;
        message.channel.send(`**Choose an option from below**\n${result.map(song => `**${++i}**. ${song.name} - \`${song.formattedDuration}\``).join("\n")}\n*Enter anything else or wait 60 seconds to cancel*`);
      })
      // DisTubeOptions.searchSongs = true
      .on("searchCancel", (message) => message.channel.send(`Searching canceled`))
      .on("error", (message, e) => {
        console.error(e)
        message.channel.send("An error encountered: " + e);
      })
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66970845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档