Discord.JS Ping 编辑命令

Posted

技术标签:

【中文标题】Discord.JS Ping 编辑命令【英文标题】:Discord.JS Ping Edit Command 【发布时间】:2020-04-29 02:39:37 【问题描述】:

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

【问题讨论】:

您好,欢迎来到 ***。请不要使用图片向我们展示您的代码。 *** 编辑器有很好的工具来显示你的代码,请使用它们:) send 返回一个promise,你需要要么使用.then回调,要么使用async/await语法 【参考方案1】:

你来了,芽:

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 方法,不仅如此,您还试图在创建时进行数学运算日期而不是根本不起作用的创建时间戳,您必须查看创建时间戳和编辑时间戳之间的时间。

【讨论】:

以上是关于Discord.JS Ping 编辑命令的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 discord.js 中发出 ping 命令? [复制]

Ping 为负值(Discord.js v13)

如何计算命令的使用次数 [discord.js]

如果有人 ping 一个处于 AFK 状态的成员,它会发送一条消息 | Discord.js / mongodb

discord.js 命令处理程序错误

Discord.js 命令处理对我不起作用