Javascript 我们如何读取某个用户发送给我们的机器人的消息?

Javascript 我们如何读取某个用户发送给我们的机器人的消息?,javascript,discord.js,Javascript,Discord.js,我已经设计了2-3周的机器人。我已通过发出discord bot DM命令,我可以将消息发送给我们服务器的任何成员。。但是如何阅读他们对机器人的回复呢 const Discord = require('discord.js'); const client = new Discord.Client(); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); }); client.on('

我已经设计了2-3周的机器人。我已通过发出discord bot DM命令,我可以将消息发送给我们服务器的任何成员。。但是如何阅读他们对机器人的回复呢

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', msg => {
  if (msg.content === 'ping') { //read messages
    msg.reply('pong');
  }
});

client.login('token');
点击查看官方文件


单击查看官方文档。

您在DMs中获得的消息与使用“消息”事件获得的普通消息相同。 要查看邮件是否在DMs中发送,请检查message.guild是否存在。 例如:

if (!message.guild) {return console.log(`New Message in DMs: ${message.content}`)}

根据您的评论,“
我想在特定频道中看到带有姓名的消息”,您必须检查。您可以使用属性获取消息作者名称

下面是一个例子:

const Discord = require("discord.js");
const Client = new Discord.Client();

Client.on("message", (message) => {
    if (message.author.bot) return false; // If the message is sent by a bot, we ignore it.
    if (message.channel.id == "661567766444376085") { // Checking if the message is sent in a certain channel.
        let Channel = message.client.channels.get("661567766444376085"); // Getting the channel object.
        console.log(`New message in #${Channel.name} from ${message.author.tag}: ${message.content}`);
    };
});

Client.login("TOKEN");

输出应该是:
newmessage in#channel#u name from Author#0000:message Content

使用“message”事件,您在DMs中获得的消息与正常消息相同。 要查看邮件是否在DMs中发送,请检查message.guild是否存在。 例如:

if (!message.guild) {return console.log(`New Message in DMs: ${message.content}`)}

根据您的评论,“
我想在特定频道中看到带有姓名的消息”,您必须检查。您可以使用属性获取消息作者名称

下面是一个例子:

const Discord = require("discord.js");
const Client = new Discord.Client();

Client.on("message", (message) => {
    if (message.author.bot) return false; // If the message is sent by a bot, we ignore it.
    if (message.channel.id == "661567766444376085") { // Checking if the message is sent in a certain channel.
        let Channel = message.client.channels.get("661567766444376085"); // Getting the channel object.
        console.log(`New message in #${Channel.name} from ${message.author.tag}: ${message.content}`);
    };
});

Client.login("TOKEN");

输出应该是:
newmessage in#channel#u name from Author#0000:message Content

Discord不具备作为对话与用户通信的内置功能。为了组织这种交流,有几种选择。您可以使用
channel.fetchMessages
方法,该方法将以集合的形式返回对话框中的所有消息,但这不是很方便。您可以创建一个服务器,并在该服务器中为每个用户创建一个通道,然后在那里发送他的消息,并在dm中将您的消息发送给他。有许多实现选项,但所有这些选项都需要认真研究才能正常工作。

Discord不具备作为对话与用户沟通的内置能力。为了组织这种交流,有几种选择。您可以使用
channel.fetchMessages
方法,该方法将以集合的形式返回对话框中的所有消息,但这不是很方便。您可以创建一个服务器,并在该服务器中为每个用户创建一个通道,然后在那里发送他的消息,并在dm中将您的消息发送给他。有许多实现选项,但所有这些选项都需要认真研究才能正常工作。

您能在您提到的上下文中提供代码示例吗?您能在您提到的上下文中提供代码示例吗?不是这个兄弟,而是这个。。我在问,当我的机器人发送dm给任何人。如何知道他在dm中回复了那个机器人什么..就像我通过我的机器人直接给你发信息。。你回复那个机器人我怎么知道你回复了什么?不是这个兄弟我知道这个。。我在问,当我的机器人发送dm给任何人。如何知道他在dm中回复了那个机器人什么..就像我通过我的机器人直接给你发信息。。你回复那个机器人我怎么知道你回复了什么?你能提供任何信息吗?您遇到了什么错误?对不起,其他代码中有错误。。我试着让它正常工作,我想在一个特定的频道里看到这条信息,还有他们的名字。我将根据你的评论编辑我的答案。你能提供一些信息吗?您遇到了什么错误?对不起,其他代码中有错误。。我试着让它正常工作,我想在一个特定的频道里看到这条信息,还有他们的名字。我将根据你的评论编辑我的答案。