Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Discord.js发送消息_Javascript_Node.js_Discord_Discord.js - Fatal编程技术网

Javascript 使用Discord.js发送消息

Javascript 使用Discord.js发送消息,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我试图制作一个discord机器人,但我不太理解discord.js。 我的代码如下所示: client.on('message',函数(message){ 如果(message.content=='ping'){ client.message.send(author'pong'); } }); 问题是我不太明白如何发送信息 有人能帮我吗?您的.send()行中有一个错误。您当前使用的代码已在discord.js库的早期版本中使用,实现此功能的方法已更改 如果您有一个消息对象,例如在消息事件处

我试图制作一个discord机器人,但我不太理解discord.js。 我的代码如下所示:

client.on('message',函数(message){
如果(message.content=='ping'){
client.message.send(author'pong');
}
});
问题是我不太明白如何发送信息


有人能帮我吗?

您的
.send()
行中有一个错误。您当前使用的代码已在discord.js库的早期版本中使用,实现此功能的方法已更改

如果您有一个消息对象,例如在
消息
事件处理程序中,您可以向消息对象的通道发送消息,如下所示:

message.channel.send(“我的消息”);
消息
事件处理程序中的示例:

client.on(“消息”),函数(消息){
message.channel.send(“我的消息”);
});

您还可以向特定频道发送消息,您可以通过首先使用其ID获取频道,然后向其发送消息:

(使用异步/等待)

const channel=wait client.channels.fetch(channelID);
频道。发送(“我的消息”);
(使用
Promise
回调)

client.channels.fetch(channelID)。然后(channel=>{
频道。发送(“我的消息”);
});


从第12版开始工作您的
.send()
行中有错误。您当前使用的代码已在discord.js库的早期版本中使用,实现此功能的方法已更改

如果您有一个消息对象,例如在
消息
事件处理程序中,您可以向消息对象的通道发送消息,如下所示:

message.channel.send(“我的消息”);
消息
事件处理程序中的示例:

client.on(“消息”),函数(消息){
message.channel.send(“我的消息”);
});

您还可以向特定频道发送消息,您可以通过首先使用其ID获取频道,然后向其发送消息:

(使用异步/等待)

const channel=wait client.channels.fetch(channelID);
频道。发送(“我的消息”);
(使用
Promise
回调)

client.channels.fetch(channelID)。然后(channel=>{
频道。发送(“我的消息”);
});


自第12版起生效以下是用户的代码:

(在这种情况下,我们的消息不是响应,而是直接发送给所选用户的新消息。)

进一步文件:


以下是dm用户的代码:

(在这种情况下,我们的消息不是响应,而是直接发送给所选用户的新消息。)

进一步文件:


发送代码已再次更改。问题和答案中的项目都已过时。对于版本12,下面是正确的代码。有关此代码的详细信息,请参阅

向特定频道发送消息

const channel = <client>.channels.cache.get('<id>');
channel.send('<content>');
const channel=.channels.cache.get(“”);
频道发送(“”);
向DM中的特定用户发送消息

const user = <client>.users.cache.get('<id>');
user.send('<content>');
constuser=.users.cache.get(“”);
user.send(“”);
如果您想DM用户,请注意bot和用户应该至少有一个共同的服务器


希望这个答案能帮助在版本12之后来到这里的人。

发送代码再次更改。问题和答案中的项目都已过时。对于版本12,下面是正确的代码。有关此代码的详细信息,请参阅

向特定频道发送消息

const channel = <client>.channels.cache.get('<id>');
channel.send('<content>');
const channel=.channels.cache.get(“”);
频道发送(“”);
向DM中的特定用户发送消息

const user = <client>.users.cache.get('<id>');
user.send('<content>');
constuser=.users.cache.get(“”);
user.send(“”);
如果您想DM用户,请注意bot和用户应该至少有一个共同的服务器


希望这个答案能帮助在版本12之后来到这里的人。

这是因为您正在向当前频道发送消息。

这是因为您正在向当前频道发送消息。

您只能向频道发送消息。

client.on('message', function(message) {
 if (message.content === 'ping') {
  message.channel.send('pong');
 }
});
如果要对用户进行DM,则可以使用user.send()函数


您只能向频道发送消息

client.on('message', function(message) {
 if (message.content === 'ping') {
  message.channel.send('pong');
 }
});
如果要对用户进行DM,则可以使用user.send()函数


最重要的答案已经过时了

新方法是:

const channel = await client.channels.fetch(<id>);

await channel.send('hi')
const channel=wait client.channels.fetch();
等待频道。发送('hi')
在获取通道Id时添加一点上下文; 所有频道的列表存储在
client.channels
属性中


一个简单的
console.log(client.channels)
将显示该服务器上所有频道的数组。

最上面的答案已经过时

新方法是:

const channel = await client.channels.fetch(<id>);

await channel.send('hi')
const channel=wait client.channels.fetch();
等待频道。发送('hi')
在获取通道Id时添加一点上下文; 所有频道的列表存储在
client.channels
属性中


一个简单的
console.log(client.channels)
将显示该服务器上所有频道的数组。

有四种方法可以实现您想要实现的目标,您可以使用提及用户的
message.reply(“Pong”)
,或者使用不提及用户的
message.channel.send(“Pong”)
,此外,在
discord.js
中,您可以选择通过以下方式发送嵌入:

client.on("message", () => {
    var message = new Discord.MessageEmbed()
      .setDescription("Pong") // sets the body of it
      .setColor("somecolor")
      .setThumbnail("./image");
      .setAuthor("Random Person")
      .setTitle("This is an embed")
    msg.channel.send(message) // without mention
    msg.reply(message) // with mention
})
还可以通过以下方式为用户提供dm选项:

client.on("message", (msg) => {
msg.author.send("This is a dm")

})

请参阅。

有四种方法可以实现您想要实现的目标,您可以使用提及用户的
message.reply(“Pong”)
,或者使用不提及用户的
message.channel.send(“Pong”)
,此外,在
discord.js
中,您可以选择发送embe