首页 > 解决方案 > Discord 收集器不适合我

问题描述

我一直在处理这段代码,但我收到了这个错误,请让我知道我做错了什么。我创建了这个收集器,它从作者那里收集数据并在控制台上显示它观看了这个关于磨损钥匙的教程

我的 main.js 文件:

const Discord = require("discord.js");
const WOKCommands = require("wokcommands")
require('dotenv').config();

const client = new Discord.Client();

const prefix = "-";

const fs = require("fs");

client.commands = new Discord.Collection();

const commandFiles = fs
  .readdirSync("./commands/")
  .filter((file) => file.endsWith(".js"));
for (const file of commandFiles) {
  const command = require(`./commands/${file}`);

  client.commands.set(command.name, command);
}

client.on('ready', () => {
    console.log('bot is Online');

    
})

client.on('guildMemberAdd', guildMember => {
    let welcomeRole = guildMember.guild.roles.cache.find(role => role.name === 'member');

    guildMember.roles.add(welcomeRole);
    guildMember.guild.channels.cache.get('819227020365004811').send(`Welcome <@${guildMember.user.id}> Make sure you leave the server`);
})



client.on("message", (message) => {
  if (!message.content.startsWith(prefix) || message.author.bot) return;

  const args = message.content.slice(prefix.length).split(/ +/);
  const command = args.shift().toLowerCase();

  if (command === "ping") {
    client.commands.get("ping").execute(message, args, Discord);
  } else if (command === "lo") {
    client.commands.get("collector").execute(message, args,);
  }

});

client.login("token");

我的命令文件collector.js

module.exports = {
    name: 'collector',
    description : '',
    execute(message, args, Discord) {

        const questions = [
            'Whats ur name',
            'whats uer title',
            'whats ur number'
        ]

        let counter = 0

        const filter = m => m.author.id === message.author.id

        const collector = new Discord.MessageCollector(message.channel, filter, {
            max: questions.length,
            timeout: 1000 * 50
        })
        message.channel.send(questions[counter++])  
        collector.on('collect', m => {
            if (counter < questions.length){
                    m.channel.send(questions[counter++])
            }
        collector.end('end', collected => {
            console.log(`Collected : ${Collected.size} messages`)
            let counter = 0
            collected.forEach((value) => {
                console.log(questions[counter++], value.content)
            })
        })
        
        
        })


    }
}

谁能帮我解决这个问题

标签: javascriptvisual-studio-codeerror-handlingdiscord.jscollectors

解决方案


推荐阅读