discord.js如何在3秒钟后删除带有Bot ID的机器人消息?

时间:2020-05-18 14:25:38

标签: discord.js

const prefixtest = ">>"

msg = message.content.toLowerCase();

    if(msg.startsWith(prefixtest + "test")) {
        message.delete();
        setTimeout(function() {
           if{message.channel.author.id == "240254129333731328"}{ //this is the bots id
        message.delete();
        }, 3000);
    }

对不起,如果我的英语不好。但是我无法解决这个问题,我正在尝试在互联网上找到它,但是什么也没有。如何通过其他机器人消息的Bot ID删除它们?

1 个答案:

答案 0 :(得分:1)

您的代码中有问题,您试图在Channel而不是Message上获得.author属性。

因此,您必须将if语句修改如下:

if (message.author.id === "240254129333731328")

此外,您可以通过向.delete()方法的第一个参数中添加一个具有.timeout属性的对象来延迟Message的删除,该对象将表示消息被发送之前的延迟(以毫秒为单位)已删除。 (See docs

message.delete({ timeout: 3000 });

因此您可以通过以下方式修改代码:

if(msg.startsWith(prefixtest + "test")) {
    if (message.author.id === "240254129333731328") {
        message.delete({ timeout: 3000 });
    }
}