簡體   English   中英

Discord.js - 如何編輯 message.embed() 語句?

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

我正在執行 ping 命令 - 編碼非常簡單,但我對如何編輯我正在使用的嵌入一無所知。 這是我的代碼 - 我正在使用一個命令處理程序來解釋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'
}

我需要編輯嵌入的 ping 更新以進行 .description 編輯以執行此操作(簡單的 ping 計算)

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

這將使描述從“ pinging ...”更改為“ exampleping ms”

先感謝您

你走對了。 但是對於.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)
})

另外, msg.createTimeStamp - message.createdTimestampmsg.createTimeStamp - message.createdTimestamp你也可以做bot.ping.toFixed(2)

這應該有效(沒有時間測試 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

編輯:意識到我使用舊版本的 discord.js 更新以使其與新版本一起使用

解決方案似乎又過時了,現在您應該使用

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

例如:

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