如何在 discord.js 中等待回复?
How do I wait for a reply in discord.js?
所以我希望我的机器人做的是等待来自用户的消息,这样当用户发送“!spec”时,机器人会收到该消息并以“查看或更改?”作为响应。然后等你输入“查看”或“更改”,但我无法让它工作。我不清楚文档,我不确定如何去做。
这必须能够在 PM 中工作,因为我不想用我计划做的事情向 Discord 发送垃圾邮件。
我已经试过了:
if (command === 'spec'){
message.author.send("See or Change?");
const collector = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, { time: 10000 });
console.log(collector)
collector.on('collect', message => {
if (message.content === "See") {
message.channel.send("You Want To See Someones Spec OK!");
} else if (message.content === "Change") {
message.channel.send("You Want To Change Your Spec OK!");
}
})
我可能写错了。我不习惯图书馆。
与==比较并尝试。
if (command === 'spec'){
message.author.send("See or Change?");
const collector = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, { time: 10000 });
console.log(collector)
collector.on('collect', message => {
if (message.content == "See") {
message.channel.send("You Want To See Someones Spec OK!");
} else if (message.content == "Change") {
message.channel.send("You Want To Change Your Spec OK!");
}
})
let filter = m => m.author.id === message.author.id
message.channel.send(`Are you sure to delete all data? \`YES\` / \`NO\``).then(() => {
message.channel.awaitMessages(filter, {
max: 1,
time: 30000,
errors: ['time']
})
.then(message => {
message = message.first()
if (message.content.toUpperCase() == 'YES' || message.content.toUpperCase() == 'Y') {
message.channel.send(`Deleted`)
} else if (message.content.toUpperCase() == 'NO' || message.content.toUpperCase() == 'N') {
message.channel.send(`Terminated`)
} else {
message.channel.send(`Terminated: Invalid Response`)
}
})
.catch(collected => {
message.channel.send('Timeout');
});
})
所以我希望我的机器人做的是等待来自用户的消息,这样当用户发送“!spec”时,机器人会收到该消息并以“查看或更改?”作为响应。然后等你输入“查看”或“更改”,但我无法让它工作。我不清楚文档,我不确定如何去做。
这必须能够在 PM 中工作,因为我不想用我计划做的事情向 Discord 发送垃圾邮件。
我已经试过了:
if (command === 'spec'){
message.author.send("See or Change?");
const collector = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, { time: 10000 });
console.log(collector)
collector.on('collect', message => {
if (message.content === "See") {
message.channel.send("You Want To See Someones Spec OK!");
} else if (message.content === "Change") {
message.channel.send("You Want To Change Your Spec OK!");
}
})
我可能写错了。我不习惯图书馆。
与==比较并尝试。
if (command === 'spec'){
message.author.send("See or Change?");
const collector = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, { time: 10000 });
console.log(collector)
collector.on('collect', message => {
if (message.content == "See") {
message.channel.send("You Want To See Someones Spec OK!");
} else if (message.content == "Change") {
message.channel.send("You Want To Change Your Spec OK!");
}
})
let filter = m => m.author.id === message.author.id
message.channel.send(`Are you sure to delete all data? \`YES\` / \`NO\``).then(() => {
message.channel.awaitMessages(filter, {
max: 1,
time: 30000,
errors: ['time']
})
.then(message => {
message = message.first()
if (message.content.toUpperCase() == 'YES' || message.content.toUpperCase() == 'Y') {
message.channel.send(`Deleted`)
} else if (message.content.toUpperCase() == 'NO' || message.content.toUpperCase() == 'N') {
message.channel.send(`Terminated`)
} else {
message.channel.send(`Terminated: Invalid Response`)
}
})
.catch(collected => {
message.channel.send('Timeout');
});
})