Discord.js die een bericht verzenden naar een specifiek kanaal

Ik faal iets heel eenvoudigs te bereiken. Ik kan geen bericht sturen naar een specifiek kanaal. Ik heb doorgemaakt door de documentatie en vergelijkbare draden op stapeloverloop.

client.channels.get (). Verzenden ()

werkt niet.
Het is geen functie.
Ik zie het ook niet als een methode op de kanaalklasse op de officiële documentatie, maar elke thread die ik tot nu toe heb gevonden heeft me verteld om dat te gebruiken.

Ik heb erin geslaagd om het bot te laten antwoorden op een bericht door te luisteren naar een bericht en vervolgens met message.reply()maar ik wil dat niet. Ik wil dat mijn bot iets zegt in een specifiek kanaal in client.on('ready')

Wat ben ik mis?


Antwoord 1, Autoriteit 100%

U hebt geen enkele code opgegeven die u al hebt getest, dus ik zal u de code geven voor uw reageren evenement dat zal werken!

   client.on('ready', client => {
        client.channels.get('CHANNEL ID').send('Hello here!');
    })

Wees voorzichtig dat uw kanaal-ID een tekenreeks.

Laat me weten of het werkte, dank u!

2020 jun 13 edit:

A Discord.js-update vereist de cacheLid van kanalen vóór de werkwijze.

Als uw modules erfenis zijn, zou het bovenstaande nog steeds werken. Mijn recente oplossing werkt de verzendlijn als volgt.

       client.channels.cache.get('CHANNEL ID').send('Hello here!')

Antwoord 2, Autoriteit 5%

Dit werkt voor de nieuwste versie van NODE.JS msg.guild.channels.cache.find(i => i.name === 'announcements').send(annEmbed)


Antwoord 3, Autoriteit 5%

Voor V12 zou het de volgende zijn:

 client.on('message', message => {
        client.channels.cache.get('CHANNEL ID').send('Hello here!');
    })

edit: ik heb het gewijzigd om een bericht te loggen.


Antwoord 4

Zo stuur ik een bericht naar een specifiek kanaal telkens wanneer een bericht wordt verwijderd. Dit is handig als je het bericht zonder kanaal-ID wilt verzenden.

client.on("messageDelete", (messageDelete) => {
  const channel = messageDelete.guild.channels.find(ch => ch.name === 'channel name here');
  channel.send(`The message : "${messageDelete.content}" by ${messageDelete.author} was deleted. Their ID is ${messageDelete.author.id}`);
}); 

Zorg ervoor dat u het definieert als u messageDelete niet gebruikt.

Other episodes