Discord.js 如何编辑以前的机器人消息?
Discord.js How can I edit previous bot's message?
所以我正在尝试执行 ROSTER 命令。命令是$roster add/remove @user RANK
。这个命令基本上应该编辑以前的机器人的消息(花名册)并将用户添加到花名册到命令中的 RANK ...这是我到目前为止的代码,但我还没有设法制作花名册消息和编辑部分它和RANK系统。如果有人能提供帮助那就太好了!
//ROOSTER COMMAND
client.on('message', async message => {
if (message.content.startsWith(prefix + "roster")) {
if (!message.member.hasPermission('ADMINISTRATOR')) return message.channel.send('You do not have that permission! :x:').then(message.react(':x:'))
const args = message.content.slice(prefix.length + 7).split(/ +/)
let uReply = args[0];
const user = message.mentions.members.first()
if(!uReply) message.channel.send("Please use `add` or `remove`.")
if(uReply === 'add') {
if(!user) return message.channel.send("Please make sure to provide which user you would like to add...")
message.channel.send(`you are adding **${user.displayName}** from the roster.`)
} else if(uReply === 'remove') {
if(!user) return message.channel.send("Please make sure to provide which user you would like to add...")
message.channel.send(`you are removing **${user.displayName}** from the roster.`)
}
}})
听起来 .edit()
方法就是您想要的。
来自 docs 的示例:
// Update the content of a message
message.edit('This is my new content!')
.then(msg => console.log(`Updated the content of a message to ${msg.content}`))
.catch(console.error);
要编辑您的机器人之前的消息,您需要有您要编辑的消息的参考。返回的引用是一个承诺,所以不要忘记使用 await 关键字。然后您可以在参考上使用 .edit()
函数来更新您的消息。
const msgRef = await msg.channel.send("Hello");
msgRef.edit("Bye");
所以我正在尝试执行 ROSTER 命令。命令是$roster add/remove @user RANK
。这个命令基本上应该编辑以前的机器人的消息(花名册)并将用户添加到花名册到命令中的 RANK ...这是我到目前为止的代码,但我还没有设法制作花名册消息和编辑部分它和RANK系统。如果有人能提供帮助那就太好了!
//ROOSTER COMMAND
client.on('message', async message => {
if (message.content.startsWith(prefix + "roster")) {
if (!message.member.hasPermission('ADMINISTRATOR')) return message.channel.send('You do not have that permission! :x:').then(message.react(':x:'))
const args = message.content.slice(prefix.length + 7).split(/ +/)
let uReply = args[0];
const user = message.mentions.members.first()
if(!uReply) message.channel.send("Please use `add` or `remove`.")
if(uReply === 'add') {
if(!user) return message.channel.send("Please make sure to provide which user you would like to add...")
message.channel.send(`you are adding **${user.displayName}** from the roster.`)
} else if(uReply === 'remove') {
if(!user) return message.channel.send("Please make sure to provide which user you would like to add...")
message.channel.send(`you are removing **${user.displayName}** from the roster.`)
}
}})
听起来 .edit()
方法就是您想要的。
来自 docs 的示例:
// Update the content of a message
message.edit('This is my new content!')
.then(msg => console.log(`Updated the content of a message to ${msg.content}`))
.catch(console.error);
要编辑您的机器人之前的消息,您需要有您要编辑的消息的参考。返回的引用是一个承诺,所以不要忘记使用 await 关键字。然后您可以在参考上使用 .edit()
函数来更新您的消息。
const msgRef = await msg.channel.send("Hello");
msgRef.edit("Bye");