简体   繁体   English

Discord.js - 如何编辑 message.embed() 语句?

[英]Discord.js - how do I edit message.embed() statements?

I am making a ping command - It is very simple to code, but I haven't got the slightest idea how to edit the embed I'm using.我正在执行 ping 命令 - 编码非常简单,但我对如何编辑我正在使用的嵌入一无所知。 Here is my code - I'm using a command handler explaining the exports.run statement.这是我的代码 - 我正在使用一个命令处理程序来解释exports.run 语句。

const Discord = require('discord.js')

exports.run = (bot, message, args) => {  
const pingUpdate = new Discord.MessageEmbed()
.setColor('#0099ff')
.setDescription('pinging...')
message.channel.send(pingUpdate);
}

exports.help = {
  name: 'ping'
}

I need to edit the ping update embed to make the .description edit to perform this (simple ping calculation)我需要编辑嵌入的 ping 更新以进行 .description 编辑以执行此操作(简单的 ping 计算)

message.channel.send('pinging...').then((m) => m.edit(`${m.createdTimestamp - message.createdTimestamp}ms`))

This would make the description change from 'pinging...' to ' exampleping ms'这将使描述从“ pinging ...”更改为“ exampleping ms”

Thank you in advance先感谢您

You going right way.你走对了。 But to .setDescription you need create new Embed constructor and add description.但是对于.setDescription您需要创建新的 Embed 构造函数并添加描述。

message.channel.send('pinging...').then(msg => {
    let embed = new Discord.MessageEmbed() //For discord v11 Change to new Discord.RichEmbed()
        .setDescription(`${msg.createdTimestamp - message.createdTimestamp}`)
    msg.edit(embed)
})

also, instead of doing msg.createTimeStamp - message.createdTimestamp you could also do bot.ping.toFixed(2)另外, msg.createTimeStamp - message.createdTimestampmsg.createTimeStamp - message.createdTimestamp你也可以做bot.ping.toFixed(2)

This should work (dont have time to test rn)这应该有效(没有时间测试 rn)

    const Embed = new Discord.MessageEmbed()
        .setDescription(":one:")

    const newEmbed = new Discord.MessageEmbed()
        .setDescription(":two:")

    // Edit Part Below
    var Msg = await message.channel.send(Embed); // sends message
    Msg.edit(newEmbed) // edits message with newembed

Edit: realized that im using a older version of discord.js updated to make it work with newer version编辑:意识到我使用旧版本的 discord.js 更新以使其与新版本一起使用

Solution seems outdated again, now you should edit embed in message using解决方案似乎又过时了,现在您应该使用

Message#edit({embeds:[MessageEmbed#]})消息#edit({embeds:[MessageEmbed#]})

For example:例如:

const oldEmbed = new MessageEmbed();
const messageHandle = await textChannel.send({embeds: [oldEmbed]});
const newEmbed = new MessageEmbed();
messageHandle.edit({embeds:[newEmbed]});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM