2017-10-24 3 views
0

Ich versuche, einen Discord-Bot zu veranlassen, seine "Systemmeldungen" nach sagen wir 10 Sekunden zu löschen, weil ich viele "Ungültige Befehls" -Fehler gesehen habe und "Erledigt!" Benachrichtigungen, und ich möchte sie für tatsächliche Nachrichten löschen. Dies unterscheidet sich von dem Löschen von Nachrichten, bei denen der Benutzer einen Befehl hat; Ich habe diese Fähigkeit bereits.Discord.js: Nachricht senden und kurz löschen

+0

Wo ist Ihr Code? Was hast du bisher versucht? –

+0

Der Bot verwendet '' message.channel.send (text) '' für alle gesendeten Nachrichten. Ich weiß nicht, wo ich anfangen soll. –

+1

@HarutheBishie Hat die Antwort von LW001 unten für Sie funktioniert? Wenn ja, bitte als korrekt markieren. Wenn nicht, erkläre bitte, was du sonst noch suchst. –

Antwort

4

Ich empfehle Ihnen, senden Sie die Nachricht, warten Sie auf die Antwort und löschen Sie die zurückgegebene Nachricht nach dieser Zeit. Hier ist, wie es funktionieren würde:

message.reply('Invalid command') 
    .then(msg => { 
    msg.delete(10000) 
    }) 
    .catch(/*Your Error handling if the Message isn't returned, sent, etc.*/); 

Wie Sie aus the Docs lesen können, können Sie nur einen Wert in Millisekunden zu Message.delete() als Timeout übergeben.