2017-10-04 3 views
1

fangen, also versuche ich UnhandledPromiseRejectionWarning in meinem Versprechen zu fangen, aber aus irgendeinem Grund funktioniert es nicht. Es ignoriert meinen Code und gibt den Fehler nur an die Konsole aus.Kann UnhandledPromiseRejectionWarning nicht in Versprechen

Fehler:

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Forbidden (Cannot send messages to this user)

Code:

e.message.author.openDM().then((message) => { 
    message.sendMessage(`test`); 
}).catch((error) => { 
    e.message.channel.sendMessage(error + "test"); 
}); 

Dies ist eine Disharmonie bot, discordie verwenden. Meiner Meinung nach sollte der obige Code das Wort "Test" an einen Nachrichtenautor über private Nachricht senden, wenn der Bot nicht kann, wird es den Fehler und das Wort Test in dem Kanal senden, in dem sie ihre Nachricht gesendet haben der zweite Teil (innerhalb des Fangs) wird nicht ausgeführt.
tl; dr, Der Haken in dem obigen Code funktioniert nicht und ich bekomme den obigen Fehler in der Konsole statt, wenn der Bot keine Erlaubnis hat, den Benutzer zu dm.

Antwort

3

Sie sind vergessen return Anweisung innerhalb then Funktion. Ich nehme an message.sendMessage('test') gibt Versprechen

zurück
e.message.author.openDM().then((message) => { 
    return message.sendMessage(`test`); 
}).catch((error) => { 
    e.message.channel.sendMessage(error + "test"); 
}); 
Verwandte Themen