首页 > 解决方案 > 发送未定义,嵌入消息问题(编辑)

问题描述

`module.exports = {
    name: 'lat2',
    description: 'Let the Bot display latency/Response Time and API latency',
    execute(message, args) {
        const Embed1 = {
            color: "RANDOM",
            description: 'Pinging...',
        };

        const Embed2 = {
            color: "RANDOM",
            title: 'Latencies',
            description: `Latency/Response Time: ${send.createdTimestamp - message.createdTimestamp}ms\nAPI latency/"Remote Response time": ${Math.round(message.client.ws.ping)}ms`,
        };

        message.channel.send({ embed: Embed1 }).then(send => {
            send.edit({ embed: Embed2 });
        })
    }
};`

那么我可以嵌入整个事情吗?因为......send is not defined这东西在非嵌入版本中运行良好。

标签: javascriptbotsembeddiscord.jsmessage

解决方案


Discord 嵌入消息的构造方式不同。send()不是一个对象,它是一个函数,你必须使用msg.edit. 你应该自己做颜色。

`module.exports = {
  name: 'lat2',
  description: 'Let the Bot display latency/Response Time and API latency',
  execute(message, args) {
    let Embed1 = new Discord.MessageEmbed()
      .setColor("#"+String(Math.floor(Math.random()*16777215).toString(16)))
      .setDescription("Pinging...")

    let Embed2 = new Discord.MessageEmbed()
      .setColor("#"+String(Math.floor(Math.random()*16777215).toString(16)))
      .setTitle("Latencies")
      .setDescription(`Latency/Response Time: ${send.createdTimestamp - message.createdTimestamp}ms\nAPI latency/"Remote Response time": ${Math.round(message.client.ws.ping)}ms`)

    msg.channel.send(Embed1).then(msg => {
      msg.edit(Embed2);
    });
  }
};`

推荐阅读