Discord.js将消息发送到特定频道

时间:2018-09-10 12:41:01

标签: node.js bots send discord.js

我没有实现非常简单的事情。我无法将消息发送到特定频道。我浏览了文档和堆栈溢出时的类似线程。

client.channels.get()。send()不起作用。它不是功能。 我也不认为它是官方文档中Channel类的方法,但是到目前为止,我发现的每个线程都告诉我使用它。

我设法让漫游器通过侦听消息然后使用message.reply()来答复消息,但我不希望这样。我希望我的机器人在client.on('ready')

的特定频道中说些什么

我想念什么?

4 个答案:

答案 0 :(得分:1)

您没有提供已经测试过的任何代码,因此我将为您准备就绪的活动代码,该代码将起作用!

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

请注意,您的频道ID为字符串。

让我知道它是否有效,谢谢!

答案 1 :(得分:1)

对于v12,它将是以下内容:

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

编辑:我将其更改为记录消息。

答案 2 :(得分:0)

当消息被删除到名为“ jlogs”的频道时,我用它来发送消息 如果您想在没有频道ID的情况下发送邮件,这将很有帮助。

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

如果不使用messageDelete,请确保对其进行定义。

答案 3 :(得分:0)

这将适用于最新版本的node.js msg.guild.channels.cache.find(i => i.name === 'announcements').send(annEmbed)