Javascript 使用Discord.js发送消息
我试图制作一个discord机器人,但我不太理解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库的早期版本中使用,实现此功能的方法已更改 如果您有一个消息对象,例如在消息事件处
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