首页 > 解决方案 > Discord.JS Ping 编辑命令

问题描述

好吧,基本上,我正在尝试在作者发送 !ping 的位置发出命令,机器人用 Pinging 响应,然后将其编辑为 Pong 转到下一行,然后说明响应需要多少毫秒。现在的问题是,当我 const 将要发送的消息并对其进行编辑时,当我将 await 添加到 const 时,它说编辑该变量不是一个函数,它说仅适用于 async代码图片

标签: discord.js

解决方案


给你芽:

client.on('messageUpdate', (oldMessage, newMessage) => {

    if (oldMessage.content === 'Pinging...') {

        var oldMessageTimestamp = oldMessage.createdTimestamp;
        var newMessageTimestamp = newMessage.editedTimestamp;

        newMessage.edit(`Pong!\nPonged back the ping in ${Math.floor(newMessageTimestamp - oldMessageTimestamp)} milliseconds!`);
    }
});

client.on('message', message => {

    if (message.content === `${prefix}` + `ping`) {

        message.channel.send('Pinging...').then(message => {

            message.edit('Pong!\nPonged back the ping in milliseconds!');
        })
    }
});

我相信您的错误在于几件事,一是您试图编辑一个常量变量,二是您试图对变量使用 .edit 方法,不仅如此,您还试图对创建日期进行数学运算,而不是创建时间戳根本不起作用,您必须查看创建时间戳和编辑时间戳之间的时间。


推荐阅读