I'm having troubles my collector I'm doing, trying to fix the filter bit. Tried doing:
const filter = m => m.author.id === message.author.id
and
const filter = m => m.user.id === message.author.id
Code:
const { Message, Client, EmbedBuilder } = require('discord.js')
module.exports = {
name: 'dm',
description: 'DMs someone with a role or a user.',
run: async (client, message, args) => {
if(!message.member.roles.cache.has('insertroleid')) {
const embed = new EmbedBuilder()
.setColor('DarkRed')
.setDescription('You cannot use this command yet as you aren\'t a Presidential Team member yet!')
message.reply({ embeds: [ embed ] })
}
const filter = m => m.user.id === message.author.id
const mcollector = message.channel.createMessageCollector({
filter,
time: 120000,
max: 1,
maxProcessed: 1,
errors: ['time']
})
const startEmbed = new EmbedBuilder()
.setColor(process.env.embed_color)
.setDescription('Hello, please start proceeding pinging the role you want to send.')
message.reply({ embeds: [ startEmbed ] })
mcollector.on('collect', async mc1 => {
mc1 = mc1.content
console.log(mc1)
})
}
}
Error: node:events:505 throw er; // Unhandled 'error' event ^ TypeError: Cannot read properties of undefined (reading 'id')
//collecting from a message command
const msgFilter = m => m.author.id === message.author.id
//collecting from a slash command
const intFilter = m => m.author.id === interaction.user.id