Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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中生成DM提示符?_Javascript_Node.js_Discord_Discord.js_Bots - Fatal编程技术网

Javascript 如何在Discord.js中生成DM提示符?

Javascript 如何在Discord.js中生成DM提示符?,javascript,node.js,discord,discord.js,bots,Javascript,Node.js,Discord,Discord.js,Bots,我刚刚学习了如何从Discord.js bot发送DM,但是如何将其转换为提示?目前我的代码如下所示: client.on('message',message=>{ 如果(message.channel.type==“dm”){ if(message.author.bot)返回; 如果(message.content==“hello”){ message.author.send(“你好!”); } } }); 但是我怎样才能存储关于dm中发生的事情的数据呢?如果我正在制作一个类似于机器人的应用

我刚刚学习了如何从Discord.js bot发送DM,但是如何将其转换为提示?目前我的代码如下所示:

client.on('message',message=>{
如果(message.channel.type==“dm”){
if(message.author.bot)返回;
如果(message.content==“hello”){
message.author.send(“你好!”);
}
}
});

但是我怎样才能存储关于dm中发生的事情的数据呢?如果我正在制作一个类似于机器人的应用程序机器人,它会根据以前的dms选择要回复的内容,我如何才能使其工作?我需要使用数据库吗?谢谢

您可以使用消息采集器执行此操作,可以使用或:

message.author.send(“你好!”);
//有以下消息:
message.dmChannel.waitingmessages(
//这是一个过滤功能,只允许您接收某些消息。
//返回true以接收消息。
//此筛选器将接受所有邮件。
msg=>正确,
//选项。此示例使承诺在收到1条消息后解析
收集。
{max:1}
)。然后(消息=>{
//消息是消息的集合
const msg=messages.first();
//做点什么。。。
});
//使用createMessageCollector:
const collector=message.dmChannel.createMessageCollector(msg=>true,{max:1})
collector.on(“collect”,msg=>{
//做点什么。。。
});
您还可以将ES2017的
async
/
await
语法与
awaitMessages
一起使用:

//注意这里的异步
client.on('message',异步消息=>{
如果(message.channel.type==“dm”){
if(message.author.bot)返回;
如果(message.content==“hello”){
message.author.send(“你好!”);
const messages=await message.dmChannel.await messages(msg=>true,{max:1});
const msg=messages.first();
//做点什么。。。
}
}
});

有关更多信息,请参阅。

Wdym带提示?还有,对于正在进行的涉及多个命令/回复的系列,数据库通常是goSo。。。你在做人工智能?如果您希望他们使用预设答案列表进行回复,则可以在其上使用静态数据库并使用
for()
循环。你可以将人们所说的话的所有数据发送给你,然后你可以手动将其添加到静态数据库中,下次他们说出时,它将使用预设的答案进行回复。但是,如果你想让它自动回复,那么…通过提示,我的意思是,如果我想发出申请工作的命令,它会问你什么工作,然后根据你在第一个问题上的回答,它会问其他问题