'Trying to catch response but why wont it send?

I am currently working on a command right now that I would like the server owner to use. When done it sends the embed and will wait for the server owner to paste we will say the channel id. I want to label this to call in another command but at the moment it sends the embed but when I send a channel ID nothing happens. No message is sent but it also does not break the bot. I am still able to send the command again and again.

Please do not mind the slop, I am new to all this and trying to learn as I go any tips would be appreciated!

EDIT: I am using version 12 (12.5.3)

const { prefix } = require('../config.json');
const Discord = require('discord.js');
const client = new Discord.Client();
module.exports = { 
    name: 'setchannel',
    description: 'command to assign bot to channel',
    execute(message, args) {
    if(message.channel.type == "dm") {
        const keepinservercommandembed = new Discord.MessageEmbed()
        .setColor('#FF0000')
        .setTitle('**Im Sorry!**')
        .addFields(
            { name: `**Can` + `'t accept: ${prefix}setchannel**`, value: 'Please keep this command to the server!' },
        )
        message.channel.send(keepinservercommandembed);
    }
    else {
        const messagesender = message.member.id;
        const serverowner = message.guild.owner.id;
        const setchannelembed = new Discord.MessageEmbed()
        .setColor('#FF0000')
        .addFields(
            { name: `**Let's get searching!**`, value: `Hello ${message.guild.owner}, what channel would you like me to post group finding results?` },
        )
        const notownerembed = new Discord.MessageEmbed()
        .setColor('#FF0000')
        .addFields(
            { name: `**Whoops!**`, value: `Sorry only ${message.guild.owner} can use this command.` },
        )
        if(messagesender == serverowner) {
            message.delete ();
            const filter = m => m.content.message;
            const collector = message.channel.createMessageCollector(filter, { time: 15000 });
            message.channel.send(setchannelembed).then(() => {
                collector.on('collect', m => {
                    message.channel.send(`${m.content}`)
                });
            });
        }
        else {
            message.delete ();
            message.channel.send(notownerembed);
        }
    }
    }
}


Solution 1:[1]

After comparing your code to my similiar discord.js v13 code and checking out the v12 docs, I think I found the problem.

I don't think m.content.message is a function. If your aim is for someone to paste the channel ID, the filter code would be:

const filter = m => m.author.id === message.guild.owner.id;

To filter out other people who may be entering an ID (assuming the input is valid).

Use the filter as follows:

message.channel.createMessageCollector({filter: filter, time: 15000 });

To filter out invalid inputs:

collector.on('collect', m => {
   if (isNaN(m)) return; //all channel id's in discord are integers (numbers)
   else message.channel.send(`${m.content}`);
});

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 panzer-chan